Bonjour à toutes et à tous,
Je souhaite, via php (mais pas via javascript), déclencher une alerte dès qu'un champ obligatoire n'est pas complété et que l'internaute clique sur Envoyer.
Je suis allée sur plusieurs forums pour trouver des solutions car je suis encore débutante au niveau du php. Je les ai testées mais cela ne fonctionne pas.
Les messages d'alerte apparaissent dans le corps de l'e-mail envoyé par le formulaire sauf pour la dernière solution testée, malgré le fait que je n'ai pas renseigné les champs obligatoires. Ils sont vides et l'e-mail est tout de même envoyé !
Les solutions testées :
http://www.6ma.fr/tuto/faire+formulaire+php+html+css+sur+3-179
http://forum.webrankinfo.com/formulaire-aide-pour-champs-obligatoire-t42612.html
http://forum.alsacreations.com/topic.php?fid=1&tid=51529&s=champs+obligatoire
Voici le code de ma page cible.php :
Je n'ai pas mis la partie HTML de cette page sinon le php ne s'affiche pas (d'où la modification de ce post). Et j'ai mis des balises HTML car avec les balises php, le code ne s'affiche pas
Comme il y a encore des choses qui m'échappent au niveau du php, je pense que j'ai dû mettre des éléments au mauvais endroit, ou bien oublié des signes quelque part, bref je suis un peu perdue.
En vous remerciant pour votre aide,
Modifié par mama5 (27 Feb 2011 - 00:17)
Je souhaite, via php (mais pas via javascript), déclencher une alerte dès qu'un champ obligatoire n'est pas complété et que l'internaute clique sur Envoyer.
Je suis allée sur plusieurs forums pour trouver des solutions car je suis encore débutante au niveau du php. Je les ai testées mais cela ne fonctionne pas.
Les messages d'alerte apparaissent dans le corps de l'e-mail envoyé par le formulaire sauf pour la dernière solution testée, malgré le fait que je n'ai pas renseigné les champs obligatoires. Ils sont vides et l'e-mail est tout de même envoyé !

Les solutions testées :
http://www.6ma.fr/tuto/faire+formulaire+php+html+css+sur+3-179
http://forum.webrankinfo.com/formulaire-aide-pour-champs-obligatoire-t42612.html
http://forum.alsacreations.com/topic.php?fid=1&tid=51529&s=champs+obligatoire
Voici le code de ma page cible.php :
<?php
define('MAIL_DESTINATAIRE','adresse@adresse.fr'); // remplacer par votre email
define('MAIL_SUJET','Demande information et/ou devis');
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++) {
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
$titre = (isset($_POST['titre'])) ? $_POST['titre'] : '';
$nomprenom = (isset($_POST['nomprenom'])) ? $_POST['nomprenom'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';
$tel = (isset($_POST['tel'])) ? $_POST['tel'] : '';
$message = (isset($_POST['message'])) ? $_POST['message'] : '';
// les variables
$error = 0;
$msgError = '';
// verification des données
$nomprenom = trim(stripslashes($_POST['nomprenom']));
$nomprenom = htmlspecialchars($nomprenom);
$tel = trim(stripslashes($_POST['tel']));
$tel = htmlspecialchars($tel);
$message = trim(stripslashes($_POST['message']));
$message = htmlspecialchars($message);
if ( empty($nomprenom) )
{
$error = 1;
$msgError .= '<h3>Veuillez renseigner votre nom et prénom..</h3>';
}
if ( empty($tel) )
{
$error = 1;
$msgError .= '<h3>Veuillez renseigner votre numéro de téléphone.</h3>';
}
if ( empty($message) )
{
$error = 1;
$msgError .= '<h3>Veuillez renseigner votre demande.</h3>';
}
// recherche par expression rationnelle insensible à la casse
// verification format de l'adresse mail
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$", $email))
{
$error = 1;
$msgError .= '<p>Veuillez saisir un e-mail valide.</p>';
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nomprenom']} "
."<{$_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 HP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $titre $nomprenom\n";
$mail_corps .= "Le contacter : $tel $email\n";
$mail_corps .= "Sa demande : $message\n\n\n";
// 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 e-mail';
}
?>
Je n'ai pas mis la partie HTML de cette page sinon le php ne s'affiche pas (d'où la modification de ce post). Et j'ai mis des balises HTML car avec les balises php, le code ne s'affiche pas

Comme il y a encore des choses qui m'échappent au niveau du php, je pense que j'ai dû mettre des éléments au mauvais endroit, ou bien oublié des signes quelque part, bref je suis un peu perdue.
En vous remerciant pour votre aide,
Modifié par mama5 (27 Feb 2011 - 00:17)