Check pseudo si existe
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour à tous !
Voilà, ce bout de code me renvois toujours que le 'pseudo' existe...
Pouvez-vous m'aider à corriger le problème ?
index.php
check.php :
Merci d'avance
Voilà, ce bout de code me renvois toujours que le 'pseudo' existe...
Pouvez-vous m'aider à corriger le problème ?
index.php
<input name="pseudo" type="text" id="pseudo" value="" maxlength="15" />
<span id="msgbox" style="display:none"></span>
<!-- AJAX CHECK -->
<script type="text/javascript">
$("#pseudo").blur(function()
{
$("#msgbox").removeClass().addClass('messagebox').text('Vérification en cours...').fadeIn("slow");
$.post("check.php" ,{pseudo:$(this).val()} ,function(data)
{
if(data=='no')
{
$("#msgbox").fadeTo(200,0.1,function(){$(this).html('Cette marque existe déjà.').addClass('Msg_Error').fadeTo(900,1);});
}
else
{
$("#msgbox").fadeTo(200,0.1,function(){$(this).html('Cette marque est disponible.').addClass('Msg_Valid').fadeTo(900,1);});
}
});
});
</script>
check.php :
<?php
require_once '../../../config.php';
global $connect_users;
$pseudo = $_POST['pseudo'];
if(strlen($pseudo) == 0)
{
echo ('empty');
}
else
{
// On récupère la liste des membres et on check si le pseudo existe déjà
$req = $connect_users->query("SELECT pseudo FROM tb_user WHERE pseudo='$pseudo'");
// On déroule la liste
$chk_pseudo = $req->fetch(PDO::FETCH_ASSOC);
// Si le pseuo existe déjà on retourne non
if($chk_pseudo == '1'){echo ('yes');}
if($chk_pseudo <> '1'){echo ('no'); $ok = false;}
}
?>
Merci d'avance
A voir également:
- Check pseudo si existe
- Ymail.com existe - Forum Mail
- Check disk - Guide
- Pseudo whatsapp - Accueil - Messagerie instantanée
- Vérifier si une phrase est correcte grammar check - Accueil - Google
- Check flash - Télécharger - Sécurité
2 réponses
Salut,
Pour compter un nombre ligne dans une table sql, il est recommandé d'utiliser une requête SELECT COUNT.
Je t'invite à reprendre l'exemple 2 de cette doc : https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1034
Bonne journée
Pour compter un nombre ligne dans une table sql, il est recommandé d'utiliser une requête SELECT COUNT.
Je t'invite à reprendre l'exemple 2 de cette doc : https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1034
Bonne journée
Bonjour Pitet,
En essayant de modifier le code, je reçois toujours "1" alors que c'est "0"...
Je en sais pas si j'ai bugger à quelque part :s
En essayant de modifier le code, je reçois toujours "1" alors que c'est "0"...
Je en sais pas si j'ai bugger à quelque part :s
<?php
require_once '../../../config.php';
global $pdo;
$Fr_Marque = $_POST['Fr_Marque'];
if(strlen($Fr_Marque) == 0){echo '0';} else {
$chk = "SELECT COUNT(*) FROM tb_marque WHERE WHERE Marque=".$Fr_Marque."";
if ($res = $pdo->query($chk)) {
/* Récupère le nombre de lignes qui correspond à la requête SELECT */
if ($res->fetchColumn() > 0) {
/* Effectue la vraie requête SELECT et travaille sur le résultat */
$chk = "SELECT Marque FROM tb_marque WHERE Marque=".$Fr_Marque."";
foreach ($pdo->query($chk) as $row) {
echo 1;
$ok = true;
}
}
/* Aucune ligne ne correspond -- faire quelque chose d'autre */
else {
echo 0;
$ok = false;
}
}
$res = null;
$conn = null;
}
?>
Tu as deux fois le mot clé WHERE dans ta première requête et la valeur $FR_Marque doit être entourée de guillemet si ce n'est pas un entier.
Essaye de corriger ta requête comme ceci :
Idem pour la 2ème requête :
Essaye de corriger ta requête comme ceci :
$chk = "SELECT COUNT(*) FROM tb_marque WHERE Marque = " . $pdo->quote($Fr_Marque);
Idem pour la 2ème requête :
$chk = "SELECT Marque FROM tb_marque WHERE Marque = " . $pdo->quote($Fr_Marque);
J'ai essayé avec
".$pdo->quote("'".$Fr_Marque."'"); et sans ".$pdo->quote($Fr_Marque);mais toujours pareil résultat malgré les corrections...
<?php
require_once '../../../config.php';
global $pdo;
$Fr_Marque = $_POST['Fr_Marque'];
if(strlen($Fr_Marque) == 0){echo '0';} else {
$chk = "SELECT COUNT(*) FROM tb_marque WHERE Marque = ".$pdo->quote("'".$Fr_Marque."'");
if ($res = $pdo->query($chk)) {
if ($res->fetchColumn() > 0) {
$chk = "SELECT Marque FROM tb_marque WHERE Marque = ".$pdo->quote("'".$Fr_Marque."'");
foreach ($pdo->query($chk) as $row) {echo 1; $ok = true;}
}
else {echo 0; $ok = false;}
}
$res = null;
$conn = null;
}
?>