21 Novembre 2017 à 09:20:27

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

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #135 le: 26 Octobre 2007 à 11:09:29 »
Arthur,

Vous avez un espace après le champ 'nom', d'où l'erreur. Refaites le en faisant attention à ne pas mettre d'espaces.
Cordialement,
Damien

Tutoriels informatique

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #136 le: 26 Octobre 2007 à 12:06:18 »
Bonjour,

Regardez ici si cela peut vous aider :
http://www.forum-aide.com/programmation-developpement/aide-pour-la-creation-dun-formulaire-t1632.0.html

Il vaut mieux mettre le second destinataire en copie. Je n'ai pas essayé de faire
$destinataire = "mail1@example.com ; mailmoa@example.com"; ...vous pouvez essayer mais je ne pense que cela marche.

Bonjour  :D
OK, je vais potasser ce tuto. Je pense faire comme vous me conseillez, c'est à dire mettre le second destinataire en copie.

Merci encore pour le coup de main ;-)
Bonne journée  :)
Mike

arthur

  • Nouveau membre
  • *
  • Messages: 12
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #137 le: 26 Octobre 2007 à 17:59:26 »
Merci pour la réponse ! ma table est effectuée !

Mais quand j'ouvre mon formulaire avec mozilla,  je remplie les différentes casse à remplir puis je fais exécuter et là sa me met ce message sur fond blanc :

"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; // vérification des champs if (empty($_POST['civilite'])) $message .= "Votre civilité
"; if (empty($_POST['nom'])) $message .= "Votre nom
"; if (empty($_POST['adresse'])) $message .= "Votre adresse
"; if (empty($_POST['codepostal'])) $message .= "Votre code postal
"; if (empty($_POST['ville'])) $message .= "Votre ville
"; if (empty($_POST['comments'])) $message .= "Votre message
"; // 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 = mysql_real_escape_string(trim($valeur)); } $interets = $_POST['interets']; $sqlinterets = ''; for ($i=0; $i


Est-ce normal car dans ma table je ne récupère pas les données rentrer dans le formulaire :(
Bientôt mon site webcréation !!!!

SkywalkerFr

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #138 le: 26 Octobre 2007 à 22:29:58 »
il y a pas mal de formulaire sur ce site lien de pub abusif retiré j'avou que j'en ai piquer pas mal  :D...
« Modifié: 26 Octobre 2007 à 23:24:52 par damien »

arthur

  • Nouveau membre
  • *
  • Messages: 12
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #139 le: 26 Octobre 2007 à 23:50:18 »
sa ne m'aide pas beaucoup si tu m'est pas le lien  :?
Bientôt mon site webcréation !!!!

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #140 le: 27 Octobre 2007 à 13:41:33 »
Arthur,

Est-ce que ce code php qui s'affiche est bien dans un fichier .php et non dans un fichier .html ?
Si le code s'affiche sur la page en fond blanc au lieu de s'exécuter c'est probablement un souci de ce genre.
Cordialement,
Damien

Tutoriels informatique

arthur

  • Nouveau membre
  • *
  • Messages: 12
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #141 le: 27 Octobre 2007 à 14:10:40 »
Nan j'ai pourtant bien mis .php mais lorsque je rentre les information dans le formulaire en .html sa me met ce message sur fond blanc au lieu de l'envoyer dans la table.
Bientôt mon site webcréation !!!!

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #142 le: 30 Octobre 2007 à 14:12:39 »
Bonjour  :D

Je voudrais pas passez pour un idiot, mais j'ai juste fait un copier-coller du fichier html, css et php pour vérifier que cela fonctionnait sur le serveur d'Alice, avant de le personnaliser.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulaire</title>
<link href="formulaire.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form method="post" action="traitement.php">

<p class="titre">Coordonnées</p>

<fieldset id="coordonnees">
<p id="civilite"><label>Civilité : </label>
<input type="radio" name="civilite" value="M." />M.
<input type="radio" name="civilite" value="Mlle" />Mlle
<input type="radio" name="civilite" value="Mme" />Mme
</p>
<label>Nom : </label>
<input type="text" name="nom" size="30" /><br />
<label>Adresse : </label>
<input type="text" name="adresse" size="30" /><br />
<label>Code postal : </label>
<input type="text" name="codepostal" size="30" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="30" /><br />
<label>Adresse email : </label>
<input type="text" name="email" size="30" /><br />
<label>Pays : </label>
<select name="pays">
<option value="france">France</option>
<option value="belgique">Belgique</option>
<option value="suisse">Suisse</option>
</select>
<p id="interets"><label>Centres d'intérêts : </label>
<input type="checkbox" name="interets[]" value="sport" />Sport
<input type="checkbox" name="interets[]" value="cinema" />Cinéma<br />
<input type="checkbox" name="interets[]" value="internet" />Internet
<input type="checkbox" name="interets[]" value="voyages" />Voyages
</p>
</fieldset>

<p class="titre">Message</p>

<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>

<p id="buttons">
<input type="submit" value="Envoyer" />
<input type="reset" value="Recommencer" />
</p>
</form>
</body>
</html>

<?php
$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;
define('MAIL_DESTINATAIRE','xxxx.xxxxx@aliceadsl.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire');
// vérification des champs
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['email']))
$message .="Votre adresse mail<br/>";
if (empty(
$_POST['comments']))
$message .= "Votre message<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));
}
$interets $_POST['interets'];
$sqlinterets '';
for (
$i=0$i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
//Préparation de l'entete 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 : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville$pays\n";
$mail_corps .= "Ses centres d'int&#36074;ts : $sqlinterets\n\n\n";
$mail_corps .= $comments;
// 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'
;
}
}
?>


J'ai juste un petit souci, lorsque je vais sur la page du formulaire, je remplis les cases mais au moment d'envoyer cela m'envoit sur une page qui me dit:

Erreur. Les champs suivants doivent être obligatoirement remplis :

Votre civilité
Votre nom
Votre adresse
Votre code postal
Votre ville
Votre adresse mail
Votre message


J'ai parcouru tout le topic sur le tuto, mais je n'ai pas trouvé de réponse à mon problème. (A moins que je ne sois passé à côté  :? ) Quelle peut en être la cause ?

Sur Alice voici ce qui est autorisé (php4):
Les fonctions autorisées / interdites
Vous pouvez utiliser toutes les fonctions, sauf :
- les fonctions réseaux
- les fonctions SYSLOG
- la possibilité de changer les options déclarées dans la Config PHP
- les fonctions POSIX

Test fait sous Mozilla, IE7; Maxthon, sans résultat !

Merci d'avance, bonne journée  :)
Mike
« Modifié: 31 Octobre 2007 à 11:38:49 par Mike Steen »

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #143 le: 04 Novembre 2007 à 17:28:05 »
Salut   :D

J'ai passé l'après-midi à vérifier et je pense que c'est le serveur d'Alice qui n'accepte pas toutes les instructions car avec WAMP5 çà fonctionne impeccable  :o  Je vais devoir chercher un autre serveur gratuit qui accepte le PHP sans limite...

Damien, j'ai donc poursuivi la personnalisation avec les infos que vous m'avez données, par rapport aux destinataires de l'email selon le choix de la ville. Lorsque je teste avec WAMP, cela me retourne l'erreur:
Parse error: syntax error, unexpected T_STRINF, expecting T_CASE or T_DEFAULT or '}' in C:\Program Files\www.essai1\traitement.php on line 43

(c'est la ligne commençant par case 'paris': )

J'ai du faire une erreur quelque part mais je ne trouve pas la solution  :?

code html</p>
  <label>Nom : </label>
<input type="text" name="nom" size="30" /><br />
  <label>Adresse : </label>
<input type="text" name="adresse" size="30" /><br />
  <label>Code postal : </label>
<input type="text" name="codepostal" size="30" /><br />
  <label>Adresse email : </label>
<input type="text" name="email" size="30" /><br />
  <label>Ville : </label>
<select name="choixdestinataire">
<option value="paris">Paris</option>
<option value="lille">Lille</option>
<option value="toulouse">Toulouse</option>
<option value="lemans">Le Mans</option>
<option value="quimper">Quimper</option>
<option value="nice">Nice</option>
</select>
<p id="interets">
    <label>Centres d'intérêts : </label>
<input type="checkbox" name="interets[]" value="sport" />Sport
<input type="checkbox" name="interets[]" value="cinema"
/>Cinéma<br />
<input type="checkbox" name="interets[]" value="internet"
/>Internet
<input type="checkbox" name="interets[]" value="voyages"
/>Voyages
</p>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input type="submit" value="Envoyer" />
<input type="reset" value="Recommencer" />
</p>
</form>
</body>
</html>

Le code php:
<?php
$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;
define('MAIL_SUJET','Votre message essai 1');

// vérification des champs
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['choixdestinataire']))
$message .= "Votre ville<br/>";
if (empty(
$_POST['email']))
$message .= "Votre adresse email<br/>";
if (empty(
$_POST['comments']))
$message .= "Votre message<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));
}

$interets $_POST['interets'];
$sqlinterets '';
for (
$i=0$i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}

switch (
$_POST['choixdestinataire'])
{
  case 
'paris':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";
    break;
  case 
'lille':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";    
    break;
  case 
'toulouse':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";    
    break;
  case 
'lemans':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";    
    break;
  case 
'quimper':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";    
    break;
  case 
'nice':
    
$destinataire "xxxx.xxxx@aliceadsl.fr";    
    break;
  
/* default a ajouter seulement si vous voulez un email par defaut
      au cas ou aucune ville n'est sélectionnée */
  
default:
    
$destinataire "xxxx.xxxx@aliceadsl.fr"
}

//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 .= "Cc: aaaa.aaaa@libertysurf.fr\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 : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// envoi du mail
if $res_mail mail($destinatire,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';
}

}
?>


En espérant que vous pourrez m'aider. Je mouline, je mouline, mais j'avance pas  :?

Bonne fin de week-end  :D
Mike
« Modifié: 05 Novembre 2007 à 08:27:39 par Mike Steen »

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #144 le: 04 Novembre 2007 à 21:38:42 »
Bonsoir,

Qu'est-ce que cette ligne 43 ?
Citer
(c'est la ligne commençant par case 'sarge': )

Je ne vois aucune ligne commençant par case 'sarge' dans votre code php...
Cordialement,
Damien

Tutoriels informatique

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #145 le: 05 Novembre 2007 à 08:35:31 »
Bonsoir,

Qu'est-ce que cette ligne 43 ?
Citer
(c'est la ligne commençant par case 'sarge': )

Je ne vois aucune ligne commençant par case 'sarge' dans votre code php...

Bonjour,

Désolé, j'ai recopié l'erreur sur l'ordi qui a wamp5, et dans les exemples j'avais changé les villes  :?
J'ai modifié le topic précédent, il faut en fait lire: case 'paris':

Merci
Bonne journée  :)
Mike

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #146 le: 05 Novembre 2007 à 10:40:33 »
Bonjour,

Ah étrange, tout me parait normal autour de cette ligne dont vous me parlez.
Par contre vous avez un problème sur une autre ligne je vois, donc ça vient peut-être de là :
A la ligne :

if  $res_mail  = mail($destinatire,MAIL_SUJET,$mail_corps,$mail_entete); {
Il faut remplacer par :

if ($res_mail = mail($destinatire,MAIL_SUJET,$mail_corps,$mail_entete)) {
Un if doit toujours être suivi d'une parenthèse dans laquelle on trouve la condition, et après la condition il y a une accolade après laquelle commence les instructions à exécuter, mais jamais de point virgule non plus avant d'avoir mis cette accolade (sauf dans le cas où il y a une seule instruction à exécuter, les accolades sont facultatives).
Cordialement,
Damien

Tutoriels informatique

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #147 le: 05 Novembre 2007 à 19:22:49 »
Bonsoir  :)

Merci pour les infos la ligne de l'envoi du mail. J'aurais appris quelque chose de plus grace à vous ;-)

Par contre cela ne résoud pas l'erreur donnée par WAMP, qui me dit toujours:
Parse error: syntax error, unexpected T_STRING, expecting T_CASE or T_DEFAULT or '}' in C:\Program Files\wamp\www\essai1\traitement.php on line 43

Pourrais-je abuser encore un petit peu de vos connaissances pour m'aider à résoudre ce petit problème ?   :idea:
Est-il possible que je n'utilise pas correctement WAMP...  :?

Bonne soirée  :D
Mike

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #148 le: 05 Novembre 2007 à 22:05:51 »
Bonsoir,

C'est une erreur de syntaxe, donc en principe ça ne doit pas venir de WAMP mais bien de votre code PHP.
C'est bizarre pour le coup je ne trouve plus rien de suspect aux alentours de cette ligne, mais pouvez-vous m'envoyer le fichier html et php par email ? webmaster @ forum-aide.com
Comme ça je verrai plus facilement s'il y a un problème, ou un caractère qui s'est glissé dans votre code et qui ne se verrait pas dans le copier coller sur le forum.
Cordialement,
Damien

Tutoriels informatique

Mike Steen

  • Nouveau membre
  • *
  • Messages: 9
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #149 le: 06 Novembre 2007 à 19:21:19 »
Bonsoir,

Je vous ai envoyé les fichiers ce midi.
C'est super d'avoir des passionnés sur des forums  :wink:

Bonne soirée  :D
Mike