Fonction Header marche pas sur un certain hebergeur..

WRInaute discret
Bonjour j'ai un formulaire de contact qui utilise la fonction Header pour redirigé l'internaute si le formulaire est validé..

J'utilise un script qui marche niquel sur LWS, là je l'ai installé sur un site hebergé chez 1&1 et voilà aucune redirection..

Le formulaire est bien validé si les conditions sont remplies mais aucunes redirections

Je fais en gros :


$page ="demande-de-contact-enregistree.html";

header("Location: ".$page);

Merci d'avance
 
WRInaute discret
Aucune erreur n'est renvoyé le header est juste ignoré !

Le même script chez lws (copier coller du fichier php) marche niquel.. !

Edit : le script ressemble en gros a ça


<?
$to = "";
$from = "";
$entete = "";
$entete .= "";
$entete .= "";
$entete .= "";
$entete .= "";
$entete .= "";
$entete .= "";


$page ="demande-de-contact-enregistree.html";

$nberr = 0;

$sujet = "Nouvelle fiche client\r\n";

$civilite = $_POST['civilite'] ;
$nom = $_POST['nom'] ;
$prenom = $_POST['prenom'] ;
$tell = $_POST['tell'] ;
$adresse = $_POST['adresse'] ;
$CP = $_POST['cp'] ;
$city = $_POST['city'] ;
$sarl = $_POST['sarl'] ;
$mail = $_POST['mail2'] ;
$objet = $_POST['objet'] ;
$com = $_POST['com'] ;
$gsm = $_POST['gsm'] ;
$hostname = $REMOTE_ADDR;

extract( $_POST , EXTR_SKIP );

if($action == 'contacter') {

if(empty($com)) $erreurs[] = 'Veuillez entrer votre message.</font>';

if(empty($mail)) $erreurs[] = 'Veuillez entrer votre email.</font>';
elseif( !ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $mail) ) $erreurs[] = 'Votre email est invalide.</font>';

$vars = Array('com','mail2');
foreach($vars as $var) {
$$var = trim($$var);
$$var = str_replace("\n",'',$$var);
$$var = stripslashes($$var);
$com = stripslashes(trim($com));
}


$nberr = count($erreurs);
if(!$nberr) {

$message = "


//fonction verifier mail

//ecriture bdd fichier exl

$fp = fopen ("BDDFicheClients.fiche", "r+");

while(!feof($fp)) {
// On r&eacute;cupère une ligne
$Ligne = fgets($fp,100000);

// On stocke l'ensemble des lignes dans une variable
$Fichier .= $Ligne;

}

$newfile ="$fichier\r\n$donneexls\r";


//


fputs ($fp,$newfile);

fclose ($fp);


mail($to,$sujet,$message,$entete);
header("Location: ".$page);

}

}else {

$nom = $nom;


}



if($action == 'contacter') {

$code .= '<font color="#1D3D2E"><b>Vous devez satisfaire toutes les conditions suivantes:</b></font>';
$code .= '<ul style="list-style-type:decimal;">';
for($x=0; $x<sizeof($erreurs); $x++) {
$code .= '<li><font color="red">' . $erreurs[$x];
}
$code .='</ul>';
}


$code .= '

';
?>

Et au milieu du formulaire on a

<?php
print($code)
?>

Qui affiche les erreurs si il y'en a.

Donc le mail est envoyé mais aucune redirection...
 
WRInaute passionné
je mets toujours un exit après header mais je ne sais pas si le problème vient de là.
il manque peut-être aussi :
Code:
header("Status: 301 Move permanently", false, 301);
 
Discussions similaires
Haut