Fonction Header marche pas sur un certain hebergeur..

Niurath
WRInaute discret
WRInaute discret
 
Messages: 186
Inscription: 11 Aoû 2008

Fonction Header marche pas sur un certain hebergeur..

Message le Lun Nov 24, 2008 12:20

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


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4173
Inscription: 27 Déc 2004

Message le Lun Nov 24, 2008 13:34

ca fonctionne très bien chez 1&1, aucun soucis.

ayor
WRInaute discret
WRInaute discret
 
Messages: 214
Inscription: 29 Oct 2008

Message le Lun Nov 24, 2008 14:03

je confirme, la fonction header marche chez 1and1.fr


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Lun Nov 24, 2008 15:10

la fonction est peut-être appelée alors que du contenu a déjà été envoyé au navigateur (peut-être un espace en trop au début du script).


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Lun Nov 24, 2008 15:12

donne l'erreur renvoyée, on te donnera la cause ...

Niurath
WRInaute discret
WRInaute discret
 
Messages: 186
Inscription: 11 Aoû 2008

Message le Lun Nov 24, 2008 17:32

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


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Lun Nov 24, 2008 18:02

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: Tout sélectionner
header("Status: 301 Move permanently", false, 301);


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Related Links, Google Video Store

  • Analyse de l'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Analyse de la classe C (adresse IP)
    Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur).
  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités