21 Novembre 2017 à 05:40:01

Auteur Sujet: Faire un formulaire HTML, CSS, PHP (1 sur 3)  (Lu 124909 fois)

manuelo50

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #225 le: 15 Septembre 2009 à 19: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

mathias

  • Rédacteur Modérateur
  • Intarissable
  • *****
  • Messages: 1287
  • Points gagnés: 4
    • Voir le profil
    • KERII : Création de solutions informatiques
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #226 le: 16 Septembre 2009 à 15: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..
Administrateur système et réseau | Ingénieur R&D | Webmaster

Président | fondateur de KERII : Création de solutions informatiques

manuelo50

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #227 le: 16 Septembre 2009 à 19: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

mathias

  • Rédacteur Modérateur
  • Intarissable
  • *****
  • Messages: 1287
  • Points gagnés: 4
    • Voir le profil
    • KERII : Création de solutions informatiques
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #228 le: 16 Septembre 2009 à 19: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 ^ ^ )
Administrateur système et réseau | Ingénieur R&D | Webmaster

Président | fondateur de KERII : Création de solutions informatiques

manuelo50

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #229 le: 16 Septembre 2009 à 21: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&eacute;e, soir&eacute;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&eacute;bec, qu&eacute;bec, quebec, qu&eacute;b&eacute;cois, qu&eacute;b&eacute;coise, quebecois, quebecoise, du Qu&eacute;bec, du qu&eacute;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';
}
}
?>



mathias

  • Rédacteur Modérateur
  • Intarissable
  • *****
  • Messages: 1287
  • Points gagnés: 4
    • Voir le profil
    • KERII : Création de solutions informatiques
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #230 le: 17 Septembre 2009 à 09: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 :P
Administrateur système et réseau | Ingénieur R&D | Webmaster

Président | fondateur de KERII : Création de solutions informatiques

capitaine haddock

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #231 le: 18 Octobre 2009 à 00: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_SERVERDB_SERVER_USERNAMEDB_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
« Modifié: 18 Octobre 2009 à 00:37:16 par Touta »

Touta

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 3735
  • Points gagnés: 52
  • Pas de réponses par MP et par Mail aux questions.
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #232 le: 18 Octobre 2009 à 00: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" :D.

Cordialement
Touta
Je n'ai rien à dire mais je le dis quand même...

Cie d'Arc de Pantin
Karaté Club de Tremblay-en-France

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #233 le: 20 Octobre 2009 à 14: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);
?>
Cordialement,
Damien

Tutoriels informatique

capitaine haddock

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #234 le: 20 Octobre 2009 à 18: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 :D

illy

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #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_SERVERDB_SERVER_USERNAMEDB_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
« Modifié: 26 Octobre 2009 à 15:01:13 par Touta »

Touta

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 3735
  • Points gagnés: 52
  • Pas de réponses par MP et par Mail aux questions.
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #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 .

Citer
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 :whistle:.

Merci pour votre patience.

Cordialement
Touta
Je n'ai rien à dire mais je le dis quand même...

Cie d'Arc de Pantin
Karaté Club de Tremblay-en-France

illy

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #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!

illy

  • Nouveau membre
  • *
  • Messages: 3
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #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 ! ;)
« Modifié: 28 Octobre 2009 à 21:11:26 par Touta »

clarysse

  • Nouveau membre
  • *
  • Messages: 1
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #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