un probleme pour materialiser un script

pascal 75000
Invité n'ayant pas de compte PHPfrance

21 nov. 2005, 18:19

bonjour,

j'ai besoin d'une aide.

a partir d'un post 'login' je voudrais dans une nouvelle page.

ouvrir ma base sql composé du ' login' et des 'points'
regarder si le login est existant -
si oui rajouter 500 points
si nouveau rajoute a ma base le 'login' et '0' dans les points.
fermer base

j'ai essayé pleins de script et tjrs avec des erreurs.
donc je demande de l'aide pour un script de base de 4 lignes.

merci

Mammouth du PHP | 768 Messages

21 nov. 2005, 18:42

j'ai essayé pleins de script et tjrs avec des erreurs.
donc je demande de l'aide pour un script de base de 4 lignes.
merci
Qu'est ce qui te pose problème ? Peux tu nous donner une portion de ton code (pas trop longue non plus :lol: ) et le message d'erreur ?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphanteau du PHP | 17 Messages

21 nov. 2005, 20:44

voila mon code
  extract($_POST); 
 
 $db=mysql_connect("xxx","xxxxx","xxxxxx") or die('Erreur de connexion '.mysql_error()); 
 mysql_select_db('xxxx',$db)  or die('Erreur de selection '.mysql_error());  
  
  $sql = "SELECT points FROM test WHERE login = '".addslashes($login)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);
    points=points+500;
 {
    }
  }


// sélection de la base  
    mysql_select_db('xxxxx',$db); 

    $sql = "INSERT INTO test (login, points ) VALUES ('$login','$points')"; 
    // on insère les informations du formulaire dans la table 
   mysql_query($sql); 
    mysql_close();  // on ferme la connexion 

Eléphanteau du PHP | 17 Messages

22 nov. 2005, 00:08

qlq peut me dire la provenance de mon erreur.


merci d'avance.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 nov. 2005, 00:26

Salut, le probleme vient surtout de la:
 points=points+500; 
c'est une mauvaise opération, manque "$" et pour la lecture des donnes de la requete $data['login']

Voila une proposition:
$login=addslashes($_POST['login']);

$db=mysql_connect("xxx","xxxxx","xxxxxx") or die('Erreur de connexion '.mysql_error());
mysql_select_db('xxxx',$db)  or die('Erreur de selection '.mysql_error());  
  
  $sql = "UPDATE test set points=points+500 WHERE login = '".$login."'"; //essai de mettre a jour les données avec le login donné
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
  
  if(mysql_affected_rows() == 0) // retourne le nombre de lignes modifiées par la dernière requete
  {
		// si pas eu de mise a jour (donc pas de membre avec le psudo donné) création d'une nouvelle entrée
		$sql = "INSERT INTO test (login, points ) VALUES ('".$login."', 0)";
		// on insère les informations du formulaire dans la table
		mysql_query($sql);
  }
  
mysql_close();  // on ferme la connexion

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

22 nov. 2005, 12:47

bonjour,

j'ai besoin d'une aide.

a partir d'un post 'login' je voudrais dans une nouvelle page.

ouvrir ma base sql composé du ' login' et des 'points'
regarder si le login est existant -
si oui rajouter 500 points
si nouveau rajoute a ma base le 'login' et '0' dans les points.
fermer base

j'ai essayé pleins de script et tjrs avec des erreurs.
donc je demande de l'aide pour un script de base de 4 lignes.

merci