Petit astucien ![]() | Bonjour les webmasters ! J'espère que vous avez passé un bon Noël confiné Moi j'avais demandé au Père Noël de m'amener le savoir en PHP et il m'a dit de faire appel à vous car dès qu'il a un problème informatique il s'adresse a PC Astuces Alors voilà, avec votre aide, j'ai pu mettre au point un formulaire de contact fonctionnel et qui me donne entière satisfaction. Maintenant je souhaiterais y ajouter une liste déroulante. Pour le HTML, pas trop de problèmes et le vous joint le fichier. Mais j'ai besoin de vous pour intégrer cette liste dans le fichier PHP Alors si une âme charitable pouvait m'aider, ce serait sympa !
Le fichier HTML ci-dessous
Et le fichier PHP ci-dessous
Merci beaucoup pour votre aide. Passez de bonnes fêtes et prenez soin de vous (et des votres) | |||||||
Publicité | ||||||||
| ||||||||
![]() ![]() | Marco
Oupssssss, tu vas encore passer le réveillon dessus
Bref, déjà le principe et l'intégration sera la seconde étape. Mais faut déjà que tu comprennes en gros le principe :
Faut absolument pour ce "test d'assimilation" créer une page à part ! Une fois bien rodé... Licette (couchée à cette heure) et JP | |||||||
![]() ![]() | Oupsssss !!! Ton code comporte une fonction obsolète : https://www.php.net/manual/fr/function.eregi.php Bref, si ta version PHP évolue volontairement ou non = ton formulaire sera en rideau !!! JP | |||||||
Petit astucien ![]() | Bonsoir Jean-Pierre
Non, non ! Pour le principe, c'est vraiment du chinois pour moi !
Et je dois faire quoi ? Mais là je suis crevé !!! Et je vais me coucher, on reprendra demain si tu le veux bien.
Bonne nuit à toi et Licette Marco | |||||||
![]() ![]() | Marco Du chinois ?
Pour la function eregi obsolète : suffit de modifier/adapter... Mais chaque chose en son temps Surtout teste bien à part comme conseillé !!! Tu verras que la variable est conservée/mémorisée. Ce code est testé hein, oui par Licette, car moi je ne connais strictement rien en programmation ; surtout en PHP JP Licette te bavouille amicalement | |||||||
Petit astucien ![]() | Bonjour Jean-Pierre Oui, du PHP chinois Pour la fonction obsolète on verra effectivement plus tard. Mais pour le code que tu as mis, je dois en faire quoi ? le mettre ou ? Je teste sur une copie de ma page contact ainsi qu'une copie du formulaire PHP.
Encore merci | |||||||
![]() ![]() | Marco,
A l'endroit que tu veux Franchement... : et sur une new page à l'aide de ton Notepad++ Pas eu l'idée ? Une page de test c'est une page de test pour observer/tester précisément le code à intégrer, sans interférence avec le code existant. Une fois cette étape franchie, si tout est OK, tu pourras penser Alain Tégrer. JP Edit : Licette à cette heure est au dodo Tu disais :
L'art de bruler les étapes... le résultat est couru d'avance Modifié par Jean-Pierre le 30/12/2020 22:09 | |||||||
![]() ![]() | Bonzour Marco Ze te file en cassette de papounet sa paze de tests : http://lalimacefolle.com/tests/bidouille/select.php Si zamais tu dis que tu ne pizes rien et que c'est du sinois, papounet risquera encore de dire "Ça va scier !!!" Grosses bavouille et Bonne ânée, Petite Licette | |||||||
Petit astucien ![]() | Salut Licette Je suis allé voir la page que tu indiques De plus, la page est en PHP. Moi j'aurais besoin d'une page "Contact" en HTML dont le code est plus haut. Et cette page fait appel au code PHP (dont le code est également plus haut). Je te mets le lien pour ma page de test : https://test.webandyou.ch/formulaire/contact.html L'idée serait que l'on m'aide à intégrer le code PHP nécessaire à la liste déroulante que j'ai ajouté à mon formulaire. J'espère que "Ça va pas trop scier" ! | |||||||
![]() ![]() | Marco Avec mon FireFox = pas possible d'entrer sur ta page de test :
Pour obtenir le "dynamisme" de ton formulaire faut du PHP non ? Commence à nous faire scier le Marco Polo JP . Bien dis-donc mon papounet, moi comme ze dis un gros-mot tu me prives de salade... Licette | |||||||
![]() ![]() | Marco, Pense surtout aux nouvelles obligations RGPD... Exemple : Pas du global comme avant ! Sinon pan pan portefeuille et/ou couic réseau... Licette and JP | |||||||
Petit astucien ![]() | Bonsoir Jean-Pierre. Tu peux y aller sans soucis !
Oui, je pense. Mais est-ce possible d’intégrer cette liste au code PHP ? | |||||||
Astucien ![]() | Salut, Ca va pas du tout ton truc SSL. Tu utilises le certificat de ton hébergeur délivré pour *.kreativmedia.ch ! Du coup, ce certificat ne "matche" pas avec ton domaine...
| |||||||
Petit astucien ![]() | Bonjour zoulouman, bonne année
Je ne comprend pas vraiment ce que tu veux dire. J'utilise un certificat "Let's Encrypt" gratuit qui est sensé couvrir le domaine et les sous-domaine. Chez moi, avec navigateurs Safari et/ou Firefox, les adresses sont toutes affichées en "https". | |||||||
Petit astucien | Pour ta liste déroulante, tu récupéres la valeur du "select" de la même manière que pour les autres variables du formulaire. Exemple schématique : <?php // 1 - Initialisatiion if(empty($_POST["submit"]))$_POST["submit"]=""; // 2 - Traitement echo $_POST["selection"]; ?> <!-- 3 - Affichage du formulaire --> <form method="post"> <label for="selection">Contactez-moi : <select name="selection" id="selection"> <option value="">Choisir</option> <option value="valeur1">Valeur 1</option> <option value="valeur2">Valeur 2</option> <option value="valeur3">Valeur 3</option> </select></label><br> <input type="submit" name="submit" value="OK"> </form> <-- ET BONNE ANNEE A TOUS --> *µ*
| |||||||
Petit astucien ![]() | Bonjour midnightblue, et bonne année à toi aussi. C'est super sympa de ta part mais je ne comprend pas vraiment. Ce n'est pas moi qui ai fais le formulaire, je ne connais pas le PHP ! D'ailleurs, je ne me souviens même plus ou j'ai repris le code ! Mais il fonctionne à merveille pour ce que je souhaite faire. Ma demande est la suivante : ou mettre ton code dans le code PHP ci-dessous ?
et comment ?
Encore merci de votre aide. | |||||||
![]() ![]() | Simplement pour souhaiter une bonne ânée à mon kamarade Bébert la Carpe, allias midnightblue Licette te fait une grosse bavouille bien affectueuse.
Edit : Beau Jako, te planques-tu aux scies en cet autre pseudo fleurant bon le p'itit Suisse ? J'ai ajouté le code à Bébert au dessous de mon exemple avec required http://lalimacefolle.com/tests/bidouille/select.php Ceci dit : il serait certainement plus judicieux ergonomiquement parlant, de réinjecter le résultat en select ! Ainsi que dans mon exemple 4 de démo (en prime une gestion enabled en btn submit). Modifié par Jean-Pierre le 02/01/2021 15:42 | |||||||
Astucien ![]() | mac_marco a écrit : C'est pourtant pas compliqué, tu n'as pas de certificat, tu utilises celui de ton hébergeur... https://www.ssllabs.com/ssltest/analyze.html?d=test.webandyou.ch Un certificat a été créé le 15 décembre, mais tu t'en fous, tu ne l'utilises pas ! Si ton site fonctionne, c'est parce-que tu as forcé l'utilisation du certificat de l'hébergeur, sur la page d'erreur, c'est tout.
| |||||||
Petit astucien | <?php
echo ' <b style="font-size:25px;"> </b>Votre message nous est bien parvenue. Nous reprendrons contact avec vous au plus vite.<br>Merci !<br><br>';
$errors = ''; $limit_size=10000000; $myemail = 'monnom@mondomaine.ch'; /*Replace with your email*/ if(empty($_POST['name']) || empty($_POST['prenom']) || empty($_POST['email']) || empty($_POST['adresse']) || empty($_POST['telephone']) || empty($_POST['mobile']) || empty($_POST['selection']) || empty($_POST['message'])) { $errors .= "\n Error: Champs requis"; } /*data*/ $name = htmlspecialchars($_POST['name']); $prenom = htmlspecialchars($_POST['prenom']); $email = htmlspecialchars($_POST['email']); $adresse = htmlspecialchars($_POST['adresse']); $telephone = htmlspecialchars($_POST['telephone']); $mobile = htmlspecialchars($_POST['mobile']); $selection=htmlspecialchars($_POST['selection']); $message = htmlspecialchars($_POST['message']); $headers = "From: $email"; /* modif erreur ! if (!eregi( "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) { */ if(!preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$/", $email)) { $errors .= "\n Error: Invalide Email Addresse"; } if( empty($errors)) { $to = $myemail; $email_subject = "Message du formulaire de contact: $name"; $txt = "Nouveau message de votre formulaire de contact.\n Nom: $name \n Prénom: $prenom \n Email: $email \n Adresse: $adresse \n Téléphone: $telephone \n Mobile: $mobile \n Choix : $selection \nMessage: \n $message"; // preparing attachments $files = array(); /* modif erreur ! if($file_one) { array_push($files,$file_one); } */ $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $txt . "\n\n"; $message .= "--{$mime_boundary}\n"; for($x=0;$x<count($files);$x++){ $file = fopen('tmp/'.$files[$x],"rb"); $data = fread($file,filesize('tmp/'.$files[$x])); fclose($file); $data = chunk_split(base64_encode($data)); $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; $message .= "--{$mime_boundary}\n"; } mail($to, $email_subject, $message, $headers); } ?> <!-- Form --> <div id="form" class="container mt-30"> <!-- Contact Form --> <form id="contact_form" name="contact_form" class="mt-40" method="post" action=""> <!-- Half Inputs --> <div class="half clearfix"> <!-- Nom --> <input type="text" name="name" id="name" required placeholder="Nom*" class="classic_form big radius"> <!-- Prénom --> <input type="text" name="prenom" id="prenom" required placeholder="Prénom*" class="classic_form big radius"> <!-- Adresse --> <input type="text" name="adresse" id="adresse" required placeholder="Adresse*" class="classic_form big radius"> <!-- Email --> <input type="email" name="email" id="email" required placeholder="E-Mail*" class="classic_form big radius"> <!-- Téléphone --> <input type="tel" name="telephone" id="telephone" required placeholder="Téléphone*" class="classic_form big radius"> <!-- Mobile --> <input type="tel" name="mobile" id="mobile" required placeholder="Mobile*" class="classic_form big radius"> </div>
<div class="half clearfix" style="background-color: antiquewhite;margin:20px;padding:10px"> <label for="selection">Contactez-moi :</label> <select name="selection" id="selection" required> <option value="">Choisir</option> <option value="valeur1">Valeur 1</option> <option value="valeur2">Valeur 2</option> <option value="valeur3">Valeur 3</option> </select> </div>
<!-- Message --> <textarea name="message" id="description" placeholder="Message" class="classic_form big radius"></textarea>
<!-- Half Inputs --> <div class="half clearfix"> <!-- Verify <input type="text" name="verify" id="verify" required class="classic_form big radius">--> <!-- Send Button --> <button type="submit" name="submit" id="submit" class="bg-colored click-effect white extrabold classic_form big radius uppercase">Envoyer</button> <!-- End Send Button --> </div>
</form> <!-- *µ*-->
Modifié par midnightblue le 02/01/2021 23:16 | |||||||
Petit astucien ![]() | zoulouman a écrit : Bonjour zoulouman. Non, je ne m'en fout pas du tout !!! Je cherche à comprendre. J'ai activé un certificat "Let's Encrypt" gratuit et configurer le serveur pour qu'il l'utilise : Alors je comprend pas vraiment ce que tu m'explique et comment corrigé le problème. J'ai visité tes deux liens et j'y comprend encore moins ! | |||||||
Petit astucien ![]() | Bonjour midnightblue. Je vais tester tout ça et te redirais le résultat | |||||||
Petit astucien ![]() | Re bonjour midnightblue. Ton code est parfaitement fonctionnel et m'a permis de comprendre un peu plus le principe Comme quoi, quelques fois, une image vaut mieux que mille mots ! Je ne suis toujours pas au point avec PHP (il faudrait que je prenne des cours mais manque de temps), mais je me débrouille de mieux en mieux. Je vous remercie tous pour votre temps et votre aide J'attends peut-être encore une réponse de zoulouman pour mon certificat et je passerais en résolu. Bonne année à tous | |||||||
![]() ![]() | En résolu ? Mais pense à la function eregi, car si tu l'oublies ; à n'importe quel moment tu risqueras des soucis au niveau de la compil sur le moteur PHP. Licette et JP PS : Si Bébert la Carpe est sympa, il va te torcher ça en moins de deux En plus Bébert sache que l'autre fois Clément avait pris la peine de nous pondre une option "Code" afin de ne pas bousiller le code et le laisser indenté. Licette te bavouille tout plein | |||||||
Petit astucien ![]() | Jean-Pierre a écrit : Oui, tu as raison Jean-Pierre ! Mais là je sais vraiment pas quoi faire et où ? Et demain je recommence à travailler, donc moins de temps pour le code ! Mais si une âme charitable me donne un coup de mains, je tenterais le coup sur ma page de test En m'expliquant longtemps, je peux comprendre vite Salutations à toi et bavouilles à Licette. | |||||||
![]() ![]() | Si seulement Bébert la Carpe souhaitait aussi bavouiller ma petite Licette chérie Tiens regarde : https://www.php.net/manual/fr/function.eregi.php Bref, si tu passes à PHP 7 tes formulaires tomberont en rideau ! Et là tu es en quelle version en cours ? Licette et JP
| |||||||
Petit astucien ![]() | Jean-Pierre a écrit : Alors j'ai beaucoup de chance ! Ma version PHP est la 7.2 | |||||||
Publicité | ||||||||
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|