pb de formulaire

Petit nouveau ! | 2 Messages

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

Eléphant du PHP | 319 Messages

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']
niveau: pas terrible en php mais je me soigne...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 2 Messages

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 319 Messages

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
niveau: pas terrible en php mais je me soigne...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

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
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer