Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/02/2011, 22h47   #1
Invité de passage
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
Par défaut Problème très embêtant.

hello,
Y a quelque chose qui m'embête ...
Code :
1
2
3
4
5
6
7
8
9
 
if(isset($_POST['pseudo']) OR strlen($_POST['pseudo'])>15)
{
$_SESSION['pseudo'] = $_POST['pseudo'];
}
else
{
    echo "Pseudo invalide";
}
Pourtant quand je laisse le formulaire vide, ou j'écris un pseudo qui dépasse 15 caractères,
la page s'affiche normalement, au lieu de m'afficher "Pseudo invalide".
Quelqu'un pourrait m'aider, afin que si je laisse le formulaire vide, ou que j'écrive un pseudo qui comporte plus de 15 caractère, ça m'affiche l'erreur ?
k3nz0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 01h51   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
Code :
1
2
3
4
5
6
7
8
if(isset($_POST['pseudo']) && !empty($_POST['pseudo']) && strlen($_POST['pseudo'])<16)
{
$_SESSION['pseudo'] = $_POST['pseudo'];
}
else
{
    echo "Pseudo invalide";
}
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 01h54   #3
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

En fait, tu valides le pseudo si ce dernier contient au minimum 16 caractère - strlen($_POST['pseudo'])>15) -

Ensuite, la fonction isset() retourne True si la variable existe et a une valeur autre que NULL. Dans ton cas, la variable $_POST['pseudo'] existe même si elle contient une chaine vide.

Nous pourrions utiliser la fonction empty() afin de déterminer si la variable est une chaine vide, mais elle serait considérée comme valide même si elle ne contenait que des espaces. Il est donc nécessaire d'utiliser la fonction trim() afin de s'assurer que les éventuels espaces en début et fin de chaîne soient supprimés.
Code :
1
2
3
4
5
6
7
8
9
<?php
$pseudo=isset($_POST['pseudo'])?trim($_POST['pseudo']):'';
if(strlen($pseudo)>0 && strlen($pseudo)<16){
	$_SESSION['pseudo']=$pseudo;
}
else{
    echo "Pseudo invalide";
}
?>
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h16.


 
 
 
 
Partenaires

Hébergement Web