18 Novembre 2017 à 09:28:38

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

polgara

  • Nouveau membre
  • *
  • Messages: 18
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #210 le: 15 Février 2009 à 11:33:03 »
Bonjour.
J'ai suivi les étapes du toto 1 et 2 ainsi que le tuto "formulaire php et envoi pr mail".

Le problème est le suivant: dès que j'appuye sur la touche "envoyer", j'ouvre ma messagerie (incredimail) et je vois ce que je viens d'écrire. Je doute que ce soit le but du formulaire...

Voilà mes "essais":

Formulaire.html:
<!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/css; charset=iso-8859-1" />
<title>formulaire de contact</title>

<link href="../../../site cob2/CSS/formulaire.css" rel="stylesheet" type="text/css" />
</head>

<body>


<form method="post" enctype="text/plain" action="mailto:info@cobayecalin.com">


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

<fieldset id="coordonnees">
  <p id="civilite">
    <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>Prénom : </label>
    <input type="text" name="prenom" size="30" /><br />
  <label>Adresse mail: </label>
    <input type="text" name="adresseMail" size="30" /><br />

  <label>Pays : </label>
  <select name="pays" class="Style1">
    <option value="France">France</option>
    <option value="Belgique">Belgique</option>
    <option value="Suisse">Suisse</option>
<option value="Holland">Holland</option>
<option value="Deutchland">Deutchland</option>
<option value="Autre">Autre</option>
  </select>
  <p id="concerne">
    <label>Concerne : </label>
  </p>
  <p>
    <input type="checkbox" name="concerne[]" value="renseignements" />
    Renseignements généraux
    <input type="checkbox" name="concerne[]" value="reservation" />
    Réservation<br />
    <input type="checkbox" name="concerne[]" value="commande" />
    Commande de produits
    <input type="checkbox" name="concerne[]" value="autre" />
    Autre  </p>
</fieldset>

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

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

<p id="buttons" class="titre">
  <input type="submit" value="Envoyer" />
  <input type="reset" value="Recommencer" />
</p>

</form>

</body>
</html>


Le css:

/* CSS Document */

p.titre {
  background: #CC6666;
  font-family:Verdana, Arial, Helvetica, sans-serif;
  color: #330033;
  padding:.2em .3em;
  font-size:1.2em;
  border:2px outset  #330033;
  position:relative;
  margin-bottom:-1em;
  width:12em;
  margin-left:1em;
  margin-top:1em;
}

fieldset {
  border:none;
  margin-bottom:1em;
  width:24em;
  padding-top:1.5em;
}

select {
  margin-left:9em;
  margin-bottom:0;
}

/* fieldset coordonnees */
fieldset#coordonnees {
  background: #FFFF99;
  border:outset #FF6633;
}

#coordonnees label {
  position:absolute;
  font-size:90%;
  padding-top:.2em;
  left:20px;
}


#coordonnees input {
  margin-left:9em;
  line-height:1.4em;
  margin-bottom:.2em;
}

/* fieldset message */
fieldset#message {
  background: #9999FF;
  border:outset #990099;
}

#civilite {
  font-size:90%;
}
#civilite input {
  margin-left:9em;
}
#civilite input + input {
  margin-left:1em;
}

/* cases a cocher des concerne */
#concerne{
  font-size:90%;
}
#concerne input {
  margin-left:9em;
}
#concerne input +input {
  margin-left:1em;
}
#concerne br+input {
  margin-left:9em;
}

/* zone de texte du message */
textarea {
  font:.8em  Verdana, Arial, Helvetica, sans-serif;
  width:29em;
  padding:.2em;
}

et le php que j'ai stupidement recopié:

<?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','info@cobayecalin.com'); 
define('MAIL_SUJET','formulaire');

// vérification des champs 
if (empty($_POST['civilite'])) 
$message .= "Votre civilité<br/>";
if (empty(
$_POST['nom'])) 
$message .= "Votre nom<br/>";
if (empty(
$_POST['prenom'])) 
$message .= "Votre prenom <br/>"
if (empty(
$_POST['email'])) 
$message .= "Votre adresse mail<br/>";
if (empty(
$_POST['comments'])) 
$message .= "Votre message<br/>";

if (
strlen($message) > strlen($msg_erreur)) {

echo 
$message;

}

?>


else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

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

//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 : $civilite $nom\n";
$mail_corps .= "Adresse : $adresseMail, $pays\n";
$mail_corps .= "mail concernant : $sqlconcerne\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';
}

}

?>

Voilà... Il y a un bug certainement mais j'ai beau plancher, je ne le trouve pas... :( Merci de m'aider. Je ne veux pas de bases de données, mais juste mettre un formulaire à la place d'un lien vers mon adresse mail dans ma page contacts, car je suis archi saturée au niveau des spams...
Merci.
Polgara
 
« Modifié: 16 Février 2009 à 09:17:52 par damien »

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #211 le: 16 Février 2009 à 09:17:01 »
Bonjour Damien.

Je suis en train de créer un site dans lequel je dois intégrer un formulaire avec la partie envoi données dans une bd et mail.
Je suis en train de tester mes codes avec easyphp j'ai eu des erreur que g corrigé avec l'aide du forum mais là je suis vraiment bloqué.

Bonjour,

Attention : dans votre code html, les noms de vos champs de texte du formulaire ne doivent pas contenir de caractères spéciaux. Je vois que vous avez mis des accents notamment, ça va poser problème pour le traitement php après.

Par exemple, remplacez :
<input type="text" name="téléphone" size="30" /><br />Par :
<input type="text" name="telephone" size="30" /><br />
Ici vous avez même une faute de frappe en plus d'un accents à enlever, il y a un "n" en trop :
<input type="text" name="prénnom" size="30" /><br />
Cordialement,
Damien

Tutoriels informatique

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #212 le: 16 Février 2009 à 09:26:44 »
Bonjour,

J'ai suivi les étapes du toto 1 et 2 
Oula, forcément si vous suivez les étape du "toto" ça risque de vous mener en bateau(to) assez tôt  :D


Sinon, blague poétique du matin à part, le premier souci que vous avez dans votre formulaire, c'est que vous ne l'envoyez pas sur le code PHP pour qu'il soit traité, mais vous envoyez directement en vrac sur votre adresse email avec cette ligne :
<form method="post" enctype="text/plain" action="mailto:info@cobayecalin.com">
Vous devriez la remplacer par le chemin vers votre fichier qui contient le code php. Par exemple :
<form method="post" enctype="text/plain" action="traitement.php">

Attention également :
Vous avez une balise de fermeture de code php (?>) en plein milieu de votre code PHP, et on ne sait pas trop ce qu'elle fait là. Elle est vers là :
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
}
[b]?>[/b]


Voyez déjà si tout ça vous aide à avancer, car j'avoue ne pas avoir vérifier tout le code encore pour voir s'il y a d'autres erreurs...
Cordialement,
Damien

Tutoriels informatique

FAN973

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #213 le: 16 Février 2009 à 13:23:35 »
Bonjour Damien et merci de m'avoir répondu :D
j'ai corrigé mon code et j'ai un autre problème, je suis toujours avec mes tests sous easyphp...
mon probleme c que quand je rentre les données dans le formulaire et que je clique sur valider j'ai le message d'erreur suivant :  "Aucune base n'a été selectionnée".
Est-ce que tu pourrai m'éclairer un peu à ce sujet merci d'avance

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 #214 le: 19 Février 2009 à 16:27:14 »
Réponse pour FAN973 :

Vous avez conservé une commande sql conserve, or ici inutile puisque vous n'utilisez pas votre BDD.

Réponse pour jmkah:

Nous sommes dans l'incapacité de vous répondre sans avoir un petit bout de code sous la dent ;)
C'est surement un problème au niveau de la récupération de vos données.
Administrateur système et réseau | Ingénieur R&D | Webmaster

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

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #215 le: 04 Juin 2009 à 18:00:24 »
bonjour a tous,
merci pour ce tuto c'est pour moi un vrai bonheur, merci pour l'aide, je voulais faire et j'ai fait merci
mais je suis un peu embêté car que ce soit lors d'une erreur ou suite a une confirmation de prise en compte d'une inscription, les messages apparaissent en haut a gauche dans une page blanche, comment appliquer un css a ce texte ? et deuxièmement appliquer un lien après le texte qui renvoi sur la page d'accueil du site en cas de réussite de l'inscription ou sur la page du formulaire en cas d'erreur, pour l'instant on doit utiliser le bouton page précédente du navigateur
Ensuite quel moyen anti-spam pour le formulaire conseillez-vous ?
merci  :D

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 #216 le: 04 Juin 2009 à 22:18:24 »
Bonjour;

Et bien dans vos balises echo après le if et else il suffit de rentrer du HTML avec l'entête qu'il faut pour que cela inclu votre CSS du site, et puis pour les liens c'est de la même manière ici, sauf que si il y a erreur lors du remplissage du formulaire on peut alors utiliser du JavaScript qui affichera une petite fenêtre d'alerte puis voilà.

Suffit de regarder sur google on trouve de bon tutos.

pour l'anti spam le captcha c'est pas mal :)
Administrateur système et réseau | Ingénieur R&D | Webmaster

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

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #217 le: 05 Juin 2009 à 18:03:35 »
bonjour,
merci mathias pour ta réponse, j'ai presque resolu mon probleme il n'y a que pour le message d'erreur que je bute un peu.....mais j'ai un autre prob. plus important avec mon formulaire et envoi par mail....
si tout les champs sont remplis aucun probleme la confirmation de l'envoi du mail est correctement affiché...et je reçoi le mail avec les données correctement reprises
mais dans le  cas inverse lorsqu'il manque un champs obligatoire j'ai ce message...
Erreur. Les champs suivants doivent �tre obligatoirement remplis :

.Votre pr�nom
Votre inscription est prise en compte
un mail de confirmation vous sera adress�.

le mail d'inscription est, malgré l'erreur de champs envoyé, mais aucune données est reprise,
Je me permets d'envoyer mon code de mail-traitement.php pour verification, je suis dessus depuis un sacré moment et je ne vois pas l'erreur. merci d'avance
<?php
$msg_erreur 
"Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>.";

$message $msg_erreur;
$msg_ok "Votre inscription est prise en compte<br/> un mail de confirmation vous sera adressé.";

define('MAIL_DESTINATAIRE','monadressemail'); // remplacer par votre email
define('MAIL_SUJET','Inscription sesshin Campagne 2009');


// vérification des champs
if (empty($_POST['civilite']))
  
$message .= "Votre civilité<br/>";
if (empty(
$_POST['nom']))
  
$message .= "Votre nom<br/>";
if (empty(
$_POST['prenom']))
  
$message .= "Votre pré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['pays']))
  
$message .= "Votre pays<br/>";
if (empty(
$_POST['email']))
  
$message .= "Votre email<br/>";
if (empty(
$_POST['inscription']))
  
$message .= "Votre inscription<br/>";
if (empty(
$_POST['ordination']))
  
$message .= "Votre ordination<br/>";
if (empty(
$_POST['dojo']))
  
$message .= "Votre dojo<br/>";
if (empty(
$_POST['chambre']))
  
$message .= "Votre chambre<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 : $civilite $nom$prenom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville$pays\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Inscription : $inscription\n";
$mail_corps .= "Ordination : $ordination\n";
$mail_corps .= "Dojo : $dojo\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';
}
}

?>
merci

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #218 le: 05 Juin 2009 à 20:52:18 »
pour être plus claire , en essayant de comprendre.....il apparait que même en cas d'erreur de champs vides le message d'erreur s'affiche avec l'ennoncé des champs vides suis du message OK le mail est envoyé,le mail reçu ne contient aucune information collectée.
alors que normalement un message d'erreur doit s'afficher
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; apres l'ennoncé des champs vides.
Merci de m'aider a résoudre ce problème mon niveau php est nul

« Modifié: 05 Juin 2009 à 20:58:43 par yerbamaté »

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 #219 le: 06 Juin 2009 à 13:00:45 »
Bonjour,

A la ligne 56 de votre, il me semble que vous avez une accolade de fermeture en trop.
Votre code devrait être :

<?php
$msg_erreur 
"Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>.";

$message $msg_erreur;
$msg_ok "Votre inscription est prise en compte<br/> un mail de confirmation vous sera adressé.";

define('MAIL_DESTINATAIRE','monadressemail'); // remplacer par votre email
define('MAIL_SUJET','Inscription sesshin Campagne 2009');


// vérification des champs
if (empty($_POST['civilite']))
  
$message .= "Votre civilité<br/>";
if (empty(
$_POST['nom']))
  
$message .= "Votre nom<br/>";
if (empty(
$_POST['prenom']))
  
$message .= "Votre pré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['pays']))
  
$message .= "Votre pays<br/>";
if (empty(
$_POST['email']))
  
$message .= "Votre email<br/>";
if (empty(
$_POST['inscription']))
  
$message .= "Votre inscription<br/>";
if (empty(
$_POST['ordination']))
  
$message .= "Votre ordination<br/>";
if (empty(
$_POST['dojo']))
  
$message .= "Votre dojo<br/>";
if (empty(
$_POST['chambre']))
  
$message .= "Votre chambre<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 : $civilite $nom$prenom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville$pays\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Inscription : $inscription\n";
$mail_corps .= "Ordination : $ordination\n";
$mail_corps .= "Dojo : $dojo\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';
}
}

?>

Dites nous si c'est mieux ;)
Cordialement,
Damien

Tutoriels informatique

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #220 le: 07 Juin 2009 à 12:10:12 »
Ok merci Damien l'accolade était de trop, cela fonctionne parfaitement donc le code exact est celui-ci j'ai rajouté les liens en cas d'erreur pour revenir sur le "formulaire" sans utiliser le bouton precedent et un lien sur "monsite" en cas de reussite de l'inscription
merci encore pour votre aide


<?php
$msg_erreur 
"Erreur. Les champs suivants doivent &ecirc;tre obligatoirement remplis :<br/><br/>.";

$message $msg_erreur;
$msg_ok "Votre inscription est prise en compte<br/> un mail de confirmation vous sera adress&eacute;.<br/>";

define('MAIL_DESTINATAIRE','monadressemail'); // remplacer par votre email
define('MAIL_SUJET','Inscription sesshin Campagne 2009');


// vérification des champs
if (empty($_POST['civilite']))
  
$message .= "Votre civilite<br/>";
if (empty(
$_POST['nom']))
  
$message .= "Votre nom<br/>";
if (empty(
$_POST['prenom']))
  
$message .= "Votre prenom<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['pays']))
  
$message .= "Votre pays<br/>";
if (empty(
$_POST['email']))
  
$message .= "Votre email<br/>";
if (empty(
$_POST['inscription']))
  
$message .= "Votre inscription<br/>";
if (empty(
$_POST['ordination']))
  
$message .= "Votre ordination<br/>";
if (empty(
$_POST['dojo']))
  
$message .= "Votre dojo<br/>";
if (empty(
$_POST['chambre']))
  
$message .= "Votre chambre<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

  echo 
$message;
  echo 
'Veuillez renouveller votre inscription, merci<br />';
  echo 
'<a href="javascript:history.go(-1);">Revenir au formulaire</a>';

// 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 : $civilite $nom$prenom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville$pays\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Inscription : $inscription\n";
$mail_corps .= "Ordination : $ordination\n";
$mail_corps .= "Dojo : $dojo\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;
   echo 
'<a href="nomdemonsite">Retour sur monsite</a>';
} else {

  
//Le mail n'a pas été expédié
  
echo'';
}
}

?>

« Modifié: 07 Juin 2009 à 13:26:14 par yerbamaté »

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #221 le: 08 Juin 2009 à 15:18:44 »
bonjour a tous,
n'ayant pas trouvé de sujet concernant le tuto http://www.6ma.fr/tuto/image+securite+pour+formulaires+php-357, et ne pouvant créer ce nouveau sujet, je me permets d'intervenir sur se sujet a la suite de mes precedents messages.....merci d'avance pour votre compréhension.
un simple copier/coller pour créer le fichier "imagesecu.php"
ensuite j'ai adapté mon fichier mail.formulaire.php


<?php
// On initialise la session
session_start();
/* on vérifie que la code est toujours mémorisé en session et qu'il fait 6 caractères */
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");

// on vérifie que la code entré est valide
if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !");

$msg_erreur "Erreur. Les champs suivants doivent &ecirc;tre obligatoirement remplis :<br/><br/>.";

$message $msg_erreur;
$msg_ok "Votre inscription est prise en compte<br/> un mail de confirmation vous sera adress&eacute;, merci.<br/>";

define('MAIL_DESTINATAIRE','monadressemail'); // remplacer par votre email
define('MAIL_SUJET','Inscription sesshin Campagne 2009');


// vérification des champs
if (empty($_POST['civilite']))
  
$message .= "Votre civilite<br/>";
if (empty(
$_POST['nom']))
  
$message .= "Votre nom<br/>";
if (empty(
$_POST['prenom']))
  
$message .= "Votre prenom<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['pays']))
  
$message .= "Votre pays<br/>";
if (empty(
$_POST['telephone']))
  
$message .= "Votre telephone<br/>";
if (empty(
$_POST['email']))
  
$message .= "Votre email<br/>";
if (empty(
$_POST['inscription']))
  
$message .= "Votre inscription<br/>";
if (empty(
$_POST['ordination']))
  
$message .= "Votre ordination<br/>";
if (empty(
$_POST['dojo']))
  
$message .= "Votre dojo<br/>";
if (empty(
$_POST['chambre']))
  
$message .= "Votre chambre<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

  echo 
$message;
  echo 
'<br/><br/>Veuillez renouveller votre inscription, merci<br /><a href="javascript:history.go(-1);">Revenir au formulaire</a>';
  

// 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 : $civilite $nom$prenom\n";
$mail_corps .= "Adresse : $adresse$codepostal $ville$pays\n";
$mail_corps .= "Email : $telephone\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Inscription : $inscription\n";
$mail_corps .= "Ordination : $ordination\n";
$mail_corps .= "Dojo : $dojo\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;
   echo 
'<a href="monsite">Retour sur monsite</a></p>';
} else {

  
//Le mail n'a pas été expédié
  
echo'';
}
}
// on détruit les variables de session, désormais inutiles
session_unset();
session_destroy();

?>

dans mon fichier formulaire j'ai mis en debut
<form action="mail-traitement.php" method="post">
ensuite...
<label for="verif">Recopiez le code de vérification suivant :</label><br />
<img src="imagesecu.php" alt="image de protection" /><br />
<input type="text" name="verif" size="10" maxlength="5" />

voila l'image/code ne s'affiche pas dans mon formulaire, et je pense que l'integration dans mon fichier mail-formulaire.php n'est pas correcte
merci de me renseigner sur mes erreurs
merci
« Modifié: 08 Juin 2009 à 17:36:40 par yerbamaté »

yerbamaté

  • Nouveau membre
  • *
  • Messages: 6
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #222 le: 13 Juin 2009 à 08:09:13 »
pour ceux qui comme moi sont chez FREE, les problemes que j'ai rencontré sont dûs au fait qu'il  faut prealablement crée un repertoire "SESSIONS" a la base de votre page perso, avant d'appliquer le tuto, une fois cela fait c'est nickel.
merci pour ce tuto et votre aide
bonne route

Twigg

  • Nouveau membre
  • *
  • Messages: 1
  • Points gagnés: 0
    • Voir le profil
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #223 le: 30 Juin 2009 à 21:34:12 »
Bonjour ! Et merci pour les nombreux tutos que vous proposez !!


Je poste ce message car en fait j'ai essayé le formulaire de traitement, afin que lorsque je clique sur envoyer cela envoie le formulaire sur mon mail, mais ça ne fonctionne pas :(
et m'affiche ce message d'erreur : Parse error: syntax error, unexpected T_ELSE in /mnt/142/sdb/4/a/twiggeek/traitement.php on line 26

Voila mon code -avec mon propre formulaire-

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Twiggeek &hearts; | Métiers</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<form method="post" action="traitement.php">
Formulaire de commandes.
<TABLE BORDER=0>
<TR>
<TD>Nature de la creation</TD>
<TD>
<SELECT name="fonction">
<OPTION VALUE="avatar">Avatar</OPTION>
<OPTION VALUE="signature">Signature</OPTION>
<OPTION VALUE="kit">Kit (avatar et signature)</OPTION>
<OPTION VALUE="webdesign">Webdesign</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Texte sur la creation</TD>
<TD>
<INPUT type=text name="texte">
</TD>
</TR>
<TR>
<TD>Race-Classe</TD>
<TD>
<INPUT type=text name="texte">
</TD>
</TR
</TR>
<TR>
<TD>Images</TD>
<TD>
<TEXTAREA rows="3" name="commentaires">
Mettez ici un lien vers les images.</TEXTAREA>
</TD>
</TR>
<TR>
<TD>Lien ou la creation sera utilisée</TD>
<TD>
<TEXTAREA rows="3" name="commentaires">
Si vous avez des exigences précises</TEXTAREA>
</TD>
</TR>
<TR>
<input type="submit" value="Envoyer" />
</TR>
</TABLE>
</FORM>
<br>
</div>
</html>

En fait il me fallais juste la commande pour que lorsqu'on clique sur envoyer cela l'envoie vers mon mail. Je débute dans la creation de sites, le html, les codes donc je suis un peu perdue.... :( si vous avez une solution..

leconverti

  • Nouveau membre
  • *
  • Messages: 1
  • Points gagnés: 0
    • Voir le profil
    • ASPSM
Re : Faire un formulaire HTML, CSS, PHP (1 sur 3)
« Réponse #224 le: 05 Août 2009 à 12:43:13 »
Bonjour. Je viens tout juste de créer un site, et je viens de m'apercevoir qu'Orange ne prenais pas le php. Hors d'après vos tutos, on est obligé à un moment donné de faire une page de php. Quelles solutions y aurait il pour faire un formulaire ? Est-ce quand même possible de faire un formulaire ?
Avant de me faire gronder, si vous avez répondu à ce genre de question, veuillez m'en excusé, c'est que j'ai du mal sur ce point-ci et je m'embrouille un peu à force.
Cdlt  :?
Alliance Sportive de Pont Sainte Marie, la ville des magasins d'usines ---> http://pagesperso-orange.fr/ASPSM/