kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009
-
30 mai 2005 à 10:50
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009
-
30 mai 2005 à 21:20
bonjour les gens ^^
Je rencontre un probleme vraiment curieux avec mon formulaire . :
j'envoie des variables via un formulaire HTML (contact.html)
vers un script php (result.php)
j'ai un probleme avec le composant Select :
Quand je teste la page en ligne je coche " question " en motif de message, et tout marche comme il faut La page resul saffiche correctement et lemail m'est envoyé.
MAIS quand je clique sur "remarque", la page result s'affiche correctement, MAIS je ne RECOIS PAS l'EMAIL !!!!
ps : notez au passage que la variable $prevenir ne sert a rien (dans result.php), jaimerais l'enlever mais quand je le fais, ca fait tout clocher
et voici le code php de la page result.php :
**********************************************************
PHP :
<?
$nom=trim($nom);
$email=trim($email);
$prenom=trim($prenom);
$commentaires=trim($commentaires);
$sortes=trim($sortes);
$adresse=trim($adresse);
$adresse2=trim($adresse2);
if (empty($email)) //test pour savoir si le champ mail est vide
{
$texte= "Vous devez remplir le champ email, Retournez à la page précédente merci";
} elseif (!ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email)) //test le contenu de mail pour conformité ereg pour expression regulière
{
$texte= "Vous n'avez pas entré une adresse email valide. Retournez à"
." la page précédente et essayez à nouveau.";
}
else
{
//adresse à laquelle le message sera expédiée
$toaddress = "mon_email@machin.com"; // l'email ou sera expedié le formulaire
//sujet du message
$subject = "Commentaires";
//corps du message
if (! isset($prevenir)) //correspond à si la variable prevenir n'est pas affecté
//le ! devant correspond à la négation
{
$prevenir="non"; //alors on la crée et on lui donne la valeur "non"
}
$mailcontent = "Sorte de commentaires: ".$sortes."\n"
."Sujet: ".$sujet."\n"
."Nom: ".$nom."\n"
."Prénom: ".$prenom."\n"
."email: ".$email."\n"
."Adresse: ".$adresse."\n"
."Adresse2: ".$adresse2."\n"
."Commentaires: \n".$commentaires."\n"
."Le prevenir: \n".$prevenir."\n";
//adresse du serveur
$fromaddress = "webserver@bg.com";
mail($toaddress, $subject, $mailcontent, $fromaddress);
$texte="Merci, votre email a bien été envoyé. Nous vous répondrons très bientôt";
}
?>
************************************************** ***
En esperant qu'il y aura un genie pour trouver la solution, je vous remercie d'avance !!!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 11:24
Hello,
tu devrais relire des tutos sur les formulaires et php, ton code manque
de beaucoup de choses. Notamment, on recupere les variables d'un
formulaire POST avec ces variables :
$_POST['email'] (par exemple).
Il faut aussi tester la soumission de ton formulaire.
Enfin, ton select n'a aucune valeur (<option value="...?">blabla</option>)
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 11:52
Euh....merci pour tes conseils mais ca m'aide pas bcp... car je suis pas une pro du php, et je vois tjs pas comment resoudre mon pb. Je sais meme pas comment faire ce que tu a ecrit, etc...Tout est flou dans mon esprit... Je suis nulle hein? mais je demande qu'à apprendre !
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 12:00
Je pense que tu devrais commencer par mettre les valeurs correctes a
tes balises <option> dans ton <select> (en bref, tu laisses
comme c'est, et tu ajoues value="remarque" pour l'une, et
value="question" pour l'autre.
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 12:45
euh..je veux bien mais c koi la syntaxe pour la value? Oou dois-je la mettre ?
[php]
<select name="sortes" id="select3">
<option>remarque</option>
<option>question</option>
</select>
/PHP kiarahkiarah
Vous n’avez pas trouvé la réponse que vous recherchez ?
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 13:00
lol, si mais j't'ai di, j'suis pommée et jai tellement peur que ca marche pas.
jai rajouté value comme tu a ecris...Malheuresement, pas de changement :
Quand je clique sur "question" : tout va bien et je recois l'email
Mais quand je clique "remarque", je ne recois pas l'email...c dingue !
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 13:11
Hmmm, je ne les vois pas, la, les value= "...", sur ta page ?
Ensuite...dans ton code php, plusieurs choses :
ON utilise $_POST['variable'] pour recuperer les variables provenant
d'un formulaire envoye avec la methode post. Je veux dire par la que
ceci :
$nom=trim($nom);
n'est pas bon. Ce doit etre :
$_POST['nom'] = trim (
$_POST['nom']);
Ou si tu tiens a avoir des variables plus simples :
$nom =
= trim
($_POST['nom']);
Avant tout, on teste le submit, et enleve les espaces dans le name de
ton submit, ainsi que dans sa value (pour centrer avoir un espacement,
lol, utilise encore des styles : margin: 5px; par exemple) :
if (isset ($_POST[' ok ']) && $_POST['ok'] =='Envoyez') {
tout ton code
}
Et le principe est le meme pour toutes variables, teste les avant de les utiliser. Donc avant de te servir de $sortes:
if (isset ($_POST['sortes'])) {
}
Tu peux utiliser directement les $_POST['machin'] sans passer par des variables intermediaires
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 13:42
Alors,
- jai remi comme ta dit les
$nom =
trim
($_POST['nom']);
dans result
- et enlever les espace du submit dans contact
Par contre, ca :
if (isset ($_POST[' ok ']) && $_POST['ok'] = ='Envoyez') {
tout mon code
}
Jai essayé de le mettre mais qd je teste, result marche meme plus....j'men sort pas :'(
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 14:03
[PHP]
<?
$nom = trim ($_POST['nom']);
$email = trim ($_POST['email']);
$prenom = trim ($_POST['prenom']);
$commentaires = trim ($_POST['commentaires']);
$sortes = trim ($_POST['sortes']);
$adresse = trim ($_POST['adresse']);
$adresse2 = trim ($_POST['adresse2']);
if (empty($email)) //test pour savoir si le champ mail est vide
{
$texte= "Vous devez remplir le champ email, Retournez à la page précédente merci";
} elseif (!ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email)) //test le contenu de mail pour conformité ereg pour expression regulière
{
$texte= "Vous n'avez pas entré une adresse email valide. Retournez à"
." la page précédente et essayez à nouveau.";
}
else
{
//adresse à laquelle le message sera expédiée
$toaddress = "[mailto:kiarah27@aol.com kiarah27@aol.com]"; // l'email ou sera expedié le formulaire
//sujet du message
$subject = "Commentaires";
//corps du message
if (! isset($prevenir)) //correspond à si la variable prevenir n'est pas affecté
//le ! devant correspond à la négation
{
$prevenir="non"; //alors on la crée et on lui donne la valeur "non"
}
$mailcontent = "Sorte de commentaires: ".$sortes."\n"
."Sujet: ".$sujet."\n"
."Nom: ".$nom."\n"
."Prénom: ".$prenom."\n"
."email: ".$email."\n"
."Adresse: ".$adresse."\n"
."Adresse2: ".$adresse2."\n"
."Commentaires: \n".$commentaires."\n"
."Le prevenir: \n".$prevenir."\n";
//adresse du serveur
$fromaddress = "[mailto:webserver@bg.com webserver@bg.com]";
mail($toaddress, $subject, $mailcontent, $fromaddress);
$texte="Merci, votre email a bien été envoyé. Nous vous répondrons très bientôt." ;
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 14:23
<?
if (isset ($_POST['ok']) && $_POST['ok'] === 'Envoyer') { // ici, il faut remplacer ok par les bons noms et valeur : ok est le nom du bouton submit, Envoyer est sa valeur
if (isset ($_POST['nom']))
$nom = trim ($_POST['nom']);
if (isset ($_POST['email']))
$email = trim ($_POST['email']);
if (isset ($_POST['prenom']))
$prenom = trim ($_POST['prenom']);
if (isset ($_POST['commentaires']))
$commentaires = trim ($_POST['commentaires']);
if (isset ($_POST['sortes']))
$sortes = trim ($_POST['sortes']);
if (isset ($_POST['adresse']))
$adresse = trim ($_POST['adresse']);
if (isset ($_POST['adresse2']))
$adresse2 = trim ($_POST['adresse2']);
if (empty($email)) //test pour savoir si le champ mail est vide
{
$texte= "Vous devez remplir le champ email, Retournez à la page précédente merci";
}
elseif (!ereg("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email)) //test le contenu de mail pour conformité ereg pour expression regulière
{
$texte= "Vous n'avez pas entré une adresse email valide. Retournez à"
." la page précédente et essayez à nouveau.";
}
else
{
//adresse à laquelle le message sera expédiée
$toaddress = "[mailto:kiarah27@aol.com kiarah27@aol.com]"; // l'email ou sera expedié le formulaire
//sujet du message
$subject = "Commentaires";
//corps du message
if (!isset($_POST['prevenir'])) //correspond à si la variable prevenir n'est pas affecté
//le ! devant correspond à la négation
{
$prevenir="non"; //alors on la crée et on lui donne la valeur "non"
}
$mailcontent = "Sorte de commentaires: ".$sortes."\n"
."Sujet: ".$sujet."\n"
."Nom: ".$nom."\n"
."Prénom: ".$prenom."\n"
."email: ".$email."\n"
."Adresse: ".$adresse."\n"
."Adresse2: ".$adresse2."\n"
."Commentaires: \n".$commentaires."\n"
."Le prevenir: \n".$prevenir."\n";
//adresse du serveur
$fromaddress = "[mailto:webserver@bg.com webserver@bg.com]";
mail($toaddress, $subject, $mailcontent, $fromaddress);
$texte="Merci, votre email a bien été envoyé. Nous vous répondrons très bientôt." ;
}
}
?>
essaye ca...mais c'est complique, la page est longue lol. J'espere ne rien avoir oublie.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2005 à 15:30
La requete etait juste un exemple d'utilisationb des variables recuperees depuis un formulaire :-)
Bon, j'ai repris, et effectue qques modifications (sans plus hein)
juste pour voir: cela fonctionne. La j'ai juste mis ca sur la meme page
(d'ou l'action du formulaire qui a change), et je fais un echo au lieu
du mailto :
kiarah
Messages postés17Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention21 septembre 2009 30 mai 2005 à 15:54
euh.....j'ai du mal, ca veut dire que je dois tout mettre sur une meme page?
Au depart, jai mis ton code FORM ds mon contact et le php ds mon RESULT...mais le resultat en ligne c'est du n'importe quoi, donc jai pas du faire ca comme il faut ....
pffffff