Impossible de rediriger une page

Résolu
frazeks1989
Messages postés
10
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
15 mars 2011
- 5 juin 2009 à 20:28
frazeks1989
Messages postés
10
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
15 mars 2011
- 5 juin 2009 à 21:15
Bonjour,

J'ai un problème avec une fonction mail qui est censsé rediriger simplement vers une page(error_mail.html) au cas que tous les champs n'ont pas été remplis, et vers une page (success.html) au cas ou le mail à été envoyer avec succès.

Mon problème est tel que n'importe ce qui se passe, la redirection se fait sur error_mail.html

Je ne trouve pas mon erreur, j'ai lu et rélu ce petit bout de code tellement de foit.

SVP aider moi

Voici le lien du site en question, vous pouvez tester tandoori.lu

Voici le code source du fichier send1.php
<hr size="2" width="100%" /><?php
$sendTo = 'xxx@xxx.xx' . ', ';

$subject = "Reservation" ;

$name= $_POST['nom'];
$adress = $_POST['mail'];
$tel = $_POST['mobile'];
$date = $_POST['date'];
$hour = $_POST['hour'];
$number = $_POST['number'];
$message = $_POST['message'];
$success = header('Refresh:1;url=success.html');
$redirect_error = header('Refresh:0;url=error_mail.html');

$headers = "From: " . $_POST['nom'];
$headers .=  "<" . $_POST['mail'] . ">\r\n";
$headers .= "Reply-To: " . $_POST['mail'] . "\r\n";
$headers .=  "Return-Path: " . $_POST['mail'];

$message = 'Reservation from website'."\r\n\r\n";
$message .= '**************************************'."\r\n";
$message .= 'Name :'."";
$message .= $name."\r\n";
$message .= 'Tel :'."";
$message .= $_POST['mobile']."\r\n";
$message .= '**************************************'."\r\n";
$message .= 'Date :'."";
$message .= $date."\r\n";
$message .= 'Hour :'."";
$message .= $hour."\r\n";
$message .= 'Number of persons :'."";
$message .= $number."\r\n";
$message .= '**************************************'."";
$message .= '**************************************'."\r\n\n";
$message .= 'Special notes :'."";
$message .= $_POST['message']."\r\n";
if($name '' or $adress '' or $date == '' or $hour == '' or $number == '') {print "ERROR - PLEASE WAIT".$redirect_error;}
else {
    $mail_sent = @mail($sendTo, $subject, $message, $headers);
    echo $mail_sent ? print "RESERVATION SENT - PLEASE WAIT".$success : "ERROR - PLEASE WAIT".$redirect_error;
}
?>
<hr size="2" width="100%" />

1 réponse

frazeks1989
Messages postés
10
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
15 mars 2011

5 juin 2009 à 21:15
Rebonjour,

Personne n'ayans répondu à mon post, j'ai continuer à persister et finalement je n'ai pas trouver le problème, mais j'ai trouvé une solution.

Bon ayant beaucoup perdu du temps à cause de cela, je vous donne ma solution, au cas ou quelqu'un aurait le même stress.

Au lieu d'inscrire header 2 foit, ce qui fait appel à lui deux foit, c'est juste la derniere à faire appel à header qui est prit en compte, j'ai tester cela en inversant :

$success = header('Refresh:1;url=success.html');
$redirect_error = header('Refresh:0;url=error_mail.html');

Chaque foit j'ai recu la redirection de la page qui etait en 2eme emplacement.

Donc la solution faire appel au FONCTION.

Ceux si sont seulement exécuté quant on fait appel à eux.(Remarquer la fonction success et la fonction error.

Voici la source :

<hr size="2" width="100%" /><?php
$sendTo = 'xxx@xxx.xx' . ', ';

$subject = "Reservation" ;

$name= $_POST['nom'];
$adress = $_POST['mail'];
$tel = $_POST['mobile'];
$date = $_POST['date'];
$hour = $_POST['hour'];
$number = $_POST['number'];
$message = $_POST['message'];

function success() {
    header('Refresh:0;url=success.html');
};

function error() {
    header('Refresh:0;url=error_mail.html');
};

$headers = "From: " . $_POST['nom'];
$headers .=  "<" . $_POST['mail'] . ">\r\n";
$headers .= "Reply-To: " . $_POST['mail'] . "\r\n";
$headers .=  "Return-Path: " . $_POST['mail'];

$message = 'Reservation from website'."\r\n\r\n";
$message .= '**************************************'."\r\n";
$message .= 'Name :'."";
$message .= $name."\r\n";
$message .= 'Tel :'."";
$message .= $_POST['mobile']."\r\n";
$message .= '**************************************'."\r\n";
$message .= 'Date :'."";
$message .= $date."\r\n";
$message .= 'Hour :'."";
$message .= $hour."\r\n";
$message .= 'Number of persons :'."";
$message .= $number."\r\n";
$message .= '**************************************'."";
$message .= '**************************************'."\r\n\n";
$message .= 'Special notes :'."";
$message .= $_POST['message']."\r\n";
if($name '' or $adress '' or $date == '' or $hour == '' or $number == '') {error();}
else {
    $mail_sent = @mail($sendTo, $subject, $message, $headers);
    echo $mail_sent ? success() : error();
}
?>

BONNE JOURNEE
3