le 24/06/2012 à 21:59
leboti
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 :
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
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 :
<?php
session_start();
$points = 10; // NOMBRE DE POINT(S) AJOUTE(S)
$host = "localhost"; // HOTE SQL
$user = "MYLOGIN"; // NOM D'UTILISATEUR DE LA DB
$pass = "MYMDP"; // MOT DE PASSE
$db = "auth"; // NOM DE LA DB
$dbsite = "site"; //Nom de la db site
$name = "Don de point"; // NOM DE LA PAGE
?>
<title><?php echo $name; ?></title>
<form action="" method="POST">
<h3>Nom de compte :</h3><input type="text" name="username"/> <input type="submit" value="Continuer" name="submit" />
</form>
<?php
if (isset($_POST['submit']))
{
$username = mysql_real_escape_string(trim($_POST['username']));
if ($username == "")
{
echo "Veuillez saisir votre nom de compte.";
}
else
{
$cnx = mysql_connect($host, $user, $pass) OR DIE (mysql_error()); // Je me connecte à ma DB
mysql_select_db($db) OR DIE (mysql_error()); // Je selectionne ma db
$requete = "SELECT count(*) as nb FROM account WHERE username = '$username'"; // Je creer ma requete pour verifier si l'user existe
$req_exec = mysql_query($requete, $cnx); // Je l'execute
$resultat = mysql_fetch_assoc($req_exec); // Je recupere la reponse
if ($resultat['nb'] == 0)
{
echo "Ce compte n'existe pas."; // Si c'est faux, on affiche ca
}
else // Sinon on continue
{
$sql = "SELECT id FROM account WHERE username='$username'"; // Je creer ma requete pour allez chercher l'id du compte de username
$req = mysql_query($sql, $cnx) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
$id = mysql_fetch_array ($req); // je récupère le résultat
mysql_select_db($dbsite) OR DIE (mysql_error()); // je change de db
$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
$reqdp = mysql_query($nbrdp, $cnx) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
$dp = mysql_fetch_array ($reqdp); // je recupere le resultat
$newdp = $dp+$points; // je calcule le nouveau nombre de DP
$sqlupdate = "UPDATE account_data SET dp ='$newdp' WHERE id='$id'"; // je creer ma requete pour modifier la valeur de dp du compte username
mysql_query($sqlupdate) OR DIE ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // j'execute
mysql_close (); // je ferme ma connexion
echo htmlentities($points." point(s) ajouté(s) sur le compte : ".$username); // j'affiche que les points ont été ajouté
}
}
}
?>
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