redirection

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : redirection

Re: redirection

par stephcreas » 08 févr. 2012, 11:35

Alors, j'ai essayé, mais cela fait toujours pareil...
De plus mon essai de caractères gras dans le body du mail ça ne marche pas non plus :( Du coup j'ai enlevé les <b>
Je vous met le code entier de ma page... j'ai du faire une bétise
Wouarf

Code : Tout sélectionner

<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Document sans titre</title> </head> <body><?php $societe=$HTTP_POST_VARS['societe']; $nom=$HTTP_POST_VARS['nom']; $prenom=$HTTP_POST_VARS['prenom']; $adresse=$HTTP_POST_VARS['adresse']; $adresse2=$HTTP_POST_VARS['adresse2']; $ville=$HTTP_POST_VARS['ville']; $cp=$HTTP_POST_VARS['cp']; $mail=$HTTP_POST_VARS['mail']; $telephone=$HTTP_POST_VARS['telephone']; $contrat=$HTTP_POST_VARS['contrat']; $commentaires=$HTTP_POST_VARS['commentaires']; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject="demande de contact"; $destinataire="[email protected]"; $body="Entreprise: $societe \n Civilite: $nom, $prenom \n Adresse: $adresse, $adresse2 $cp, $ville \n E-mail: $mail\n Telephone: $telephone\n Interets: $contrat\n Remarques: $commentaires"; $message=null; if (mail($destinataire,$subject,$body,$headers)) { header("Location: http://mon_site.fr/ma_page_merci.htm"); } else { $message= "Une erreur s'est produite"; } ?></p> <p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br> Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://mon_site.fr/ma_page_merci.htm">ici </a></p> <?php if(isset($message))echo$message?> </body> </html>
Merci par avance...
Apprendre y'a pas d'age et ça me plait

Re: redirection

par stephcreas » 08 févr. 2012, 10:33

dois-je completer le code ou le mettre à la place de:

if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}


Et comme j'aime bien essayer de comprendre, pourquoi appelle t on un "message" en lui donnant la valeur "null" ?

Et derniere question (oui je sais, je suis vraiment pas doué ;)
Peut on sur le mail qui va partir faire de la mise en page (tableau, couleurs etc) j'imagine que les balises ne sont pas les même que pour html...

Re: redirection

par stephcreas » 08 févr. 2012, 09:26

Wouarf!
Merci a toi :-)). Je vais essayer en arrivant à mon atelier
Que veut dire "null" ?

Re: redirection

par AB » 07 févr. 2012, 20:00

Tu pourrais faire une redirection (avec un header de redirection) à la place de ton message "Votre mail a été envoyé".
<?php
// code récupération du formulaire
//...
$message = null;
if (mail($destinataire,$subject,$body,$headers)) {
header("Location: http://www.ma_page_de_remerciement.php");
} else {
$message = "Une erreur s'est produite";
}
?>
<!--code html -->

<?php if(isset($message)) echo $message?>
Il faudra remonter ton code php comme ci-dessus pour que le header de redirection soit appelé avant tout affichage sinon ça t'affichera une erreur.

Re: redirection

par stephcreas » 07 févr. 2012, 19:40

Mais existe t il une commande automatique que j'ajouterai?
Dans la partie html il y juste la phrase avec le lien sur "ici"
(qui fonctionne)

Re: redirection

par xTG » 07 févr. 2012, 19:23

J'ai bien la phrase "si vous n'étes pas redirigé dans 5 sec..... cliquez ici".
Pas avec ce code là en tout cas. Peut-on voir le code qui génère cela ?

redirection

par stephcreas13 » 07 févr. 2012, 19:07

Bonjour à tous...
Voili voilou, sur un site dont j'ai récup la maintenance j"ai du faire un formulaire avec un traitement php.
N'étant pas un crack du langage, j'ai étudié des tutos et enfin réussi à ce que lorsque le visiteur rempli le formulaire (avec vérifications svp) et clique sur l'envoi, le mail part effectivement avec toutes les données voulues...
Trop content!!!
Oui mais voilà... Ensuite aucune redirection automatique sur la page du remerciement.
J'ai bien la phrase "si vous n'étes pas redirigé dans 5 sec..... cliquez ici".
Puis-je mettre un lien de redirection automatique dans mon fichier php?
Pour plus de clarté, voici le fichier de traitement:

<?php
$societe=$HTTP_POST_VARS['societe'];
$nom=$HTTP_POST_VARS['nom'];
$prenom=$HTTP_POST_VARS['prenom'];
$adresse=$HTTP_POST_VARS['adresse'];
$adresse2=$HTTP_POST_VARS['adresse2'];
$ville=$HTTP_POST_VARS['ville'];
$cp=$HTTP_POST_VARS['cp'];
$mail=$HTTP_POST_VARS['mail'];
$telephone=$HTTP_POST_VARS['telephone'];
$contrat=$HTTP_POST_VARS['contrat'];
$commentaires=$HTTP_POST_VARS['commentaires'];


$headers = "MIME-Version: 1.0\r\n";


$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";


$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="demande de contact";
$destinataire="[email protected]";
$body="Entreprise: $societe \n
Civilite: <b> $nom, $prenom </b>\n
Adresse: <b>$adresse, $adresse2
$cp, $ville</b> \n
E-mail: <b>$mail</b>\n
Telephone: <b>$telephone</b>\n
Interets: <b>$contrat</b>\n
Remarques: $commentaires";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?>
merco par avance
Steph