Vérification avec et sans majuscules

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérification avec et sans majuscules

Re: Vérification avec et sans majuscules

par TRUNCKS » 05 déc. 2011, 19:07

Non pas d"erreur particulière, juste cela passe.

Re: Vérification avec et sans majuscules

par xTG » 05 déc. 2011, 18:32

Cette requête te génère une erreur ? Te renvoie-t-elle une ligne de résultat ?

Re: Vérification avec et sans majuscules

par TRUNCKS » 05 déc. 2011, 18:08

J'ai fait ceci mais cela n'a pas marché, je ne m'y prend pas correctement ?
$sql = "SELECT nom_categorie
FROM categories
WHERE LOWER(nom_categorie) = LOWER('" . mysql_real_escape_string($_POST['nom_categorie']) . "')";

Re: Vérification avec et sans majuscules

par TRUNCKS » 05 déc. 2011, 18:04

Merci, je vais essayer cela.

Juste pour info, a quoi sert le
. "'";
à la fin ?

Re: Vérification avec et sans majuscules

par TRUNCKS » 05 déc. 2011, 18:03

Merci, je vais essayer cela.

Juste pour info, a quoi sert le . "'"; à la fin ?

Re: Vérification avec et sans majuscules

par xTG » 05 déc. 2011, 17:59

Ton code ne fonctionne absolument pas, il ne teste que le premier enregistrement dans ta base de données.
Utilises la clause WHERE de la requête SQL :
$sql = "SELECT nom_categorie
FROM categories
WHERE nom_categorie = '" . mysql_real_escape_string($_POST['nom_categorie']) . "'";
// mysql_real_escape_string() permet de protéger la chaîne des petits caractères malicieux qui pourraient générer une erreur ou exécuter un code non voulu
Mais cela respecte encore a casse, pour régler cela on va utiliser la fonction LOWER() en SQL :
SELECT id
FROM maTable
WHERE LOWER(nom) = LOWER('Stéphanie')
En supposant que Stéphanie soit orthographié par exemple stéphanie dans la table.
Le fait d'utiliser LOWER() va tout mettre en minuscule et donc le problème sera résolu.

Vérification avec et sans majuscules

par TRUNCKS » 05 déc. 2011, 17:47

Je dois faire une petite vérification sur un champ de formulaire.
La personne entre le nom d'une catégorie, je dois vérifier si cette catégorie existe déjà, si c'est le cas, refuser l'enregistrement.

Cela marche bien, mais si la personne met une majuscule, là cela passe.
Comment faire pour faire une vérification, majuscules et minuscules ne comptant pas ?
$nom_categorie = stripslashes(mysql_real_escape_string($_POST['nom_categorie']));

$sql = "SELECT nom_categorie
        FROM categories";

$requete = mysql_query($sql) or die( mysql_error());
$result = mysql_fetch_array($requete);

if (empty($_POST['nom_categorie'])){
	echo '<br/><br/>'.'<p style="color:#ff0000;font-weight:bold;">Vous devez au moins entrer le titre en Français pour pouvoir continuer</p>'."<br/><a href=\"addcategorie.php\">Revenir aux catégories</a>";
exit;
}

if ($result['nom_categorie'] == $nom_categorie){
		echo '<br/><br/>'.'<p style="color:#ff0000;font-weight:bold;">Cette série existe déjà</p>'."<br/><a href=\"addcategorie.php\">Revenir aux catégories</a>";
exit;
}
Merci à vous