Bonjour le forum,

Juste une petite aide, je ne comprends pas pourquoi ce code ne fonctionne qu'a moitié :


<?PHP

$server = "";
$user = "";
$password = "";
$base = "";
$table = $_GET['table'];
mysql_connect($server,$user,$password);
mysql_select_db($base);

$leg=substr($stade,0,1);

$result=mysql_query("SELECT * FROM $table WHERE mail='$mail'") or die(mysql_error());
$nbre_rangs=mysql_num_rows($result);
if ($nbre_rangs == 1)
{
$modif=mysql_query("UPDATE $table SET stade='$stade', legende='$leg', reponse='$reponse', motif='$motif' WHERE nom='$nom'") or die(mysql_error()); if (!$modif)
{ return(FALSE); }
}
else
{
$odif=mysql_query("INSERT INTO $table VALUES ('$stade','$leg','$reponse','$motif')") or die(mysql_error());
if (!$modif)
{ return(FALSE); }
}
echo "$leg";
?>
Ce code (valide.php) fait suite a un fomulaire qui renvoie les infos dans ma BDD via action="valide.php".

JE comprends pas pourquoi il faut que j'appel deux fois le code (valide.php) pour que cela fonctionne, c'est comme si l'insert ne fonctionnait pas et que l'update seul fonctionnait.

J'en deduit ca car en fait l'insert fonctionnerai qu'a moitié, et il faut un update derriere pour que la BDD soit completement remplie .

Je me suis dis que cela pouvait venir eventuellement de la variable ;
$leg=substr($stade,0,1);

qui était peut etre mal placée.........peut etre trop top dans le code.

Je précise également que si j'enleve la variable $leg=substr($stade,0,1);
et que je mette directement legende='substr($stade,0,1)', cela ne fonctionne pas.....


MErci pour votre aide, j'ai du mal a comprendre.

Bonne journée