Discussion:
redirection
(trop ancien pour répondre)
remy
2009-03-17 21:52:56 UTC
Permalink
bonjour

je cherche une solution plus élégante que le truc que j'ai fait

<?php
$signature=" Msg envoier par ....";


$exp = $_POST['nom'];
$exp .= " add mail ";
$exp .= $_POST['add_email'];
/*on formate les chaine d'objet et de corps du mail */
$objet = ".......";
$objet .= stripslashes($_POST['titre']);
$msg ="msg de ";
$msg .= $exp;
$msg .= "\n\r\n\r\n\r";
$msg .= stripslashes($_POST['msg']);
$msg .= "\n\r\n\r\n\r";
$msg .= $signature;
/* envoi du mail a proprement parlé */
$entetes = "From: ***@libertysurf.fr\n\r ";
mail("***@libertysurf.fr",$objet,$msg,$entetes);


?>
<script type="text/javascript">
<!--
window.location = "index.html"
//-->
</script>
<?

?>


en gros je voudrais sortir le javascript
mais

Header ("Location:index.html");
ou
Header ("Location:http://....chez.com/index.html");
exit();

ne marche pas tout plein de warning avec le
php5 de http://www.chez.com/


même chose avec

session_start();
session_unset();
session_destroy();

bon bref je ne suis pas doué et ne cherche pas vraiment a le devenir
mais le javascript dans du code php je trouve cela limite

merci pour tout solution ou explication même partiel
remy
--
http://remyaumeunier.chez-alice.fr/
Olivier Miakinen
2009-03-17 22:21:44 UTC
Permalink
Bonjour,
Post by remy
je cherche une solution plus élégante que le truc que j'ai fait
<?php
$signature=" Msg envoier par ....";
:-D
Post by remy
$exp = $_POST['nom'];
$exp .= " add mail ";
$exp .= $_POST['add_email'];
Tu devrais vérifier les paramètres que tu reçois de l'extérieur, mais
bon, là ça ne va pas dans les entêtes alors il n'y a pas trop de risques
(sinon que tu peux recevoir un courriel un peu bizarre).
Post by remy
/*on formate les chaine d'objet et de corps du mail */
$objet = ".......";
$objet .= stripslashes($_POST['titre']);
AAAAARGHHH !!! SURTOUT PAS !!! Ceci va dans les entêtes, et donc un
spammeur pourrait très bien détourner ce champ pour spammer la terre
entière en y ajoutant quelques milliers d'adresses de victimes.

Tu vires donc :
$objet .= stripslashes($_POST['titre']);
et tu ajouteras plus bas :
$msg .= "Le titre est " . stripslashes($_POST['titre']) . "\r\n";
Post by remy
$msg ="msg de ";
$msg .= $exp;
$msg .= "\n\r\n\r\n\r";
Attention, il y a une erreur ici : la fin de ligne standard est CR LF,
c'est-à-dire "\r\n", et pas le contraire.
Post by remy
$msg .= stripslashes($_POST['msg']);
$msg .= "\n\r\n\r\n\r";
Idem.
Post by remy
$msg .= $signature;
/* envoi du mail a proprement parlé */
Zarathoustra a proprement parlé ! ;-)
Je ne suis pas sûr que le CR LF soit nécessaire ici, mais en tout cas ce
n'est pas LF CR. Cela dit, tu fais bien d'y mettre une adresse en dur
car cela va aussi dans les entêtes.
Idem pour l'adresse en dur : ici c'est bon.
Post by remy
Header ("Location:index.html");
Attention, ceci est interdit par la norme définissant HTTP : l'URL doit
être absolue et non relative.
Post by remy
ou
Header ("Location:http://....chez.com/index.html");
À tout hasard, lire <http://faqfclphp.free.fr/#rub2.11> pour voir si un
require() ne serait pas plus indiqué.
Post by remy
ne marche pas tout plein de warning avec le
php5 de http://www.chez.com/
Tu as bien fait de copier-coller les warnings en question pour qu'on
puisse te dire ce qui ne va pas, hein ! ;-)
Post by remy
même chose avec
session_start();
session_unset();
session_destroy();
Ah ! Les warnings, ce ne serait pas par hasard quelque chose comme « les
entêtes ont déjà été envoyés » ?

Dans ce cas, voir <http://faqfclphp.free.fr/#rub2.12>.


P.-S. : ton adresse n'est pas valide, et elle n'est même pas bien
formée. Dans ce cas, il est très vivement recommandée qu'elle soit
terminée par « .invalid » (et bien formée, cela va de soi). Donc :
<***@fctpas.fr.invalid>.


Cordialement,
--
Olivier Miakinen
remy
2009-03-18 18:04:16 UTC
Permalink
Post by Olivier Miakinen
Cordialement,
merci pour les lien commentaire problème règle

remy
--
http://remyaumeunier.chez-alice.fr/
Loading...