Problème avec un header

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un header

par Stratus » 20 janv. 2006, 13:19

Il ne faut pas de echo avant un header

par bravegars » 20 janv. 2006, 11:13

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();

par charabia » 20 janv. 2006, 10:56

Est-ce que après ta condition il exécute bien la requête : $requete1 ?

par bravegars » 20 janv. 2006, 10:37

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...

par charabia » 20 janv. 2006, 10:25

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).

Problème avec un header

par bravegars » 20 janv. 2006, 10:02

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. :(