Fonction Header marche pas sur un certain hebergeur..
7 messages
• Page 1 sur 1
- Niurath
- WRInaute discret

- Messages: 186
- Inscription: 11 Aoû 2008
Fonction Header marche pas sur un certain hebergeur..
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
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

- Messages: 4173
- Inscription: 27 Déc 2004
ca fonctionne très bien chez 1&1, aucun soucis.
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
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).
- Niurath
- WRInaute discret

- Messages: 186
- Inscription: 11 Aoû 2008
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é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...
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é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é

- Messages: 1874
- Inscription: 17 Déc 2006
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 :
il manque peut-être aussi :
- Code: Tout sélectionner
header("Status: 301 Move permanently", false, 301);
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- fonction header
- Remplacer la fonction header
- Problème fonction HEADER !
- Fonction header location inopérante
- Changer le header en fonction de la page lu.
- la fonction header en php et la barre d'adresse
- Redirection php (fonction header) et indexation
- Redirection header() en fonction de la valeur d'un cookie
- Redirection header (hébergeur Lycos)
- Changer le header de son site en fonction de la date
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

