manuelo50
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #225 le: 15 Septembre 2009 à 18:39:54 » |
|
Bonjour, mille bravos pour le tuto qui m'a permis de faire le formulaire en 2 temps, 3 mouvements. Vous mériteriez d'apparaitre en 1ère place dans le référencement Google. Un petit soucis subsiste pour moi. Pour faire plus joli, j'ai créé une page html afin d'avertir l'utilisateur que son formulaire a été bien rempli et bien transmis. Je n'arrive pas à router vers cette page lorsque l'on a appuyé sur le bouton submit. J'ai bien essayé plusieurs trucs mais bouh, ça ne fonctionne pas ! Je sais que des questions similaires ont été posé mais exactement celle-ci Merci d'avance, plein de mercis
Manuelo
|
|
|
|
|
Journalisée
|
|
|
|
|
|
mathias
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #226 le: 16 Septembre 2009 à 14:50:08 » |
|
Bonjour manuelo A la fin de ton formulaire: else{ // si tout a été remplie, on envoi mail("ton_mail",$nom,"De :".$email,$texte,$sujet); echo("ta_page_de_remerciement"); }
Tu as juste besoin de mettre une fonction echo lors de l'envoi du formulaire, créé ta page en HTML directement entre les " " de l'echo ou alors fait une redirection..
|
|
|
|
|
Journalisée
|
|
|
|
manuelo50
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #227 le: 16 Septembre 2009 à 18:14:15 » |
|
Bonjour, merci de la réponse sauf que je ne vois pas comment ça fonctionne ! Puis-je envoyer mon codage php pour une étude spéciale ? Si oui comment faire ? Merci encore
Manuelo
|
|
|
|
|
Journalisée
|
|
|
|
|
mathias
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #228 le: 16 Septembre 2009 à 18:21:24 » |
|
Oui biensur cela nous sera plus facile pour expliquer par la suite.
Tu ouvre ta page php dans le bloc note ou avec un programme de code ( genre notepad ++ ) et tu fais un copier coller sur le forum ( pense à mettre les balise de code en postant sinon c'est pas lisible ^ ^ )
|
|
|
|
|
Journalisée
|
|
|
|
manuelo50
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #229 le: 16 Septembre 2009 à 20:41:32 » |
|
Re bonjour, alors voici mon php ! en fait j'ai cru comprendre que c'est à la fin dans envoi du mail if ... echo (c'est ce qui va être indiqué) alors le message ok est celui en début de code à savoir "formulaireenvoye.html" Ce que je ne vois pas c'est comment faire pour que la page "formulaireenvoyé.html" apparaisse en lieu et place du traditionnel message illisible avec mon fond de page ! Voilà Merci Manuelo50 <!DOCTYPE !DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2 Transitional//EN\"> <HTML> <HEAD> <TITLE>Musique du Québec - Devis</TITLE>
<title>Formulaire</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="designformulaireenvoye" href="formulaireenvoyedesign.css" /> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta name="Title" lang="fr" content="Musique du Québec - Musique traditionnelle québécoise "> <meta name="Identifier-url" content="http://www.musiqueduquebec.fr"> <meta name="Description" lang="fr" content="Musique du Québec - Musique traditionnelle québécoise - Site officiel de Manu"> <meta name="Abstract" content="Musique du Québec - Musique traditionnelle du Québec - Site officiel de Manu"> <meta name="keywords" lang="fr" content="concert, concerts, spectacle, spectacles, animation, animations, soirée, soirées, mariage, mariages, anniversaire, anniversaires, atelier, ateliers, formation, formations, bar, bars, cabaret, plein air, musique, musiques, chanson, chant, chants, partition, partitions, grille, grilles, midi, mp3, texte, textes, accord, accords, chansons, traditionnel, traditionnels, traditionnelle, traditionelles, Québec, québec, quebec, québécois, québécoise, quebecois, quebecoise, du Québec, du québec, du quebec, pieds, podorythmie, violon, mandoline,guitare, basse, chant, cuillers, os, le diabl' dans la fourche, le diabl', fourche, dans la fourche, diable, la belle affaire, belle, affaire, y a pas d'heure, y'a pas d'heure, y, a pas, d'heure, contes, les bons voisins, bons voisins, musqiue traditionnelle du québec, musicien,musiciens, instrument, instruments, sonorisation, musiquebec, musiquebec.fr"> <meta name="Category" content="Musique traditionnelle du Québec - Le Diabl' Dans La Fourche"> <meta name="Date-Creation-yyyymmdd" content="20070111"> <meta name="Date-Revision-yyyymmdd" content="20070111"> <meta name="Author" lang="fr" content="Manu SAVINELLI"> <meta name="Reply-to" content="manu@musiqueduquebec.fr"> <meta name="Publisher" content="Manu SAVINELLI"> <meta name="Copyright" content="©Copyright : Tous droits réservés Manu SAVINELLI 2007"> <meta name="Location" content="HAMBYE (50) FRANCE"> <meta name="Generator" content="Notepad++"> <meta name="Distribution" content="Global"> <meta name="Rating" content="General"> <meta name="Robots" content="index, follow"> <meta name="Revisit-After" content="15 days"> <title>MusiqueduQuébec.com - Musique traditionnelle du Québec - Manu</title> <link rel="SHORTCUT ICON" href="http://www.musiqueduquebec.com/iconemusiquebec.ico"> </HEAD>
<body> <?php $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "formulaireenvoye.html"; $message = $msg_erreur;
define('MAIL_DESTINATAIRE','manu@musiqueduquebec.com'); // remplacer par votre email define('MAIL_SUJET','Demande de devis');
// vérification des champs if (empty($_POST['groupe'])) $message .= "Nom du groupe<br/>"; if (empty($_POST['jour'])) $message .= "Jour<br/>"; if (empty($_POST['mois'])) $message .= "Mois<br/>"; if (empty($_POST['annee'])) $message .= "Année<br/>"; if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['prenom'])) $message .= "Votre prénom<br/>"; if (empty($_POST['telephone'])) $message .= "Votre numéro de téléphone<br/>"; if (empty($_POST['email'])) $message .= "Votre adresse mail<br/>";
// si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok } else {
foreach($_POST as $index => $valeur) { $$index = stripslashes(trim($valeur)); }
//Préparation de l'entête du mail $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps = "Message de : $prenom $nom\n"; $mail_corps .= "Téléphone : $telephone\n"; $mail_corps .= "Courriel : $email\n"; $mail_corps .= "Groupe : $groupe\n"; $mail_corps .= "Date : $jour $mois $annee\n"; $mail_corps .= $message;
// envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié echo $msg_ok; } else {
//Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; } } ?>
|
|
|
|
|
Journalisée
|
|
|
|
|
mathias
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #230 le: 17 Septembre 2009 à 08:25:36 » |
|
Bonjour; Après votre $msg_ok= Vous avez le choix. Soit vous rentrez directement du code html. En mettant entre les " " <HTML>....</HTML> Mais ça alourdi votre page donc chargement un tentinet plus long ( l'ordre d'une moitié de seconde en ADSL (2M env ) mais le pauvre bonhomme en bas débit il pleure. Faite attention à avoir mit le bon chemin pour formulaireenvoye.htm, personellement je met un / devant mais bon.. Reprenez une page html de votre site, copier le code, enlever ce qui se trouve sur la page et remplassez le par votre message de remerciement. De cette façon votre CSS sera pris en compte et ça évite de se refader toute la page HTML... Un bon informaticien est une faignasse 
|
|
|
|
|
Journalisée
|
|
|
|
capitaine haddock
Nouveau membre
Points gagnés: 0
Messages: 2
|
 |
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #231 le: 17 Octobre 2009 à 23:05:46 » |
|
Bon à tous Et surtout un grand merci pour ce tuto ! Cependant une chose que j'aimerai comprendre  Pourquoi dans ma table SQL, quand je souhaite afficher les données, pour les réponses multiples je n'ai que "Array" qui apparait et pas les choix ? Bonjour à tous, Comme Nocilus je n'arrive pas à remonter les choix multiples dans ma base SQL je n'ai que l'info 'Array' de renseignée à la place des données !?! Voici mon code simplifié de la page formulaire (contact.php) : <form method="post" action="traitement.php"> <td width="250">Votre nom (ou pseudo) :</td> <td width="360"><input type="text" name="nom" /></td> <td>Votre prénom :</td> <td><input type="text" name="prenom" /></td> <td>Votre courriel :</td> <td><input type="text" name="courriel" /></td> <td>Objet de votre message :</td> <td><input type="checkbox" name="objet[]" value="photos" /> Les photos</td> <td><input type="checkbox" name="objet[]" value="livredor" /> Le livre d'Or</td> <td><input type="checkbox" name="objet[]" value="forum" /> Le forum</td> <td valign="top">Votre message<sup>*</sup> :</td> <td><textarea name="message" rows="6" cols="40"> </textarea></td> <td><input type=reset NAME=Effacer VALUE="Effacer" ></td> <td><input type=submit value="Valider" /></td>
Et celui de l'envoi simplifié (traitement.php) : <?php // Parametres mysql define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur define('DB_SERVER_PASSWORD', 'pwd'); // mot de passe define('DB_DATABASE', 'ma.base'); // nom de la base
// Connexion au serveur mysql $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error()); // sélection de la base de données mysql_select_db(DB_DATABASE, $connect);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $msg = $msg_erreur;
// vérification des champs if (empty($_POST['nom'])) $msg .= "Votre nom<br/>"; if (empty($_POST['courriel'])) $msg .= "Votre courriel<br/>"; if (empty($_POST['objet'])) // NE FONCTIONNE PAS !!! $msg .= "L'objet du message<br/>"; if (empty($_POST['message'])) $msg .= "Votre message<br/>"; // si un champ est vide, on affiche le message d'erreur if (strlen($msg) > strlen($msg_erreur)) { echo $msg;
// sinon c'est OK } else { foreach($_POST as $index => $valeur) { $$index = mysql_real_escape_string(trim($valeur)); } // concatenation des choix multiples - NE FONCTIONNE PAS !!! $objet = $_POST['objet']; $sqlobjet = ''; for ($i=0; $i<count($objet); $i++) { $sqlobjet .= $objet[$i]; $sqlobjet .= ', '; } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$prenom."', '".$courriel."', '".$objet."', '".$message."', now())"; $res = mysql_query($sql);
if ($res) { echo $msg_ok; } else { echo mysql_error(); } } ?> D'avance je vous remercie
|
|
|
|
« Dernière édition: 17 Octobre 2009 à 23:37:16 par Touta »
|
Journalisée
|
|
|
|
Touta
Rédacteur Admin
Intarissable
   
Points gagnés: 20
Messages: 3251
Pas de réponses par MP et par Mail aux questions.
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #232 le: 17 Octobre 2009 à 23:43:02 » |
|
Cher capitaine haddock, Merci d'utiliser les balises "code" de l'éditeur lorsque vous insérez du code dans vos messages "nom de mille sabords"  . Cordialement
|
|
|
|
|
Journalisée
|
|
|
|
|
Damien
|
 |
Re : Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #233 le: 20 Octobre 2009 à 13:18:00 » |
|
Cher capitaine haddock (je suis ému, j'aurai jamais cru lui parler un jour), Comme vous l'aurez certainement déviné, votre problème se situe à cet endroit : // concatenation des choix multiples - NE FONCTIONNE PAS !!! $objet = $_POST['objet']; $sqlobjet = ''; for ($i=0; $i<count($objet); $i++) { $sqlobjet .= $objet[$i]; $sqlobjet .= ', '; } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$prenom."', '".$courriel."', '".$objet."', '".$message."', now())"; $res = mysql_query($sql); ?>
Le souci, c'est que la concaténation fonctionne bien à mon avis. Mais le résultat de la concaténation est stocké dans la variable $sqlobjet (et non $objet !). Donc n'insérez pas $objet en base de données, mais plutôt $sqlobjet. Ce ferait plutôt : <?php // concatenation des choix multiples - NE FONCTIONNE PAS !!! $objet = $_POST['objet']; $sqlobjet = ''; for ($i=0; $i<count($objet); $i++) { $sqlobjet .= $objet[$i]; $sqlobjet .= ', '; } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$prenom."', '".$courriel."', '".$sqlobjet."', '".$message."', now())"; $res = mysql_query($sql); ?>
|
|
|
|
|
Journalisée
|
|
|
|
capitaine haddock
Nouveau membre
Points gagnés: 0
Messages: 2
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #234 le: 20 Octobre 2009 à 17:15:54 » |
|
Mille millions de mille milliards de mille sabords de tonnerre de Brest, Moussaillon tu as raison. Il est vrai qu'après quelques verres de whisky je ne vois plus très clair. Merci 
|
|
|
|
|
Journalisée
|
|
|
|
illy
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #235 le: 26 Octobre 2009 à 13:00:38 » |
|
bonjour damien, merci pour votre tutoriel j'ai vraiment appris plein de choses sur les formulaires.. là, j'a un problem avec le fichier traitement.php voila le code: <?php define('DB_SERVER', 'localhost'); define('DB_SERVER_USERNAME', 'root'); define('DB_SERVER_PASSWORD', 'mysql'); define('DB_DATABASE', 'actualites'); $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error()); mysql_select_db(DB_DATABASE, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; if (empty($_POST['civilite'])) $message .= "Votre civilité<br/>"; if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['adresse'])) $message .= "Votre adresse<br/>"; if (empty($_POST['codepostal'])) $message .= "Votre code postal<br/>"; if (empty($_POST['ville'])) $message .= "Votre ville<br/>"; if (empty($_POST['comments'])) $message .= "Votre message<br/>"; if (strlen($message) > strlen($msg_erreur)) { echo $message; } else { foreach($_POST as $index => $valeur) { $$index = mysql_real_escape_string(trim($valeur)); } $interets = $_POST['interets']; $sqlinterets = ''; for ($i=0; $i<count($interets); $i++) { $sqlinterets .= $interets[$i]; $sqlinterets .= ', '; } $sql = "INSERT INTO form1 VALUES ('', '".$civilite."', '".$nom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$sqlinterets."', '".$comments."', now())"; $res = mysql_query($sql); if ($res) { echo $msg_ok; } else { echo mysql_error(); } } ?>
ca me donne une erreur: Notice: Array to string conversion in C:\Program Files\EasyPHP 3.0\www\new\traitement.php on line 28 Incorrect integer value: '' for column 'id' at row 1 et voici la ligne 28: $$index = mysql_real_escape_string(trim($valeur)); merci de bien me repondre le plus tot possible mes salutations
|
|
|
|
« Dernière édition: 26 Octobre 2009 à 15:01:13 par Touta »
|
Journalisée
|
|
|
|
Touta
Rédacteur Admin
Intarissable
   
Points gagnés: 20
Messages: 3251
Pas de réponses par MP et par Mail aux questions.
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #236 le: 26 Octobre 2009 à 15:07:47 » |
|
Cher(e) illy , Merci d'utiliser les balises "code" de l'éditeur lorsque vous insérez du code dans vos messages . merci de bien me repondre le plus tot possible Votre demande est prise en compte et sera traitée lorsque les responsables de la section programmation seront disponibles. En gros tout vient à point à qui sait attendre  . Merci pour votre patience. Cordialement
|
|
|
|
|
Journalisée
|
|
|
|
illy
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #237 le: 28 Octobre 2009 à 15:50:53 » |
|
Merci Touta , la prochaine fois je ferais attention pour les balises de code  et pour mon problem je n'ai tjrs pas su comment le corriger car je suis debutante en php.. mais le pire c'est que j'ai besoin de ce formulaire pour mon projet de fin d'etude :s alors c'est un petit peu urgent .. ca serai aimable qu'on me reponde le plus tot possible car là je peine troooop  merci d'avance!
|
|
|
|
|
Journalisée
|
|
|
|
illy
Nouveau membre
Points gagnés: 0
Messages: 3
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #238 le: 28 Octobre 2009 à 16:32:44 » |
|
ouuf .. enfin mon probleme est resolu! j'avais a ajouter quelque ligne dans mon code : foreach($_POST as $index => $valeur) { if (is_string($valeur)) { $$index = mysql_real_escape_string(trim($valeur)); } elseif (is_array($valeur)) { // Pour des chaînes foreach ($valeur as &$v) { if (!is_string($v)) { die('cas non prévu'); // Tableau de plus d'une dimension } $v = mysql_real_escape_string($v); } $$index = "'" . implode("', '", $valeur) . "'"; // Variante pour des nombres entiers // $$index = implode(',', array_map('intval', $valeur)); }/* else { die('cas non prévu'); }*/ }
voila c'est tout! mnt ca marche bien  Merci tout de meme ! 
|
|
|
|
« Dernière édition: 28 Octobre 2009 à 21:11:26 par Touta »
|
Journalisée
|
|
|
|
clarysse
Nouveau membre
Points gagnés: 0
Messages: 1
|
 |
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Répondre #239 le: 15 Mars 2010 à 11:59:09 » |
|
Bonjour Je suis nouvelle alors il faudra excuser mes éventuelles erreurs. J'ai lu et traiter les 3 phases du formulaire que j'ai écrit chacun dans une page différente (poru l'instant) de Dreamweaver. Le premier a parfaitement crée le formilaire tel que je le souhaite Mais je ne sais comment insérer les deux autres. A quel endroit faut-il les insérer, faut-il mettre un titre (php) J'ai préparé la phase css pour améliorer l'aspect du formulaire mais encore une fois je ne sais commetn le glisser dans le texte. Avant, dedans ou après le html Et surtout la partie php. Comment l'intégrer. A ce sujet je ne vois pas où truver MES paramètres de connexion MySQL ni d'ailleur où trouver cette connexion. Merci de bien vouloir me répodnre car je voudrais ajouter ce formulaire à mon site. Clarysse
|
|
|
|
|
Journalisée
|
|
|
|
|