Header ( Location:erreur.php ) avec paramètre

Fred -  
 Nadiq -
est-ce possible de passer un paramètre lors de l'envoi de la commande header("Location:erreur.php" );

ainsi, je passe mon message d'erreur sur une page formatée.

Merci d'avance

Fred
A voir également:

12 réponses

croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
Tu as imaginé une solution : l'as-tu essayée avant de poser ta question ?

La mise au point d'un scipt nécessite de faire un essai, d'analyser l'éventuelle erreur, de faire un nouvel essai....

Chaque essai étant imaginé à partir d'une bonne connaissance du langage de développement (ici php).

Un des contributeurs à ce forum ajoute à sa signature la maxime suivante :
La plus grosse erreur est de craindre de faire une errur.

Applique cette maxime et fait sans crainte des essais intelligemment conçus et tu constateras que tu mettre au point plus vite tes scripts.

Bon courage, c'est en forgeant qu'on devient forgeron.
7
fridaoumpapa
 
Ah ! Les donneurs de leçons d'internet, les petits fonctionnaires zélés du web ... que ferions nous sans eux ... ^^.
0
croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
Bonjour,

Normal que ni l'un ni l'autre ne marche.
Esqsaye donc :
1. header( 'Location: member_mdp_envoye.php?mail=' . $mail);
2. header( "Location: member_mdp_envoye.php?mail=" . $mail);
3. ou bien header("Location: member_mdp_envoye.php?mail=$mail");

Le 1. demande à php de faire les opérations suivantes :
a-concaténer (= mettre bout-à-bout) ce qui est entre les guillemets simples avec le contenu de la variable $mail
b-passer la chaîne ainsi obtenue à la fonction header
Le 2. demande la même chose (guillemets simples remplacés par guillemets doubles)
Le 3. utilise une facilité offerte par PHP qui consiste à remplacer un nom de variable par son contenu lorsque ce nom de variable est trouvé entre des guillemets doubles (mais pas des guillemets simples !).

Personnellement, je me suis fixé la règle de ne pas utiliser cette "facilité" qui nuit à la clarté des scripts php et donc à leur maintenance.

Bon courage
7
Nadiq
 
Merci
0
Barracuda8 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   65
 
Salut,

C'est possible, il suffit de rajouter un parametre à l'url.

$monErreur='marchePas'; //par exemple
Ex: header ( Location:erreur.php?erreur=$monErreur);

Maintenant dans ta page erreur.php tu récupère ton paramètre via
if(isset($_GET["erreur"]))
{
$erreur = $_GET["erreur"];
}

Ensuite il te suffit de renvoyer un echo de ton erreur en fonction de celle ci:
if($erreur=="marchePas")
{
echo "Ca ne marche pas...";
}
else{...}

En espérant t'avoir aidé un peu...
A+
4
Fred
 
J'ai modifié, fait des tests............. Et çà marche du feu de dieu...

Merci
0
Aurél_ien
 
Une petite question, je suis débitant en php et je vient de tomber sur ta réponse. le second if tu le place dans le premier if ou après le premier else ?
0
bibi675 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   20
 
$mail="toto";
header('Location: member_mdp_envoye.php?mail='.$mail); 

;-)
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bafra Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
c'est bizarre moi je fais ça mais il considére que la variable passé dans le header n'es pas une variable mais un nom fixe

mon ex :
$mail="toto"
header('Location: member_mdp_envoye.php?mail=$mail');

et bien quand je recupere la variable en get il me met $mail au lieu de toto

et la page s'affiche dans la barre des titres :.../member_mdp_envoye.php?&mail=$email

au lieu d'avoir ./member_mdp_envoye.php?&mail=toto

quelqu'un à-t-il une solution ?
0
bafra Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
tu veux dire

$mail="toto";
header('Location: member_mdp_envoye.php?mail=.$mail');

je suppose que tu avais mal plaçé la cote mais n i l'un ni l'autre ne marche ???
0
bibi675 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   20
 
Mon code est bon et je ne me suis pas trompé. Si ça marche ben je vois pas d'ou ça peut venir.
0
croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
Ton code indiqué dans ton message de15h37 :
$mail="toto";
header('Location: member_mdp_envoye.php?mail=.$mail');

n'est pas bon.

Fais-moi confiance, réfléchis et non seulement tu trouveras mais en plus tu acquieras un peu du savoir indispensable pour mettre au point un script.

Bon courage mais crois moi ça vaut le coup.
0
bafra Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
super merci les gars ça marche nickel

et pour la solution 1 vous avez tous les 2 raisons (j'avais du faire une fausse manip)
0
bafra Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
par contre j'ai encore une question : comment code-t-on le passage d'une 2ème variable avec la solution 1, donc sans uitiliser la solution 3 de facilité qui elle marche : header("Location: member_mdp_envoye.php?mail=$maili&nom=$nom");
0
bibi675 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   20
 
$nom = "toto";
$mail = "titi@toto.fr";
header("Location: member_mdp_envoye.php?mail=".$mail."&nom=".$nom);
0
bibi675 Messages postés 387 Date d'inscription   Statut Membre Dernière intervention   20
 
Ouaip, et je confirme. En PHP, je me défend (j'ai des bonnes bases quoi) et j'ai toujours fait comme ça. ;-)
0