PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-09-2009 16:19:42

gsp
Membre
Inscription : 09-09-2009
Messages : 9

contrôle formulaire avec if else

Bonjour sur ce nouveau forum.

J'ai utilisé un code déjà fait pour un contact avec la fonction mail(). Il fonctionne très bien pour mon besoin, mais j'ai quand même voulu ajouter sur chaque champs un contrôle pour qu'il ne soit pas vide et une confirmation du mail par double saisies.
Avec mon niveau en PHP, je pense qu'il doit y avoir un principe plus propre que else if et en plus mon code ne vérifie pas tout uniquement le premier et dernier champ ?
Si quelqu'un pouvait m'aider un petit peu, ce serait sympa.



Merci

J'allais oublier, voici le code


<?php
// Variables du formulaire déjà remplies
// le champ titre existe et est vide
$name = isset($_POST['name']) ? $_POST['name'] : '';
$subject = isset($_POST['subject']) ? $_POST['subject'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$email2 = isset($_POST['email2']) ? $_POST['email2'] : '';
$message = isset($_POST['message']) ? $_POST['message'] : '';

$difference = strcmp($email, $email2);
if (empty($name)) { echo("Vous n'avez pas précisé votre nom !"); }
else if (empty($subject)) { echo("Quel est le sujet de votre message !"); }
else if (empty($email)&&empty($email2)) { echo("Vous n'avez pas précisé votre mail !"); }
else if ($difference != '0') { echo ("confirmer votre adresse mail");}
else if (empty($message)) { echo("Vous vouliez me laisser un message !"); }
else
mail($email, $subject, $message, "From: $name < $email >");
?>
 

Super ce code qui se colorise

Hors ligne

#2 10-09-2009 08:59:23

rickways
Membre
Inscription : 30-08-2009
Messages : 37

Re : contrôle formulaire avec if else

Et un truc dans le style ?

if(!empty($_POST)){
//
// Debug
//
echo '<pre>';

echo '</pre>';
//
// Récupération normale des informations
//
$missing_fields = array();
if(empty($_POST['name'])){
$missing_fields[] = '"Name"';
}
if(empty($_POST['Subject'])){
$missing_fields[] = '"Sujet"';
}
if(empty($_POST['email'])){
$missing_fields[] = '"Vous devez remplir le champs e-mail"';
}

if(empty($_POST['email2'])){
$missing_fields[] = '"Vous devez confirmer votre e-mail"';
}

if(empty($_POST['message'])){
$missing_fields[] = '"Vous devez écrire un message"';
}
if(empty($missing_fields)){
echo 'Tous les champs ont été renseignés<br>';
#
mail($email, $subject, $message, "From: $name < $email >");

echo 'Votre mail a été envoyé';
}
else{
echo '<b>Les champs suivants doivent être remplis : <b>';
echo implode('<br />', $missing_fields);
}
echo '<br /><br />';
}
?>

Dernière modification par rickways (10-09-2009 08:59:58)

Hors ligne

#3 11-09-2009 04:53:51

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : contrôle formulaire avec if else

Saluton,
Cette double encapsulation des messages avec des ' ' et des " ", ça fait vraiment ceinture et bretelles, non ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums