Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2011, 17h10   #1
Membre du Club
 
Inscription : juillet 2006
Messages : 246
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 246
Points : 50
Points : 50
Par défaut Envoie mail PHP, questions diverses

Bonjour à tous et merci d'avance pour votre aide.
Pour une fois je vous présente du code qui marche
Tout fonctionne, je reçoit bien les mail.

Mais je rencontre quelques petits bemols que voici:

1)
Il bien différente maniére d'introduire l'adresse d'un site:
http://www.comfortlimo.be/index_temp.php
http://comfortlimo.be/index_temp.php
http://comfortlimo.be/
http://www.comfortlimo.be/
...


Code :
1
2
3
4
5
6
7
8
 
    if($_SERVER['HTTP_REFERER'] != 'http://comfortlimo.be' || 'http://wwww.comfortlimo.be')
    {
	header('Location:  http://comfortlimo.be/');
	$alert = 'Veuillez envoyer ce message depuis notre site internet';
	echo "<script>alert(\"".$alert."\");</script>"; 
 
    }
J'essaye de palier à ce probléme, mais mon code PHP ne prend en compte que la premiére valeur.

2)
Dans le cas où le mail est bien envoyé. Est-il possible d'éviter que PHP recharge la page?
Mon formulaire se trouvant en bas de page. Avec le refresh, le visiteur se retrouve en haut de page sans savoir trop ce qu'il se passe.

Mon code d'envoie est basé sur ce tutoriel
http://a-pellegrini.developpez.com/tutoriels/php/mail/


Merci à vous
Rifton007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 17h15   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
ta condition est fausse

c'est
Code :
$_SERVER['HTTP_REFERER'] != 'http://comfortlimo.be' || $_SERVER['HTTP_REFERER'] != 'http://wwww.comfortlimo.be'
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 17h36   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 246
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 246
Points : 50
Points : 50
Ah oui d'accord effectivement j'avais pas pensé à ajouter $_server
Désolé pour mes débuts en PHP.

Et toi tu ferais de la même maniére ?
Encoder tout les formes possible du liens ou il y'a une méthode plus simple ?

Et au sujet de la seconde question ?
Car à chaque enfois j'ai un refresh, je souhaiterais juste désactiver le refresh et executer une function javascript pour informer le visiteur de l'envoie réussi.

Merci pour ce temps et cet aide que tu m'accorde
Rifton007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 18h56   #4
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 199
Points : 199
1) Normalement, on ne fait pas ce test du referer, car de tout manière il peu être falsifié.
Si tu y tiens, fait plutôt une seule regex qui comprendra toutes les possibilités.

2) Tu dois poster le formulaire via javascript (ajax) si tu comptes n'avoir aucun rechargement de page.
Sinon tu peux aussi utiliser une ancre html # pour repositionner la page "ou tu veux" après le rechargement.
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 21h25   #5
Membre du Club
 
Inscription : juillet 2006
Messages : 246
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 246
Points : 50
Points : 50
Merci pour ces compléments d'information.
Mais si tu permet, on ma toujours dit qu'envoyer un mail en javascript est risqué et de toujours faire une vérification côté serveur.

Ce n'est plus d'actualité ou c'est moi qui me trompe ?
Rifton007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 22h07   #6
Membre actif
 
Inscription : février 2009
Messages : 150
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 150
Points : 199
Points : 199
Javascript est coté client, et il ne peu pas envoyer de mail tout seul.
Il fait appel à ta page php "en arrière plan" (pour cela qu'il n'y a pas de rechargement), et c'est php qui envoi donc le mail en réalité.

Ça peu être plus ou moins compliqué de tout gérer en javascript, donc je te conseil la solution de l'ancre qui devrait surement te satisfaire, et + un ptit message comme quoi le formulaire a bien été envoyé.
Au moins ça marchera même si javascript est désactivé

Edit: Tu as l'exemple en directe sur dvp, avec l'ancre, regarde cette url, ça ramène sur mon message.
Code :
http://www.developpez.net/forums/d1154457/php/langage/formulaires/envoie-mail-php-questions-diverses/#post6353855
nextdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 23h21   #7
Membre du Club
 
Inscription : juillet 2006
Messages : 246
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 246
Points : 50
Points : 50
Merci pour ta précieuse aide, j'ai finalement utiliser une ancre.
Rifton007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h28.


 
 
 
 
Partenaires

Hébergement Web