Page 1 sur 1

Script PHP/Correction

Posté : 08 juin 2005, 15:04
par harry67
Bonjour, se suis débutant en PHP et je ne suis pas sûr que ce script puisse fonctionner. Quelqu'un pourrait-il me corriger mes erreurs?
Merci.
<?php
/* Effectue la transaction*/
$host="********";
$user="**********";
$mpasse="**********";
$database="*********";

$connexion = mysql_connect($host, $user, $mpasse) 
or die ("Connexion à la base impossible"); 

$db = mysql_select_db($database) 
or die("Sélection de la base impossible");
$nomobjet = "baguette"
$prixobjet="45";
$sql = "SELECT login FROM membres 
           WHERE login='$_SESSION['login']'
$result = mysql_query($sql)
           or die ("Exécution de la requête impossible");
$ligne = mysql_fetch_array($result, MYSQL_ASSOC);
$total = $prixobjet - $ligne['argent'];
$sac = $nomobjet.$ligne['sac'];
if ($prixobjet > $ligne['argent'] )
{ header(Location:error_15.php)
}
else
{ UPDATE membres
SET argent = '$total' [, sac = '$sac']
WHERE login='$_SESSION['login']';
}
mysql_close($connexion);
?>

Posté : 08 juin 2005, 15:57
par hebus
Il te manque un " à la fin de ta chaine de requête :
<?php
/* Effectue la transaction*/
$host="********";
$user="**********";
$mpasse="**********";
$database="*********";

$connexion = mysql_connect($host, $user, $mpasse)
or die ("Connexion à la base impossible");

$db = mysql_select_db($database)
or die("Sélection de la base impossible");
$nomobjet = "baguette";
$prixobjet="45";
$sql = "SELECT login FROM membres
           WHERE login='".$_SESSION['login']."'" ;
$result = mysql_query($sql)
           or die ("Exécution de la requête impossible");
$ligne = mysql_fetch_array($result, MYSQL_ASSOC);
$total = $prixobjet - $ligne['argent'];
$sac = $nomobjet.$ligne['sac'];
if ($prixobjet > $ligne['argent'] )
{ 
header('Location:error_15.php');
}
else
{ 
$sql = "UPDATE membres
SET argent = '$total' , sac = '$sac'
WHERE login='".$_SESSION['login']."'";
$result = mysql_query($sql)
           or die ("Exécution de la requête impossible");
}
mysql_close($connexion);
?>
Sans compter sur une mauvaise concaténation et pas mal de point-virgule absents.
La dernière structure ELSE par contre je te laisse seul juge.

vérif PHP

Posté : 08 juin 2005, 15:59
par harry67
Désolé mais je ne vois pas pourquoi ma concaténation n'est pas correcte.
J'admet par contre que je me suis trompé dans la syntaxe de mon ELSE.

Posté : 08 juin 2005, 16:08
par hebus
Dans cette chaine de caractère :
"SELECT login FROM membres WHERE login='$_SESSION['login']'" ;
On voit bien que les quote autour de $_SESSION['login'] interfèrent avec celles qui entoures l'indice du tableau $_SESSION.
De cette façon ce n'est plus le cas :
"SELECT login FROM membres WHERE login='" . $_SESSION['login'] . "'" ;
Tu comprends mieux ?

Script PHP/Correction

Posté : 08 juin 2005, 16:11
par harry67
Oui! Merci beaucoup!
:)