Si tu regarde la page send_email.php
tu as déjà un truc assez sécurisé
Version imprimable
Si tu regarde la page send_email.php
tu as déjà un truc assez sécurisé
pourtant, tu selectionnes tout,
tu colles tout dans une page vierge
il reste ton url à changerCode:
1
2
3
4 if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.com/send_email.php') { header('Location: http://www.monsite.com/'); }
ton adresse mailCode:
1
2 /* Destinataire (votre adresse e-mail) */ $to = 'moi@domaine.com';
et l'url de la page, si tu l'appel différemment
voir même remplacer parCode:<form action="send_email.php" method="post">
Code:<form action="<?$PHP_SELF;?>" method="post">
Et ça devrait marcher tout seul
C'est ce que j'ai fait.
Mais il y a l'étape :
...car je n'ai pas accès au php.ini pour le SMTPCode:
1
2 ini_set("SMTP","smtp.monsite.org" ); ini_set("smtp_port",25);
C'est là que ça doit merder, et ça marche pas.
Je pense que tu as commencé à lire vers le milieu et tu n'as pas vu tout le déroulement que j'ai fait au début avec le camarade Cr3a_Hal0...
Il y a aussi des explication de OVH pour le serveur SMTP.
J'ai pas dû faire ce qu'il faut ?
Merci pour ton aide en tout cas.
oubli cette étape et essaye ..
T'es chez OVH en mutualisé ?
Si oui, ça devrait marcher direct
tu est certain de bien avoir modifier ça :
Code:
1
2
3
4
5 if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.com/send_email.php') // ton site + le nom de ta page { header('Location: http://www.monsite.com/'); }
Car ce qui t'arrive ressemble étrangement à ce que doit faire cette fonction
Oui, j'ai bien changé pour le nom de mon site.
J'ai aussi essayé en séparant la page du formulaire et la page de script PHP.
Ca ne marche pas.
si tu regarde le code, le seul bout de code qui est susceptible de te renvoyer vers la page d'accueil est celui que je viens de citer
A savoir $_SERVER['HTTP_REFERER'] fait référence à la page précédente , donc si tu séparer le traitement du formulaire, c'est l'adresse du formulaire qui doit apparaitre ..
Mais , comme je te dis, il n'y a QUE ce bout de code en capacité de te renvoyer sur la page d'accueil .. donc ton erreur est là
Bon, bé ça marche !!!
Comme je suis une vraie buse certifiée en matière de code, un truc insignifiant a dû m'échapper et paf... le chien.
Reste un détail de fonctionnement :
Lorsque l'envoi est parti, ça me ressert le formulaire, vidé (pas très agréable, mais bon) et ça affiche au dessus "E-mail envoyé avec succès", grâce à ce code :Je ne sais pas le faire, mais il doit être possible d'avoir une redirection vers une page de remerciement...?Code:
1
2
3
4 /* Envoi de l'e-mail */ if (mail($to, $sujet, $msg, $headers)) { $alert = 'E-mail envoyé avec succès';
;)Code:header('Location: http://www.monsite.com/merci.php');
Yo !! Nuit agitée, neurone (sans S) cassé...(;o)))
Bon, ça ne fait pas ce que je veux.
1/ ça n'envoie pas sur le page merci.php
2/ Actuellement :
Il ne faut pas $alert au dessus du form, mais basculer sur une page "Merci".Code:
1
2
3
4 /* Envoi de l'e-mail */ if (mail($to, $sujet, $msg, $headers)) { $alert = 'E-mail envoyé avec succès';
Merci pour ton aide.
Et bah... il faut remplacer la ligne $alert = ... par celle que t'as donnée camyo :
Code:
1
2
3
4 if (mail($to, $sujet, $msg, $headers)) { header('Location: http://www.monsite.com/merci.php');
Dernier truc qui serait bien :
Il y a une balise <select> dans le formulaire.
Monsieur, madame... bon pourquoi pas.
Mais j'ai besoin d'un choix multiple d'objets dans une liste.
contact, option1, option2, etc.
Je ne sais pas comment envoyer les choix des différentes options
(oui, non) ou même (oui, vide).
Je peux tenter de m'en sortir avec des boutons radios, mais c'est bourrin...
Encore merci pour ton (vos) aide(s).