Nuclear

Inscris le 22/08/2009 à 16:49
  • Nombre de sujets
    1
  • Nombre de messages
    4
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
Nuclear
le 22/08/2009 à 16:53
Mysqli ?
Bonjour,

Je suis avec attention la plupart des comment faire, et je félicite les rédacteurs pour la clarté du code et des explications. Tout fonctionne parfaitement.

J'ai néanmoins besoin de faire fonctionner un script basé sur votre système d'espace membre mais la base de données en en mysqli, alors évidemment, cela ne fonctionne pas...

Qu'est-il possible de faire, j'ai tenté de remplacer tout simplement les mysql par des mysqli mais je tombe toujours sur une erreur SQL.

Les comment-faire vont-ils bientôt être ré-écrit pour du mysqli ?

Merci de votre aide,
Nuclear

Ses derniers messages sur les forums

forum
Nuclear
le 22/08/2009 à 22:46
Mysqli ?
Arf. Oki, merci de ta réponse.
Je vais donc revoir le script pour qu'il puisse passer en mysqli.

Pensez-vous modifier les "comment faire" afin qu'ils soient compatibles avec mysqli ?
Nuclear
le 22/08/2009 à 19:46
Mysqli ?
Ben, le code est tout simplement le votre avec des "i" :
1. <?php
2. // on teste si le visiteur a soumis le formulaire
3. if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
4. // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
5. if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
6. // on teste les deux mots de passe
7. if ($_POST['pass'] != $_POST['pass_confirm']) {
8. $erreur = 'Les 2 mots de passe sont différents.';
9. }
10. else {
11. $base = mysqli_connect ('serveur', 'login', 'password');
12. mysqli_select_db ('nom_base', $base);
13.
14. // on recherche si ce login est déjà utilisé par un autre membre
15. $sql = 'SELECT count(*) FROM membre WHERE login="'.mysqli_escape_string($_POST['login']).'"';
16. $req = mysqli_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error());
17. $data = mysqli_fetch_array($req);
18.
19. if ($data[0] == 0) {
20. $sql = 'INSERT INTO membre VALUES("", "'.mysqli_escape_string($_POST['login']).'", "'.md5(mysqli_escape_string($_POST['pass'])).'")';
21. mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_error());
22.
23. session_start();
24. $_SESSION['login'] = $_POST['login'];
25. header('Location: membre.php');
26. exit();
27. }
28. else {
29. $erreur = 'Un membre possède déjà ce login.';
30. }
31. }
32. }
33. else {
34. $erreur = 'Au moins un des champs est vide.';
35. }
36. }
37. ?>
38. <html>
39. <head>
40. <title>Inscription</title>
41. </head>
42.
43. <body>
44. Inscription à l'espace membre :<br />
45. <form action="inscription.php" method="post">
46. Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
47. Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
48. Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
49. <input type="submit" name="inscription" value="Inscription">
50. </form>
51. <?php
52. if (isset($erreur)) echo '<br />',$erreur;
53. ?>
54. </body>
55. </html>
Nuclear
le 22/08/2009 à 17:23
Mysqli ?
Oui, c'est juste une extension de php.

L'erreur obtenue est :
Erreur SQL !
SELECT count(*) FROM membre WHERE login="'

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours