Ligne incorrect php
Résolu
ana7
Messages postés
16
Statut
Membre
-
Ricky38 Messages postés 5776 Statut Contributeur -
Ricky38 Messages postés 5776 Statut Contributeur -
Bonjour,
J'ai une partie de code qui ne passe pas, il devrait y avoir une vérification mais elle ne se fait pas.
Merci pour votre aide.
Voici le morceau qui pose probleme.
//On verifie que l'enregistrement n'existe pas
$verif = ("SELECT * FROM inscription WHERE activite LIKE '%$libelle%';");
$result_verif = mysql_query($verif) or die ('Erreur : '.mysql_error() );
if ($ligne_verif=mysql_fetch_array($result_verif)) {
$nom_verif = $ligne_verif['nom_eleve'];
$prenom_verif = $ligne_verif['prenom_prenom'];
$classe_verif = $ligne_verif['classe_eleve'];
}
if (($nom_verif == $nom) && ($prenom_verif == $prenom)) {
echo "Vous êtes déjà inscrit à cette activité";
exit;
}
J'ai une partie de code qui ne passe pas, il devrait y avoir une vérification mais elle ne se fait pas.
Merci pour votre aide.
Voici le morceau qui pose probleme.
//On verifie que l'enregistrement n'existe pas
$verif = ("SELECT * FROM inscription WHERE activite LIKE '%$libelle%';");
$result_verif = mysql_query($verif) or die ('Erreur : '.mysql_error() );
if ($ligne_verif=mysql_fetch_array($result_verif)) {
$nom_verif = $ligne_verif['nom_eleve'];
$prenom_verif = $ligne_verif['prenom_prenom'];
$classe_verif = $ligne_verif['classe_eleve'];
}
if (($nom_verif == $nom) && ($prenom_verif == $prenom)) {
echo "Vous êtes déjà inscrit à cette activité";
exit;
}
A voir également:
- Ligne incorrect php
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - Guide
- Apparaitre hors ligne instagram - Guide
4 réponses
Salut.
D'accord ni avec l'un, ni avec l'autre ...
Pour Ricky38 :
"$nom" est une variable, "nom" est la clé d'un tableau, donc la syntaxe est bonne.
Pour commencer, la requête sql est une chaine de caractère, pourquoi tu l'entoures avec des parenthèses ? Elles sont inutiles (peut être que ca fonctionne avec, j'ai pas testé).
Ensuite, quand tu regardes dans la doc PHP, mysql_fetch_array renvoi un array et pas un booléen, donc impossible de mettre un "if" dessus.
Le mot clé "LIKE" de SQL fait une recherche approximative dans une base de données, donc pour une vérification, c'est pas terrible.
Si par exemple ton utilisateur s'inscrit pour faire du ski (de fond) et qu'il est déjà inscrit pour du ski nautique, son inscription ne sera pas validée.
Utilises plutôt : WHERE activite='$libelle'
Donc, je verrais plus un truc comme ca :
J'espère avoir put t'aider.
D'accord ni avec l'un, ni avec l'autre ...
Pour Ricky38 :
"$nom" est une variable, "nom" est la clé d'un tableau, donc la syntaxe est bonne.
Pour commencer, la requête sql est une chaine de caractère, pourquoi tu l'entoures avec des parenthèses ? Elles sont inutiles (peut être que ca fonctionne avec, j'ai pas testé).
Ensuite, quand tu regardes dans la doc PHP, mysql_fetch_array renvoi un array et pas un booléen, donc impossible de mettre un "if" dessus.
Le mot clé "LIKE" de SQL fait une recherche approximative dans une base de données, donc pour une vérification, c'est pas terrible.
Si par exemple ton utilisateur s'inscrit pour faire du ski (de fond) et qu'il est déjà inscrit pour du ski nautique, son inscription ne sera pas validée.
Utilises plutôt : WHERE activite='$libelle'
Donc, je verrais plus un truc comme ca :
// On verifie que l'enregistrement n'existe pas
$verif = "SELECT * FROM inscription WHERE activite = '$libelle'";
$result_verif = mysql_query($verif) or die ('Erreur : '.mysql_error() );
// Compteur à 0
$i = 0;
// Boucle sur le nombre d'entées SQL
while ($ligne_verif=mysql_fetch_array($result_verif)) {
$nom_verif[$i] = $ligne_verif['nom_eleve'];
$prenom_verif[$i] = $ligne_verif['prenom_prenom'];
$classe_verif[$i] = $ligne_verif['classe_eleve'];
$i++;
}
// Vérification pour inscription
if ( ( in_array( $nom, $nom_verif ) ) && ( in_array( $prenom, $prenom_verif ) ) ) {
echo "Vous êtes déjà inscrit à cette activité";
exit;
}
J'espère avoir put t'aider.
Salut,
à une place tu as $nom et à l'autre tu as nom_eleve
à une place tu as $prenom et à l'autre tu as prenom_prenom
Surement ça
à une place tu as $nom et à l'autre tu as nom_eleve
à une place tu as $prenom et à l'autre tu as prenom_prenom
Surement ça
tu as bien raison mon ami, j'ai regardé beaucoup trop vite
Bonne journée ;)