Petit astucien ![]() | Bonjour. Alors voilà mon problème: J'ai acheté un template afin de faire un site web pour le restaurant d'une connaissance. Parmi les fichiers fournis, il y a également le fichier PHP pour le formulaire de contact et les réservation. J'ai mis, comme expliqué dans le mode d'emploi, l'adresse à laquelle doit arriver le formulaire, mais cela ne fonctionne pas! Je ne reçois rien! Le site est actuellement en ligne sur mon serveur afin de faire les test nécessaire. Je précise que je ne connaît rien en PHP! Si une âme charitable veut bien me dépanner, je lui en serait éternellement reconnaissant Voilà le lien à toutes fins utiles. Merci beaucoup. | |||||||
Publicité | ||||||||
Astucien ![]() |
dans ta template form contact tu as : <form id="contact-form" method="post" enctype="multipart/form-data">
moi je ne vois pas d'action comme ce qui suit: <form action="envoi_mess.php" method="post" enctype="multipart/form-data">
envoi_mess.php" étant le fichier php d'envoi. Peux tu nous montrer le code du fichier PHP avec une adresse mail bidon. Modifié par BOB DE BRETAGNE le 06/03/2018 01:07 | |||||||
Astucien ![]() | Avec ton site + ma page php çà roule ! (le mieux est ton propre code php si tu as bien la page) pour essai contact ICI Résultat visible sur boite mail jetable YOPMAIL Adresse: toto.essai@yopmail.com
Modifié par BOB DE BRETAGNE le 05/03/2018 13:43 | |||||||
Petit astucien ![]() | Bonjour Bob de Bretagne, et merci de t'intérressé. Voilà le code du fichier "contact.php" <?php $errors = ''; $limit_size=10000000; $myemail = 'adresse-mail-bidon@bidon.com'; /*Replace with your email*/ if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['subject']) || empty($_POST['message'])) { $errors .= "\n Error: Required Field"; }
/*data*/ $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $headers = "From: $email";
if (!eregi( "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) { $errors .= "\n Error: Invalid Email Address"; }
if( empty($errors)) { $to = $myemail; $email_subject = "A New Message Awaits: $subject"; $txt = "You have received a new message from your website. Details are given below.\n Name: $name \n Email: $email \n Subject: $subject \n Message: \n $message";
// preparing attachments $files = array(); 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=\"iso-8859-1\"\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); } ?>
Si j'ai bien compris, il faut ajouter une action au bouton "Envoyer" ? Par contre, je ne sais pas si le fichier est également valable pour le formulaire de réservation? Je n'ai malheureusement pas compris ta deuxième réponse ??
Merci Modifié par mac_marco le 05/03/2018 19:06 | |||||||
Astucien ![]() |
envoi_mess.php simple contact envoi_reserv.php réservation
pour le premier j'ai presque terminé voir ci-dessous encore une petite erreur à la réception que tu peux voir dans toto.essai@yopmail.com (Sujet du message: r??servation d'une table) je vais être absent les deux jours qui viennent. si un astucien.nes voit l'erreur en passant. ................................voilà le code du fichier envoi_mess.php ...........................................
<?php ini_set('display_errors', 1); echo ' Message envoyé !<br>'; echo ' <form><input type="button" value="Retour sur le site" onclick="history.go(-1)"></form> '; $errors = ''; $limit_size=10000000; $myemail = 'toto.essai@yopmail.com'; /*Replace with your email*/ if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['subject']) || empty($_POST['message'])) { $errors .= "\n Error: Champs requis"; } /*data*/ $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_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 = "Sujet du message: $subject"; $txt = "Vous avez reçu un nouveau message de votre site Web. Les détails sont donnés ci-dessous.\n Nom: $name \n Email: $email \n Sujet: $subject \n Message: \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); } ?>
................................................voilà la partie contact de saisie info.......................................................................
<div class="contact_form"> <form action="../envoi_mess.php" method="post" id="contactForm" enctype="multipart/form-data" > <div class="row">
<div class="form-group col-md-4"> <?php $name= stripslashes(htmlentities($_POST['name'], ENT_QUOTES)); ?> <input class="form-control" autofocus="" type="text" name="name" id="first-name" tabindex="1" placeholder="Nom" value="<?php echo $name;?>" /> </div> <div class="form-group col-md-4"> <?php $subject= stripslashes(htmlentities($_POST['subject'], ENT_QUOTES)); ?> <input class="form-control" autofocus="" type="text" name="subject" id="subject" tabindex="1" placeholder="Sujet" value="<?php echo $subject;?>" /> </div> <div class="form-group col-md-4"> <?php $email = stripslashes(htmlentities($_POST['email'], ENT_QUOTES)); ?> <input class="form-control" type="text" name="email" id="email" tabindex="3" placeholder="Email" value="<?php echo $email;?>" /> </div> <div class="form-group col-md-12"> <textarea rows="6" name="message" class="form-control" id="description" placeholder="Message" required></textarea> </div>
<div class="form-group col-md-12"> <input type="submit" name="send" value="Envoi Message" id="submit" class="button"> </div> </div> </form>
</div>
Modifié par BOB DE BRETAGNE le 06/03/2018 01:08 | |||||||
Petit astucien ![]() | Bonjour Bob de Bretagne. C'est super sympa ce que tu fais, merci. Donc, si j'ai bien compris, il faut que je remplace le code actuel par celui que tu as créé. Je vais faire un essai ce soir et te tiendrais au courant. Entre temps, j'ai ajouter une action au bouton "Envoyer" mais je ne reçois pas le formulaire. Autre question, sur la page des formulaires, quand on envoi un formulaire, les deux partent! Est-ce normale? Par contre je ne comprend toujours pas ton histoire d'adresse mail. Pour info, une capture de l'arborescence du site:
Je ne sais pas si le chemin du lien pour "contact.php" est juste. Encore milles merci à toi.
| |||||||
Astucien ![]() | chez moi fichier à la racine du site
le chemin
obs: je reste absent pour la journée Modifié par BOB DE BRETAGNE le 06/03/2018 07:58 | |||||||
Petit astucien ![]() | Alors voilà, j'ai essayé avec tes fichiers mais ça ne marche pas non plus. Je dois vraiment être nul! Mais comme je l'ai dis, je ne connais rien en PHP. Voilà ce que j'obtiens sur le site: et voilà ce que j'obtiens après l'envoi: Au secours !!!!!!!!!!!! | |||||||
Astucien ![]() | fichier >>> amici-miei.html pour toi
fichier>>> amici-miei.php pour moi
en renommant mon fichier .html résultat identique!
pour le chemin ce n'est pas bon ! action="../envoi_mess.php
dans l'arborescence de ton site ou as tu placé le fichier?
Modifié par BOB DE BRETAGNE le 06/03/2018 20:50 | |||||||
Publicité | ||||||||
Petit astucien ![]() | Bonjour. Donc je dois renommer le fichier en PHP? J'aimerais dans la mesure du possible éviter. Ce que je ne comprend pas c'est pourquoi le fichier fournit avec le template ne fonctionnerait pas. Voilà l'arborescence du site au complet: En fait je suis en train de faire un site pour la promotion des commerces de la commune. Et le but sera d'avoir plusieurs commerces avec une page plus ou moins détaillée comme celle que je suis en train de te montrer. Donc le fichier PHP va servir plusieurs fois avec un nom différent. Encore merci. | |||||||
Petit astucien ![]() | De plus j'ai remarqué qu'avec les modifications que tu m'a indiqué, lors de l'ouverture de la page, on arrive sur la partie contact et non plus sur l'accueil en haut de page. Modifié par mac_marco le 07/03/2018 06:24 | |||||||
Astucien ![]() | Pour arriver en haut de page il me faut modifier le fichier envoi_mess.php , moi je trouve commode que la personne revienne sur son envoi car souvent elle se relit et rectifie si erreur si tu veux rester en html conserve ce qui suit . J'ai rectifié le chemin chez moi çà marche (j'ai pris l'habitude de travailler en php pour l'évolution des pages)
<div class="contact_form"> <div class="contact_form"> <form action="./envoi_mess.php" method="post" id="contactForm" enctype="multipart/form-data" > <div class="row"> <div class="form-group col-md-4"> <input type="text" name="name" class="form-control" id="first-name" placeholder="Nom" required> </div> <div class="form-group col-md-4"> <input type="email" name="email" class="form-control" id="email" placeholder="Email" required> </div> <div class="form-group col-md-4"> <input type="text" name="subject" class="form-control" id="subject" placeholder="Sujet" required> </div> <div class="form-group col-md-12"> <textarea rows="6" name="message" class="form-control" id="description" placeholder="Message" required></textarea> </div> <div class="col-md-12"> <div class="actions"> <input type="submit" value="Envoyer" name="submit" id="submitButton" class="btn btn-contact-bg" title="Envoyer votre message!" /> </div> </div> </div> </form> </div> </div>
Modifié par BOB DE BRETAGNE le 07/03/2018 08:20 | |||||||
Astucien ![]() | mac_marco a écrit : | |||||||
Petit astucien ![]() | Je deviens fou! Je crois que je vais supprimer les formulaires de contact! Je n'ai rien qui arrive sur ma messagerie, pas de message du tout et pas de message d'erreur lors de l'envoi! J'ai essayer tous les chemin possibles: action="contact.php" action="./contact.php" action="../contact.php" action="../restaurants/amici-miei//contact.php" action="../../restaurants/amici-miei//contact.php" action="../amici-miei//contact.php" Et rien! En cliquant sur "Envoyer" sur le site, j'ai le message de confirmation sur les DEUX formulaires et en actualisant la page les champs du formulaire reste remplis avec les informations insérées lors de l'envoi! Je vais essayer de t'envoyer le dossier zip que j'ai téléchargé lors de l'achat du site. Je l'ai acheté sur GrayGrids, c'est pourtant un site sérieux. | |||||||
Petit astucien ![]() | Comment je dois faire pour t'envoyer un dossier zip? | |||||||
Astucien ![]() | Ne t'affole pas à tout problème il y a une solution. Je vois que le nom n'est pas celui de mon fichier envoi_mess.php OK, J'attend ton envoi | |||||||
Astucien ![]() | Tu peux utiliser http://www.sendbox.fr/ pour l'envoi tu me fera parvenir le lien par mp | |||||||
Publicité | ||||||||
Astucien ![]() | bien reçu, mais pas de dossier amici-miei comme sur ton arborescence ? Modifié par BOB DE BRETAGNE le 08/03/2018 00:06 | |||||||
Petit astucien ![]() | Je pensais que tu voulais le fichier original. Je viens de t'envoyer le lien pour le dossier tel qu'il est. Encore merci. | |||||||
Astucien ![]() | une question, pour tes essais as tu mis uniquement les fichiers du dossiers restaurants sur ton serveur ou le dossier au complet ?
| |||||||
Astucien ![]() | Bon j'ai un peu tout repris et c'est fonctionnel pour la partie contact essai ICI
Résultat de l'envoi sur toto.essai@yopmail.com
Si tu ne trouve pas le chemin il sera toujours possible de mettre l'url au complet Modifié par BOB DE BRETAGNE le 09/03/2018 00:49 | |||||||
Petit astucien ![]() | BOB DE BRETAGNE a écrit : Bonjour, Ca a l'air de fonctionner! Je t'ai envoyé des détails en MP. Si tu peux me faire parvenir les fichier pour que je test sur mon serveur se serait sympa. | |||||||
Astucien ![]() | Bien j'ai vu tes essais
Comme je m'étais avancé teste l'ensemble du site et dit moi si tous ce qui concerne contact roule, au cas ou un lien serait oublié.
si tout est ok je t'enverrai en mp le dossier au complet. Pour les chemins tu ne devrais rien avoir à modifier.
Résultat de l'envoi sur toto.essai@yopmail.com
| |||||||
Petit astucien | Coucou, avez vous vérifié que la fonction mail de PHP fonctionnait chez l'hébergeur de mac_marco ? :-) *µ* | |||||||
Astucien ![]() | midnightblue a écrit : oui j'ai eu le retour en mp | |||||||
Petit astucien ![]() | Bonsoir. J'ai pas tout compris tes derniers messages privés ! Mais je confirme que j'ai mis sur mon serveur et tout fonctionne à merveille ! La seule chose que je souhaite, c'est la même largeur de champs. Et savoir si au niveau spam et sécurité c'est plus ou moins correct (standard donc, pas besoin d'une sécurité genre banque ou NASA !) Voilà, je me répète mais je connais rien en PHP et JavaScript (je bidouille un peu le JS mais avec du code déjà fait !). Je te remercie beaucoup du travail accompli et encore une fois BRAVO Si un jour tu passes par Genève, fais-moi signe et on ira manger Je mets en résolu et attend une éventuelle modification pour la largeur, La Croix a disparu ! | |||||||
Publicité | ||||||||
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|