Formulaire erreurs de remplissage
stanac
Messages postés
62
Statut
Membre
-
stanac Messages postés 62 Statut Membre -
stanac Messages postés 62 Statut Membre -
Bonjour,
J'ai un petit problème.
J'ai crée pour m'entraîner un formulaire d'inscription à un site imaginaire!!... Ce formulaire est capable de détecter des erreurs de remplissages et d'afficher des messages d'erreurs. Cependant je ne sais pas comment faire pour positionner les messages d'erreurs à côté du champ concerné (dans ma page il se place au-dessus du formulaire).. Faut il utiliser du javascript ou du PHP et quelle code faut il écrire?
(Si le code peut vous aider..)
Le script du formulaire:
Le script de vérification du formulaire
J'ai un petit problème.
J'ai crée pour m'entraîner un formulaire d'inscription à un site imaginaire!!... Ce formulaire est capable de détecter des erreurs de remplissages et d'afficher des messages d'erreurs. Cependant je ne sais pas comment faire pour positionner les messages d'erreurs à côté du champ concerné (dans ma page il se place au-dessus du formulaire).. Faut il utiliser du javascript ou du PHP et quelle code faut il écrire?
(Si le code peut vous aider..)
Le script du formulaire:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Formulaire d'inscription</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design_formulaire.css" />
</head>
<body>
<form method="post" action="verif_formulaire.php">
<fieldset>
<legend>Identifiants</legend>
<table>
<tr>
<td><label>Entrer votre pseudo :</label></td>
<td><input type="text" name="pseudo" size="30" maxlength="20" value="<?php echo $_POST['pseudo']; ?>" /></td>
</tr>
<tr>
</tr>
<tr>
<td><label>Entrer votre mot de passe :</label></td>
<td><input type="password" name="password" size="30" maxlength="30" value="<?php echo $_POST['password']; ?>"/></td>
</tr>
<tr>
</tr>
<tr>
<td><label>Confirmation de votre mot de passe :</label></td>
<td><input type="password" name="password_confirmation" size="30" maxlength="30" value="<?php echo $_POST['password_confirmation']; ?>" /></td>
</tr>
<tr>
</tr>
<tr>
<td><label>Entrer votre adresse e-mail :</label></td>
<td><input type="text" name="email" size="30" maxlength="50" value="<?php echo $_POST['email']; ?>"/></td>
</tr>
<tr>
</tr>
<tr>
<td><label>Confirmation de votre adresse e-mail :</label></td>
<td><input type="text" name="email_confirmation" maxlength="50" size="30" value="<?php echo $_POST['email_confirmation']; ?>"/></td>
</tr>
<tr>
</tr>
<tr>
<td><input type="submit" value="valider"/></td>
</tr>
</table>
</fieldset>
</body>
</html>
Le script de vérification du formulaire
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Vérification du formulaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
// Connexion au serveur mysql
$connect = mysql_connect("localhost", "stanislas2.cote", "xxxxxxxxxxx")
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db("stanislas2_cote")
or die('Impossible de se connecter : ' . mysql_error());
// création de variables
$message_erreur = 'Les champs suivants doivent être correctement remplis : <br>';
$message_ok = 'Vos identifiants ont bien été enregistrés. <br> Vous pouvez maintenant vous connecter sur le site. <br>';
$message = $message_erreur;
$message_correspondance = '<b>Certaines donnees n\'ont pas été entrées correctement.</b>';
$message_correspondance_password = '<b>Les deux mots de passe ne correspondent pas.</b>';
$message_correspondance_email = '<b>Les deux adresses emails ne correspondent pas.</b>';
// Si des champs n'ont pas été remplis
if (empty($_POST['pseudo']))
$message .= 'Votre pseudo <br>';
if (empty($_POST['password']))
$message .= 'Votre mot de passe <br>';
if (empty($_POST['password_confirmation']))
$message .= 'Votre confirmation de mot de passe <br>';
if (empty($_POST['email']))
$message .= 'Votre adresse e-mail <br>';
if (empty($_POST['email_confirmation']))
$message .= 'Votre confirmation d\'adresse e-mail <br>';
if (strlen($message) > strlen($message_erreur))
{
// On affiche les champs non remplis
echo $message_correspondance .'<br>';
echo $message .'<br>';
// On réaffiche le formulaire
include ("formulaire.php");
// On arrête le code.
exit();
}
else
{
// On les range dans un tableau
foreach($_POST as $index => $valeur)
{
$$index = mysql_real_escape_string(trim($valeur));
}
}
// On vérifie le format de l'adresse email
if (isset($_POST['email']))
{
$_POST['email'] = htmlspecialchars($_POST['email']);
// si elle est bien compatible avec ce regex
if (preg_match("#^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
{
// On continue le code.
}
// Si elle n'est pas compatible
else
{
echo $message_correspondance;
echo 'L\'adresse email '. $_POST['email'] .' n\'a pas été rentré dans un format correcte.<br>';
// On affiche à nouveau le formulaire
include("formulaire.php");
// On arrête le code ici
exit;
}
}
// On vérifie le format du mdp
if (isset($_POST['password']))
{
$_POST['password'] = htmlspecialchars($_POST['password']);
// si il est bien compatible avec ce regex
if (preg_match("#^[a-zA-Z0-9._-]+$#", $_POST['password']))
{
// On continue le code.
}
// Si il n'est pas compatible
else
{
echo $message_correspondance;
echo 'Le mots de passe'. $_POST['password'] .' n\'a pas été rentré dans un format correcte.<br>';
// On affiche à nouveau le formulaire
include("formulaire.php");
// On arrête le code ici
exit();
}
}
// Si les 2 mdp ne correspondent pas
if ($_POST['password'] != $_POST['password_confirmation'])
{
// On affiche un message d'erreur
echo $message_correspondance_password .'<br>';
// On affiche à nouveau le formulaire
include("formulaire.php");
// On arrête le code ici.
exit();
}
// Si les 2 emails ne correspondent pas
if ($_POST['email'] != $_POST['email_confirmation'])
{
// On affiche un message d'erreur
echo $message_correspondance_email .'<br>';
// On affiche à nouveau le formulaire
include("formulaire.php");
// On arrête le code ici.
exit();
}
// On enregistre les données dans une base de donnees
$sql = "INSERT INTO membres VALUES ('', '".$pseudo."', '".$password."', '".$email."', now())";
$res = mysql_query($sql);
//On confirme l'inscription
if ($res)
{
echo $message_ok;
}
//message si erreur sur my/sql
else
{
echo mysql_error();
}
?>
</body>
</html>
A voir également:
- Une ou plusieurs erreurs sont présentes dans le formulaire. merci de rectifier votre saisie en vous aidant des aides disponibles.
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Saisie gestuelle iphone - Guide
- Rech. ou saisir l'url - Guide
- Formulaire de reclamation instagram - Guide
1 réponse
Le mieux, c'est certainement de faire ça avec "AJAX".
Voici un petit lien vers un tutoriel pour faire ça : http://blog.aguillem.fr/36-tutoriel-javascript-php-ajax-verifier-les-donnees-d-un-formulaire
Bon entrainement !
Voici un petit lien vers un tutoriel pour faire ça : http://blog.aguillem.fr/36-tutoriel-javascript-php-ajax-verifier-les-donnees-d-un-formulaire
Bon entrainement !
stanac
Messages postés
62
Statut
Membre
merci!! dsl pour le retard >> j'ai eu le tps de trouver entre temps mais merci