Erreur de script introuvable !

Répondre
leboti
leboti
Déconnecté
Bonjour !
Je me permet de vous demander votre aide car je suis sur un script php qui bug depuis 5h, et je n'arrive pas à trouver mon erreur..

Le voici :

  1.  
  2. <?php
  3. session_start();  
  4.  
  5. $points = 10; // NOMBRE DE POINT(S) AJOUTE(S)
  6. $host = "localhost"; // HOTE SQL
  7. $user = "MYLOGIN"; // NOM D'UTILISATEUR DE LA DB
  8. $pass = "MYMDP"; // MOT DE PASSE
  9. $db = "auth"; // NOM DE LA DB
  10. $dbsite = "site"; //Nom de la db site
  11. $name = "Don de point"; // NOM DE LA PAGE
  12.  
  13. ?>
  14.  
  15. <title><?php echo $name; ?></title>
  16. <form action="" method="POST">
  17. <h3>Nom de compte :</h3><input type="text" name="username"/> <input type="submit" value="Continuer" name="submit" />
  18. </form>
  19.  
  20. <?php
  21.  
  22. if (isset($_POST['submit']))  
  23. {  
  24. $username = mysql_real_escape_string(trim($_POST['username']));  
  25. if ($username == "")  
  26. {  
  27. echo "Veuillez saisir votre nom de compte.";  
  28. }  
  29. else  
  30. {  
  31. $cnx = mysql_connect($host, $user, $pass) OR DIE (mysql_error()); // Je me connecte à ma DB
  32. mysql_select_db($db) OR DIE (mysql_error()); // Je selectionne ma db
  33.  
  34. $requete = "SELECT count(*) as nb FROM account WHERE username = '$username'"; // Je creer ma requete pour verifier si l'user existe
  35. $req_exec = mysql_query($requete, $cnx); // Je l'execute
  36. $resultat = mysql_fetch_assoc($req_exec); // Je recupere la reponse
  37. if ($resultat['nb'] == 0)  
  38. {  
  39. echo "Ce compte n'existe pas."; // Si c'est faux, on affiche ca
  40. }  
  41. else // Sinon on continue
  42. {  
  43. $sql = "SELECT id FROM account WHERE username='$username'"; // Je creer ma requete pour allez chercher l'id du compte de username
  44. $req = mysql_query($sql, $cnx) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
  45. $id = mysql_fetch_array ($req); // je récupère le résultat
  46.  
  47. mysql_select_db($dbsite) OR DIE (mysql_error()); // je change de db
  48.  
  49. $nbrdp = "SELECT dp FROM account_data WHERE id='$id'"; // je creer ma requete pour allez chercher le nombre de db que le comptre username a
  50. $reqdp = mysql_query($nbrdp, $cnx) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
  51. $dp = mysql_fetch_array ($reqdp); // je recupere le resultat
  52. $newdp = $dp+$points; // je calcule le nouveau nombre de DP
  53.  
  54. $sqlupdate = "UPDATE account_data SET dp ='$newdp' WHERE id='$id'"; // je creer ma requete pour modifier la valeur de dp du compte username
  55. mysql_query($sqlupdate) OR DIE ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
  56.  
  57. mysql_close (); // je ferme ma connexion
  58.  
  59. echo htmlentities($points." point(s) ajouté(s) sur le compte : ".$username); // j'affiche que les points ont été ajouté
  60. }  
  61. }  
  62. }  
  63. ?>
  64.  



Alors deux choses :

- Tout ce passe bien, je remplis le nom du compte, il exécute jusqu'à la fin, m'annonce l'ajout des points, mais aucun point n'est ajouter dans la DB.

- Deuxieme chose, il affiche le message de réussite alors que les points ne se sont pas rajouter, comment faire pour modifier ça ?


je suis débutant, je connais les bases, et j'apprend en essayant, et en recherchant.. D'habitude je trouve, mais la j'ai beau essayer différente méthodes d'approche, ca ne marche tjrs pas...

Un conseil à m'apporter ?

Merci
anasha
anasha
Déconnecté
Anasha [php-kiche-nomore]
Bonjour leboti,

Lorsque que tu crées la nouvelle valeur des points (ligne 52) :

  1. <?php
  2.  
  3. $newdp = $dp+$points;  
  4.  
  5. ?> 


Tu utilise la variable $dp, qui n'est pas un entier, mais un tableau.
En effet, cette variable est le résultat de mysql_fetch_array($reqdp).
Creuse par là.

Pour éviter ce genre de souci, je t'invite à utiliser une norme pour nommer tes variables :

  1. <?php
  2.  
  3. $aVariable; // pour les array
  4. $iVariable; // pour les integer
  5. $sVariable; // pour les string
  6. $oVariable; // pour les objets
  7. $bVariable; // pour les booleen
  8.  
  9. ?> 


Tu y verras plus clair dès la lecture de ton code.

Dis-moi si ça t'aide :-)
Répondre
Accès rapide :

Remonter Remonter
Jamma Play - L'éditeur javascript - CSS - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique