pb de formulaire

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 : pb de formulaire

par zeus » 25 nov. 2007, 17:41

Avec tout ça, si tu ne comprends pas :langue:

Tu as :
- la théorie de fonctionnement des formulaires
- un exemples pratique
- 2 fois un lien vers phpDebutant

par @rthur » 25 nov. 2007, 17:14

Bonjour,

Voila un exemple pour que tu comprennes le fonctionnement:

page1.php :
<form id="form1" name="form1" method="GET" action="page2.php">
Prénom : <input name="prenom" type="text" size="30" />
<input type="submit" name="Submit" value="Envoyer" />
</form>
page2.php :
<?php
if (mail("[email protected]","formulaire","formulaire: ".$_GET['prenom'])) {
     print "Envoi effectué avec succès!";
}else{
     print "ERREUR: Echec de l'envoi...";
}
?>
Je te recommande pour continuer ton apprentissage du PHP à aller sur les sites suivants:
http://www.phpdebutant.org
http://www.siteduzero.com/tuto-3-4-0-un ... c-php.html

par choubix » 25 nov. 2007, 08:37

Je plussois Zeus :)

ca me semblait bizarre que le code soit interprete correctement.
normalement tu envoies les infos vers un autre fichier qui traite ton formulaire

par zeus » 25 nov. 2007, 00:46

Non, je refuse de croire que ça marche :?

Je t'explique, le PHP génère du code HTML qui est envoyé sur le navigateur et parsé pour donner un résultat graphique.

Donc, ta fonction mail() est appelée avant l'affichage du formulaire. A ce moment là, $prenom n'est pas encore renseignée puisque le formulaire n'a pas encore été affiché. Il est donc encore moins rempli et surtout pas validé ;)

Pour envoyer le prénom saisi dans le formulaire, il faut que tu fasses ton formulaire dans une page, puis que tu récupères les données saisies dans ce formulaire dans un autre script (celui donné dans le "action" du <form>) et tu envois les données par mail ;)

erreur

par marionc » 25 nov. 2007, 00:36

hello choubix
j'ai essayé $_GET[prenom] et dans le mail reçu il n'y a rien
et j'ai essayé $_GET['prenom'] et il me dit erreur


hello zeus
je sais que l'on peut faire autrement mais je voulais envoyer direct et ça marche il m'envoie le prenom dans le mail
sauf quand je rajoute action="http://unsite.fr et là mon mail est vide et n'affiche plus le prénom


n'y a t il pas moyen que ça marche avec cette méthode?


Merci d'avance

par zeus » 25 nov. 2007, 00:20

Je pense que tu n'as pas compris le principe de fonctionnement des formulaires :?

Je te conseille de commencer par suivre les tutoriels de PhpDebutants (la colonne de droite)

Mais si tu tiens à savoir pourquoi ça ne fonctionne pas, c'est qu'il ne faut pas envoyer le mail en affichant le formulaire, mais après avoir récupérer la valeur saisie dans le formulaire.

par choubix » 24 nov. 2007, 21:56

salut,

je ne suis pas sur que la structure de ton form soit bonne.

essaie

formulaire: $_GET[prenom]; ou $_GET['prenom']

pb de formulaire

par marionc » 24 nov. 2007, 21:33

bonjour
voila je veux créer un formulaire sur mon site j'ai donc mis:
<form id="form1" name="form1" method="get" action="http://unsite.fr">
  <? 
       	 Mail("[email protected]","formulaire","formulaire:$prenom" ); 
?>  
  <p>prenom
    <input name="prenom" type="text" id="prenom" size="30" />
</p>
  <p>
    <input type="submit" name="Submit" value="Envoyer" />
</p>
</form>
mais le problème c que quand je reçoie le mail il ne m'affiche pas le prenom
je ne sais pas quoi faire
merci d'avance pour votre aide