Eléphant du PHP |
170 Messages
05 avr. 2007, 08:03
qui oblige l'utilisateur a rentrer des caractère alphabetique et l'interdit de rentrer des caractères numerique.
ca ne marche pas a 100%.
j'y je rentre : phil55555phil ou xyze33333 ca fonctionne
Si tu ne veux accepter que des caractères alphabétqiue il faut faire comme ça :
<?php
if (!preg_match('`^[[:alpha:]]$`', $_POST['nom']))
{
echo 'Votre nom ne peut contenir que des caractères alphabétiques.';
}
else
{
// on poursuit le script
}
?>
ou sans regex :
<?php
if (!ctype_alpha($_POST['nom']))
{
echo 'Votre nom ne peut contenir que des caractères alphabétiques.';
}
else
{
// on poursuit le script
}
?>
Autre chose ici :
<?php
$nom=$_POST["champnom"];
if (empty ($nom))
{
echo "attention le champ nom est vide";
exit();
}
L'utilisation de empty() c'est très bien mais faut tenir compte des espaces !!!
Donc tu feras :
<?php
$nom=trim($_POST['nom']);
if (empty($nom))
{
echo 'attention le champ nom est vide';
}
else
{
// la regex....
?>
Mieux encore, tu vérifies tout en une fois :
<?php
$nom=trim($_POST['nom']);
if(empty($nom) || !preg_match('`^[[:alpha:]]$`', $nom))
{
echo 'Attention !<br /> - soit le champ nom est vide<br />- soit le champ nom contient des caractères interdits<br />
pour rappel, seuls les caractères alphabétiques sont acceptés.';
}
else
{
// la suite du script
?>
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends