Le code que je vous montre en procédural permet de valider un formulaire.
Il faut un peu l'adapter, mais ca marche.
J'espère que ca aidera certains comme PHPFRANCE m'a aidé.
<!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>Freedom: liberté égalité fraternité</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Inscription pour le site </p>
<form id='inscription' method='POST' action='inscription.php'/>
<p>Nom <input type="text" name="nom"/></p>
<p>Prenom <input type="text" name="prenom"/></p>
<p>Mail <input type="text" name="mail"/></p>
<p>confirmation mail<input type="text" name="mail2"/></p>
<p>Age <input type="text" name="age"/></p>
<p>Travail <input type="text" name="travail"/></p>
<p>pseudo <input type="text" name="pseudo"/></p>
<p>mot de passe <input type="password" name="mdp"/></p>
<p>confirmation mot de passe <input type="password" name="mdp2"/></p>
<p><input type="submit" name="envoyer"/><input type="reset" name="annuler"/></p>
</form>
</body>
</html>
<?php
//fonction pour vérifier que les password sont les mêmes
function pass_meme($mdp,$mdp2)
{
if($mdp==$mdp2)
{
return true;
}
else
{
return false;
}
}
//fonction pour vérifier que les mails sont les mêmes
function mail_meme($mail,$mail2)
{
if($mail==$mail2)
{
return true;
}
else
{
return false;
}
}
//fonction pour vérifier que tous est rempli
function present($nom,$prenom,$mail,$mail2,$age,$travail,$pseudo,$mdp,$mdp2)
{
if (!empty($nom) && !empty($prenom) && !empty($mail) && !empty($mail2) && !empty($age) && !empty($travail) && !empty($pseudo) && !empty($mdp) && !empty($mdp2))
{
return true;
}
else
{
return false;
}
}
//fonction de check de type
//fonction check string
function check_string($nom,$prenom,$travail,$pseudo,$mdp)
{
if(is_string($nom) && is_string($prenom) && is_string($travail) && is_string($pseudo) && is_string($mdp))
{
return true;
}
else
{
return false;
}
}
//fonction check age
function check_age($age)
{
if(is_numeric($age))
{
return true;
}
else
{
return false;
}
}
//fonction check mail
function check_mail($mail)
{
//on sépare le mail en deux parties par rapport à @
$partie=explode("@",$mail);
//taille tableaux
$taille=count($partie);
//doit avoir deux parties
if($taille==2)
{
//on refait une séparation
$entete=explode(".",$partie[1]);
//maintenant on vérifie ce qui se trouve après le .
if ($entete[1]=="fr" or $entete[1]=="com")
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
//complexité mdp
function mdpcomplex($mdp)
{
//taille du mot de passe
//le mot de passe doit être supérieur à 4
if (strlen($mdp)>5)
{
return true;
}
else
{
return false;
}
}
function liste_noire($nom,$prenom,$travail,$pseudo,$mdp)
{
//on interdit des chaines de caractères
$interdits=array('sexe','hilter','adolf','nazi','pornographie');
//variable de vérif
$check=true;
//on vérifie que les choses rentrées ne sont pas un mot interdit
for($i=0;$i<count($interdits);$i++)
{
if($nom==$interdits[$i] || $prenom==$interdits[$i] || $travail==$interdits[$i] || $pseudo==$interdits[$i] || $mdp==$interdits[$i])
{
$check=false;
break;
}
}
return $check;
}
function liste_blanche($age)
{
//l'âge ne peut être compris qu'entre 0 et 100
$age=0;
$check=false;
for($i=0;$i<101;$i++)
{
if($age==$i)
{
$check=true;
}
}
return true;
}
function check_formulaire($nom,$prenom,$mail,$mail2,$age,$travail,$pseudo,$mdp,$mdp2)
{
if (present($nom,$prenom,$mail,$mail2,$age,$travail,$pseudo,$mdp,$mdp2)==true)
{
if(pass_meme($mdp,$mdp2)==true)
{
if(mail_meme($mail,$mail2))
{
if(check_string($nom,$prenom,$travail,$pseudo,$mdp)==true)
{
if(check_age($age)==true)
{
if(check_mail($mail)==true)
{
if(mdpcomplex($mdp)==true)
{
if(liste_noire($nom,$prenom,$travail,$pseudo,$mdp)==true)
{
if(liste_blanche($age))
{
echo "<h3 style='color:blue'> Formulaire validé</h3>";
}
else
{
echo "<h3 style='color:red'> L'age doit etre compris entre 0 et 100 niais!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Les propos pornographiques et racistes sont interdits espèce de sot!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Le mot de passe doit contenir 6 lettres neuneuh!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Le mail doit être sous la forme *****@gmail.com banane!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Age doit être un nombre simplet!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Mettre des chaines de caractères aux noms, prenoms, travail pseudo et mot de passe andouille!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Mettre les mêmes adresses mails imbécile!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Mettre un même mot de passe idiot!!!!</h3>";
}
}
else
{
echo "<h3 style='color:red'> Remplir toutes les cases abruti!!!!</h3>";
}
}
//maintenant on essaye toutes les fonctions
//extrait des données
extract($_POST);
if(!empty($nom))
{
check_formulaire($nom,$prenom,$mail,$mail2,$age,$travail,$pseudo,$mdp,$mdp2);
}
?>