Il y a actuellement 114 visiteurs
Lundi 07 Avril 2025
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

[Réglé] Redirection sur site après envoi de formulaire.

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

[Réglé] Redirection sur site après envoi de formulaire.

Message le 14 Nov 2007 15:00

Bonjour !
J'ai entrepris de doter mon site d'un formulaire simple de contact.
Ca marche très bien :lol: Le chiendent, c'est la redirection qui ne se fait pas ... :-?
Voici le code html utilisé:
<form action="mailto:toto@wanamoo.fr" method="post"
enctype="text/plain" name="mail"> <br>
<br>Votre nom:<br>
<input name="votre nom"><br>
Votre message:<br>
<textarea name="commentaire" rows="2" cols="30"></textarea><br>
<input type="submit" value="envoyer">
<input type="reset" name="Submit" value="Effacer">
<input type="hidden" name="redirect" value="http://adresse/toto/site/cplan.htm">
</form>
"cplan.htm" étant la page vers laquelle rediriger.
Ca marche pô ! on reste bêtement sur le formulaire.
J'ai vu quelque part un truc qui me semble logique,
genre : " on submit redirect ..." mais infoutu de
remettre la main sur la syntaxe ...
Merci d'avance et A+
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 


Message le 14 Nov 2007 15:35

Comme dit Gaël : Question posée ...
Je crois bien avoir trouvé cette 'tain de syntaxe
et si c'est ça je n'étais pas prêt d'y arriver
avec ma ligne redirect.
http://www.mimuw.edu.pl/projekt.rejtan/ ... son05.html
C'est en ricain et je n'ai pas le temps d'essayer maintenant.
Regarder la FAQ en bas de page.
Merci de vos avis et A+.
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 14 Nov 2007 16:34

Est-ce que tu sais utiliser PHP ? Parce que ton "mailto:toto@wanamoo.fr" pourrait être pompé par des spammeurs, le mieux serait de faire un script PHP qui envoie ton mail et redirige l'utilisateur vers la page que "cplan.htm".

Envoi d'un mail en PHP

Redirection en PHP :
Code: Tout sélectionner
header("Location: http://adresse/toto/site/cplan.htm");


PS : je sais de quoi je parle, mon patron m'a acheté 1 logiciel qui pompe toutes les adresses présentes dans le code source des pages web pour faire du mailing :)
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Message le 14 Nov 2007 18:54

Bonsoir, Gaël :)
Non, je ne sais pas encore utiliser PHP
et tu me donnes une bonne raison :lol:
et une bonne piste !
Merci bien et A+
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 14 Nov 2007 20:34

Un peu colère quand-même :lol:
Zy peuvent pas s'empêcher de déverser des tonnes
de codes de formulaires, mais pour rediriger en HTM: personne :evil:
Bon si ça intéresse, voici un truc qui marche 8)

Pour envoyer le mail à toto@wanamoo.fr
Rediriger après envoi sur la page "cplan.htm" (html, pareil)
en 3600 millième de secondes
Ces trois paramètres sont à adapter ...
les dimensions du formulaire aussi.
La redir se fait que le mail ait planté ou pas.
Il y a des tas d'articles pour sécuriser un peu sur le net.

- d'abord insérer dans l'en-tête de la page à toto :roll:
<head>
<title>Bidouillecontact</title>
<script language="JavaScript"><!--
function FormRedirect(){
setTimeout('this.document.location.href = "cplan.htm"',3600);}
//--></script>

</head>

- ensuite coller le code dans le texte
( dans une case, par exemple, dit l'Oncle Tom ... :o )

<form action="mailto:toto@wanamoo.fr"
method="post" enctype="text/plain" onSubmit="FormRedirect()">
<p><br>
Votre nom:<br>
<input name="votre nom" size="40"><br>
Votre message:<br>
<textarea name="commentaire" rows="14" cols="60"></textarea> <br>
<br>
<input type="submit" value="Envoyer"> ou sinon <input type="reset" name="Submit"
value="Effacer"> </p>
</form>


Et voilà le travail ! 8) ceci est presque un "Totorial", le tuto à toto ! :oops:
Bon, ben moi c'est pas tout ça,
J'ai du PHP à Gaël à ingurgiter :lol:
Bon'ap. et A+.
PA. :wink: :oops:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 20 Nov 2007 11:00

Salut !
C'était trop beau :-?
Les scipts çi dessus fonctionnent très bien
à un détail près:
A l'envoi du message, après l'avertissement Microsoft:
" le destinataire va connaitre votre adresse"
la fenêtre de messagerie "normale" s'ouvre sans
qu'on lui demande :roll:
-Si on renvoie le message, je reçois les deux messages
mais la redirection ne fonctionne pas.
-Si on ferme cette fenêtre la redirection fonctionne
et je reçois le message du formulaire.
Ca fait pas bien propre et c'est un vrai gag :evil:
Merci d'avance de vos idées ou conseils et A+
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 20 Nov 2007 14:51

Désolé mais je vois pas comment corriger ton script là, déjà je ne me suis jamais servi de " action=mailto:toto@wanamoo.fr ", en fait ça ouvre la fenetre du client mail de l'utilisateur ?

Si j'ai le temps ce soir, je vais essayer de te faire 1 petit script PHP que tu pourras modifier selon tes besoins. Tu es hébergé chez Free ? (la fonction mail() y est désactivée).
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Message le 20 Nov 2007 15:51

Gaël a écrit:action=mailto:toto@wanamoo.fr ", en fait ça ouvre la fenetre du client mail de l'utilisateur ?

La syntaxe "mailto:toto@wanamoo.fr" en tant que lien,
ouvre la fenêtre du client-mail à elle toute seule.
C'est peut-être une piste, j'ai laissé les deux sur la même page
( mailto & action=mailto ), en principe, c'est l'un ou
l'autre, mais bon à revoir... merci bien. :wink:
Merci également pour l'info sur Free, peut-être
qu'avec ce FAI l'anomalie est transparente ?
Merci plein pour ta proposition PHP, c'est vraiment sympa 8)
Epi ça serait classe que l'endroit du Net où l'on trouve
"LE" script simple et pas pourri, soit notre forum :lol:
Pour le délai, t'inquiètes, c'est quand tu peux, on va survivre.
( surtout que là, chui même pas chez moi. )
A+
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 20 Nov 2007 18:26

J'ai pas forcément tout lu, ni bien compris le souci, mais il y a un très grand nombre de tutos persos traitant de ce sujet sur les forums de la communauté du site du zéro, ainsi que dans la rubrique "tutos des zéros".
Avatar de l'utilisateur
coyote89
PC-Infopraticien
PC-Infopraticien
 
Messages: 7862
Inscription: 07 Mai 2003 17:39
Localisation: Chine :)
 

Message le 20 Nov 2007 19:55

Merci également pour l'info sur Free, peut-être
qu'avec ce FAI l'anomalie est transparente ?


Je suppose que ça signifie que tu es chez Free, ça ne pose pas vraiment de problème, c'est juste que l'on ne peut pas utiliser la fonction "mail()" de PHP.

Sinon je viens de remarquer, les inputs "votre nom" et "commentaire" ne servent à rien en fait ? Ils ne doivent pas être envoyés au client mail , si ?

EDIT : En fait c'est bon pour Free, ils ont réactivé la fonction mail(), je n'étais pas au courant :)
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Message le 20 Nov 2007 20:44

Voilà le formulaire, testé sur un site Free :

Code: Tout sélectionner
<?
   // Mail de contact
   $destinataire = "toto@wanamoo.fr";
?>
<html>
   <head>
      <title>Bidouillecontact</title>
      <script type="text/javascript">
         <!--
         function FormRedirect(){
            setTimeout('this.document.location.href = "cplan.htm"',3600);
         }
         //-->
      </script>
   </head>
   <?
   
   if($_POST['action'] == "envoyer_mail" AND $_POST['commentaire']<>"" AND $_POST['commentaire']<>"Bonjour," AND $_POST['mail']<>"" AND $_POST['nom']<>"") {
      // Traitement du formulaire, envoi d'un mail
      $expediteur = $_POST['mail'];
      $objet = "Message de ".$_POST['nom'];
      $commentaire = $_POST['commentaire'];
      if(mail("$destinataire","$objet","$commentaire","from:$expediteur"))
      {
       echo "<p><span style='color:green;font-weight:bold'>Votre  message a bien été envoyé !</span></p>";
       // Lancement de la redirection via javascript
       echo "<script type='text/javascript'>FormRedirect();</script>";
       // Lien pour le retour manuel en cas de problème
       echo "<p>Vous allez être redirigé automatiquemement, sinon cliquez <a href='cplan.htm'>ICI</a>.</p>";
      } // fin if
      else
      {
         echo "<p><span style='color:red;font-weight:bold'>Erreur : Votre message n'a pas été envoyé ! <br />";
         echo "Détails :<br/> Nom:".$_POST['nom']."<br />Commentaire: $commentaire<br />Mail: $expediteur)</span> </p>";
      } // fin else
   } // fin if
   elseif($_POST['action'] == "envoyer_mail") { // Le formulaire a été validé mais une des valeurs n'est pas renseignée
      echo "<p><span style='color:red;font-weight:bold'>Merci de remplir tous les champs du formulaire !</span></p>";   
   }
   ?>
   <body>
   <form action="<?=$PHP_SELF?>"   method="post">
      <p>
         <label for="nom">Votre nom:</label><br /><!-- Nom -->
         <input name="nom" size="40" value="<?=$_POST['nom']?>">
      </p>
      <p>
         <label for="mail">Votre mail:</label><br /> <!-- Mail de l'expéditeur -->
         <input name="mail" size="40" value="<?=$_POST['mail']?>">
      </p>
      <p>
         <label for="commentaire">Votre message:</label><br /> <!-- Message -->
         <textarea name="commentaire" rows="14" cols="60" value="<?=$_POST['commentaire']?>"></textarea>
      </p>
      <p>
         <input type="hidden" name="action" value="envoyer_mail"><!-- Champs caché pour déterminer si le formulaire a été validé -->
         <input type="submit" value="Envoyer">&nbsp;<input type="reset" name="Submit" value="Effacer">
      </p>
   </form>
   </body>
</html>


Colle tout ce code dans le bloc-notes et appelle ce script "xxxx.php" (contact.php par exemple).
J'ai laissé la fonction SetTimeOut car cela permet de prévenir le visiteur que son mail a été envoyé, et d'afficher un lien manuel en cas de problème.
Il ne te reste plus qu'à modifier le style de la page (Voir tuto CSS par exemple), et pourquoi pas une fonction javascript pour vérifier que le mail est valide...
Avatar de l'utilisateur
gael49
Expert(e)
Expert(e)
 
Messages: 1935
Inscription: 07 Sep 2004 20:11
Localisation: Les Mauges
 

Message le 21 Nov 2007 10:41

Bonjour.
@ Coyote : salut ! :)
Ca est sûr,une fois, ya des tas de trucs, mais la partie réexpé
est souvent peu claire ou bâclée dans mon expérience ...
oserai-je te dire que c'est du Chinois ? :lol:
@ Gaël : 8) !
Gaël a écrit:Je suppose que ça signifie que tu es chez Free

Ca veut plutôt dire que j'avais compris de travers ton commentaire. :lol:
Je suis chez Orange.
Grand merci pour les scripts, j'y travaille et je te tiens au courant.
Belle journée et A+.
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 

Message le 22 Nov 2007 17:08

Bonsoir !
@Gaël : si tu veux voir ce que ça donne "en vrai"
cliques sur "Contact" sur cette page :
http://pagesperso-orange.fr/p-a.coutare ... essing.htm
Bien à toi et A+.
PA. :wink:
Avatar de l'utilisateur
Pac428
PC-Infopraticien
PC-Infopraticien
 
Messages: 29546
Inscription: 23 Mai 2006 13:25
Localisation: Le Goulag du Maine.
 



Sujets similaires

Message [Réglé] choisir quels types de comptes sur mon pc
salut tout le monde je suis un peu perdu dans les choix de comptes pour mon pc principal quelle est la meilleure solution svp ?les différences entres un compte local ?standard?. administrateur leurs buts leurs utilités leurs avantages leurs inconvénient etc... puis-je avoir les comptes qui me seron ...
Réponses: 33

Message [réglé] Probleme carte ethernet
Bonjour a tous,Depuis hier je rencontre un problème avec ma carte ethernet. Mon PC m'informe que celui-ci n'est pas connecté a internet (icône de la barre des taches). Par contre j'ai internet par le biais de mon VPN. Avez vous une petite idée ? Par avance merci
Réponses: 35

Message [Réglé] boitier PC
salut les pros j'espére que vous allez tous bien depuis le temps voilà je compte acheter un boitier PC de marque bequiet shadow 800 DX éclairage ARGB 3 ventilos pure wings 140 MM d'aprés vous est ce que sa vaut le coup ? Merci
Réponses: 5

Message [Réglé] Erreur d'écriture pour Hogwarts Legacy :
Bonjour,J'ai un probleme avec le jeu Hogward Legacy : L'héritage de Poudlard que j'ai acheter sur Steam. A l'installation du jeu, il y a un probleme d'écriture qui corrompe un fichier du jeu et l'empeche de s'allumer. J'ai eu ce probleme par le passé qui a fini par se résoudre tout seul. Mais depuis ...
Réponses: 7

Message [Réglé] Soucis, écran noir avec curseur qui bouge
Bonjour à tous ! Hier en éteignant mon pc fixe, au lieu de s'éteindre j'ai eu un écran noir mais j'ai le curseur de la souris qui bouge ( mais c'est un rond bleu ). J'ai beau rallumer l'ordinateur, vérifier mes branchements rien à faire. Je vois juste le logo Windows au démarrage et je peux accéder ...
Réponses: 23

Message [Réglé] pas de tel avec routeur
Bonjour,J'ai un routeur Tenda avec lequel j'ai internet et le téléphone, jusque la tout allais bien sauf que je n'ai plus de tel.J'ai pensé que le tel étais hs, j'en ai mis un autre et pas de tonalité.J'ai mis la carte sim dans mon tel portable et celui-ci fonctionne.J'ai remis la carte sim dans le ...
Réponses: 9


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.