par
macgawel » 14 avr. 2010, 13:31
(Je ne réponds qu'ici, mais c'est valable pour ton autre problème...)
RTFM 
(l'exemple 2 explique bien le problème).
Pour récupérer les variables envoyées par POST (ou GET), on devrait utiliser
echo $_POST['toto'];.
Si
register_globals est à ON, on peut se contenter de faire
echo $toto;.
Depuis la version 4.2,
register_globals est par défaut à OFF.
Sachant que comme on trouve pas mal de "vieux" scripts qui utilisent ce système, les hébergeurs ont souvent forcé
register_globals à ON pour les versions 4.x et sont passés à OFF avec la version PHP 5.x
Pour le principe : tu peux commencer par afficher la requête avant de la passer, histoire de voir. Ou rajouter un 'or die' à tes fonctions mysql - juste le temps du débogage -
$result1=mysql_query($sql1) or die("Erreur avec la requête $sql1 :<br />".mysql_error () )
La solution est bien d'affecter tes variables en début de script.
En sachant qu'il faudrait commencer par tester si $_POST['nbrpers'] est bien renseigné, et si possible vérifier que la variable passée correspond à ce qu'on attend (pour 'nbrpers', un tableau de nombres)
if (!empty($_POST['nbrpers'])) {
$nbrpers = $_POST['nbrpers'];
}
Et tant qu'à faire profites-en pour sécuriser ce que tu reçois... Un petit tour sur Google devrait te donner pas mal de liens, le minimum pour les passer à MySQL étant l'utilisation de
mysql_real_escape_string.