leditvalentin Posté 24 Février 2006 Auteur Posté 24 Février 2006 je dois partir je poste ce soir avec le code pour bien vous montrer. Merci
leditvalentin Posté 24 Février 2006 Auteur Posté 24 Février 2006 (modifié) Voici le bout de code équivalent: $essai=$_post['essai'];$votremail=$_POST["votremail"];$from=htmlentities("From: ".$votremail);$message=stripslashes(htmlentities($_POST["message"]))."\n";$message .=$_POST['objet1']."\n";$message .=$_POST['objet2']."\n";$message .=$_POST['objet3']."\n"; Pour ce qui est du php sa marche comment le select dynamique?? EDIT: Bonjour J'ai un formulaire avec vérification des données. Pour vérifier si le text area est bien remplit j'utilise sa: // On verifie si il y a un message elseif (trim($message)=="") mais je voudrais vérifier pour un radio et je ne c'est pas comment faire. voici le code php complet(sans la partie avec mon email): <?php// La variable $verif, va nous permettre d'analyser si la sémantique de l'email est bonne$verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";// On assigne et protége nos variables$essai=$_post['essai'];$votremail=$_POST["votremail"];$from=htmlentities("From: ".$votremail);$message=stripslashes(htmlentities($_POST["message"]))."\n";[color="red"]<==== celle là est déjà vérifiée (voir plus bas) [/color]$message .=$_POST['objet1']."\n";[color="red"]<======je voudrais vérifier ces valeurs [/color]$message .=$_POST['objet2']."\n";[color="red"]<======je voudrais vérifier ces valeurs[/color]$message .=$_POST['objet3']."\n";[color="red"]<======je voudrais vérifier ces valeurs[/color]// C'est bon on est OK, vérifions si l'email est valide, grâce à notre sympathique REGEXif(!preg_match($verif,$votremail)){ echo "Voter email n'est pas valide";}// On verifie si il y a un messageelseif (trim($message)=="")[color="red"]<=== ici je vérifie les valeurs du message[/color]{ echo "Y'en a marre des messages vide !";}// Si tout est OK on envoie l'emailelse{ mail($destinataire,$objet,$message,$from); echo "Message envoyé au webmaster<br><br>Pour revenir au site <a href=http://abracadabroc.freeheberge.com> cliquez ici </a>";}?> Modifié 24 Février 2006 par leditvalentin
NorSeb Posté 24 Février 2006 Posté 24 Février 2006 Je suppose que les $_POST['objet1'] sont les valeurs des checkbox ? Pour moi elles sont après le message. Tout est donc normal
leditvalentin Posté 24 Février 2006 Auteur Posté 24 Février 2006 Je suppose que les $_POST['objet1'] sont les valeurs des checkbox ? Pour moi elles sont après le message. Tout est donc normal <{POST_SNAPBACK}> Oui je les est remis parce que j'y arrivais pas!!! Mais vous pouvez essayer de modifier vous verrez que sa marche pas!!! Ou alors sa marche mais je suis mauvais!!! Y' a peut etre de sa!!!
NorSeb Posté 24 Février 2006 Posté 24 Février 2006 Je persiste et signe : il te faut reprendre les bases du php. Ton post comporte au moins 3 questions distinctes. Si tu fais : $message =$_POST['objet1']."\n";$message .=$_POST['objet2']."\n"; $message .=$_POST['objet3']."\n"; $message .=stripslashes(htmlentities($_POST["message"]))."\n"; Je ne vois pas bien comment les valeurs $_POST['objet1'] pourraient se retrouver après le message. Pour vérfier un bouton radio, il suffit de faire un "if" comme tu l'a fait pour le message. Sauf que lui peut avoir une valeur par défaut. Pour une checkbox, si elle n'est pas cochée, tu n'aura pas de valeur envoyée. Il suffit donc de tester son existence (fonction isset(), je te laisse le soin de la trouver dans le manuel : http://fr.php.net) Pour construire un select de façon dynamique il faut s'accrocher un peu, comprendre ce que l'on écrit et avoir quelques bases. (je sais, je radote) Tout dépend de ce que tu veux faire exactement. Quelle est la finalité de ce script ? Tu veux afficher les modèles de voitures en fonction de la marque ? Si c'est le cas, ton script doit avoir l'architecture suivante : Admettetons que l'internaute à choisi une marque grace à un select dans un formulaire. A la validation tu recharges la page. Cela lui envoi une information : l'identifiant de la marque choisie. Il ne te reste plus qu'a lancer une requete dans ta base de données, qui va chercher tous les modèle selon l'id donné (au hasard : $_POST['id_marque']) Ensuite tu parcours (une boucle) les résultats de ta requète en faisant un echo "<option value=".$id_modele.">".$modele."</option>"; Et là... c'est la fète
captain_torche Posté 24 Février 2006 Posté 24 Février 2006 (modifié) C'est pour ça qu'on te conseille d'apprendre apprendre les principes de base de PHP. Sans ça, tu viendras constamment nous poser des questions, sans forcément comprendre les réponses. Sinon, techniquement, il n'est pas nécessaire de vérifier si un radio a été coché, si tu prends le soin d'en spécifier un 'coché par défaut'. <input type="radio" name="test" value="1" checked="checked" /><input type="radio" name="test" value="2" /> Pour le checkbox, c'est simple : s'il est coché, il est passé à la page de traitement, et tu récupères sa valeur. S'il n'est pas coché, tu ne le récupères pas dans la page de traitement. Pour ce qui est du traitement de ton message, c'est tout simple : <?php$message = $_POST['message']; [color="red"]<== en faisant ça, tu REMPLACES la valeur existante de $message, par $_POST['message'][/color]$message .= $_POST['checkbox']; [color="red"]<== en faisant ça (note bien le point devant le signe égal), tu ajoutes la valeur de ton checkbox, à la fin du contenu actuel de $message[/color]?> Pour mettre les checkbox avant le message, il faudra donc procéder dans le sens inverse, à savoir : <?php$message = $_POST['checkbox'];$message .= '\n\n';$message .= $_POST['message'];?> Modifié 24 Février 2006 par captain_torche
leditvalentin Posté 24 Février 2006 Auteur Posté 24 Février 2006 bon je refais un poste avec toutes mes questions!!!!! histoire d'avoir les choses au clair: Je voudrais mettre les checkbox avant mon message: $essai=$_post['essai'];$votremail=$_POST["votremail"];$from=htmlentities("From: ".$votremail);$message=stripslashes(htmlentities($_POST["message"]))."\n";$message .=$_POST['objet1']."\n";$message .=$_POST['objet2']."\n";$message .=$_POST['objet3']."\n"; je voudrais vérifier mes checkbox mais je ne c'est pas comment faire: <?php// La variable $verif, va nous permettre d'analyser si la sémantique de l'email est bonne$verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";// On assigne et protége nos variables$essai=$_post['essai'];$votremail=$_POST["votremail"];$from=htmlentities("From: ".$votremail);$message=stripslashes(htmlentities($_POST["message"]))."\n";<==== celle là est déjà vérifiée (voir plus bas) $message .=$_POST['objet1']."\n";<======je voudrais vérifier ces valeurs $message .=$_POST['objet2']."\n";<======je voudrais vérifier ces valeurs$message .=$_POST['objet3']."\n";<======je voudrais vérifier ces valeurs// C'est bon on est OK, vérifions si l'email est valide, grâce à notre sympathique REGEXif(!preg_match($verif,$votremail)){echo "Voter email n'est pas valide";}// On verifie si il y a un messageelseif (trim($message)=="")<=== ici je vérifie les valeurs du message{echo "Y'en a marre des messages vide !";}// Si tout est OK on envoie l'emailelse{mail($destinataire,$objet,$message,$from);echo "Message envoyé au webmaster<br><br>Pour revenir au site <a href=http://abracadabroc.freeheberge.com> cliquez ici </a>";}?> Je voudrais savoir comment faire pour que suivant la valeur sélectionnez dans un select sa m'ouvre un autre select? on ma dit qu'il fallait recharger la page et construire le 2ème select dynamiquement (en fonction de la valeur du premier utiliser) mais comment on fait?
NorSeb Posté 24 Février 2006 Posté 24 Février 2006 Pour commencer arrète d'envoyer (ou d'éditer) des messages avant qu'un seul d'entre nous n'ait commencé à reflechir à un embryon de réponse !
leditvalentin Posté 24 Février 2006 Auteur Posté 24 Février 2006 Pour commencer arrète d'envoyer (ou d'éditer) des messages avant qu'un seul d'entre nous n'ait commencé à reflechir à un embryon de réponse ! <{POST_SNAPBACK}> oui désolé mais le temps que j'édite vous m'avez répondu!! désolé
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant