Page 1 sur 1

Problème avec un header

Posté : 20 janv. 2006, 10:02
par bravegars
Bonjour,

J'arrive pas à faire s'exécuter un header derriere une requête SQL. Un petit coup de main serait pas de refus. Voila le code :

Code : Tout sélectionner

if($_POST[submit]==true){ $requete1 = "UPDATE matable SET business=\"".$argent."\" WHERE entreprise=\"".$boite."\""; mysql_query ($requete1) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); header ("location: ../compte_rendu.php?id=session"; exit(); } else if(... } else if(... } etc...
J'aurais voulu qu'après la première condition, si celle ci est vrai que le header renvoi vers la page compte_rendu, mais ça marche pas le script continue de vérifier les autres conditions. :(

Posté : 20 janv. 2006, 10:25
par charabia
Fautes à première vue :

Code : Tout sélectionner

header ("location: ../compte_rendu.php?id=session";
à remplacer par

Code : Tout sélectionner

header ("location: ../compte_rendu.php?id=session");
et les else if (javascript) par elseif (php).

Posté : 20 janv. 2006, 10:37
par bravegars
J'ai corrigé les else if, pour la parenthese j'avais oublié de la taper en recopiant le code ici. Mais tout ça ne change rien a mon probleme de header.

Code : Tout sélectionner

if($_POST[submit]==true){ $requete1 = "UPDATE matable SET business=\"".$argent."\" WHERE entreprise=\"".$boite."\""; mysql_query ($requete1) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); header ("location: ../compte_rendu.php?id=session"); exit(); } elseif(... } elseif(... } etc...

Posté : 20 janv. 2006, 10:56
par charabia
Est-ce que après ta condition il exécute bien la requête : $requete1 ?

Posté : 20 janv. 2006, 11:13
par bravegars
Oui s'il ne rencontre pas d'erreur dans les autres champs du formulaire, et non s'il rencontre par exemple 2 champs avec la meme valeur.

Excusez-moi j'ai oublié de préciser qu'il s'agit d'un formulaire avec plusieurs boutons submit. Avant ces conditions j'ai des conditions pour vérifier si deux champs contiennent la meme valeur. Et forcément si c'est le cas, ça affiche une page d'erreur avant que les conditions $_POST s'exécutent. Ce qui explique pourquoi le header ne marche pas.

Désolé je débute, et je viens seulement de m'en rendre compte. Comment je pourrais faire pour corriger ce petit souci ? Placer les conditions de comparaison de champ a la fin de mon script peut-être ?
Merci pour votre aide.

Code : Tout sélectionner

if($argent==$argent2){ header ("location: ../erreur.php?id=session"); exit(); } etc... if($_POST[submit]==true){ $requete1 = "UPDATE matable SET business=\"".$argent."\" WHERE entreprise=\"".$boite."\""; mysql_query ($requete1) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); header ("location: ../compte_rendu.php?id=session"); exit(); } if($_POST[submit2]==true){ $requete2 = "UPDATE matable2 SET business2=\"".$argent2."\" WHERE entreprise2=\"".$boite2."\""; mysql_query ($requete2) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error()); header ("location: ../compte_rendu.php?id=session"); exit(); } elseif(... } etc... // avec a la fin un header identique header ("location: ../compte_rendu.php?id=session"); exit();

Posté : 20 janv. 2006, 13:19
par Stratus
Il ne faut pas de echo avant un header