Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 29-10-2007 18:17:19

scouf14
Membre
Date d'inscription: 05-06-2006
Messages: 26

Problème d'accès aux données dans une base de données

Bonsoir à tous, j'ai un petit problème et donc une question à vous poser.
Alors pour situer les choses, j'ai mis en place en espace membre.
Il y a une table "membre".
Mais ce que j'ai voulu faire, c'est de ne permettre l'inscription à cet espace membre qu'à des personnes dont j'aurais préalablement entré moi même le login dans la table "membre".
Alors pour cela j'ai mis cela :

Code:

//On trouve sur quelle ligne se trouve ce login et on enregistre le résultat dans $ligne
$requete=mysql_query("SELECT id_membre FROM membre WHERE login='$login'");    
$ligne=mysql_result($requete,0,"id_membre");
        
//On met à jour la table avec les nouvelles information entrées par l'utilisateur
$requete=mysql_query("UPDATE membre SET id='$id',pseudo='$pseudo_membre',passe='$passe_membre',nom='$nom',prenom='$prenom',email='$email',ville='$ville',naissance='$naissance' WHERE id_membre=$ligne");

Cela fonctionne très bien, mais comme vous pouvez vous en douter, n'importe qui qui connait le login peut modifier toutes les infos... Pas très pratique !
Alors je me suis dis la chose suivante. Pour que ce système soit efficace, il faut :
1) D'abord vérifier que le login est bien dans le base de donnée ( sous peine d'afficher une erreur MySQL )
2) Qu'une fois que les infos ont été entrées une fois on ne puisse plus les modifier.

Alors j'ai voulu ajouter les deux portions de code suivant :

Code:

//On vérifie si le membre ne s'est pas déjà enregistré
$requete=mysql_query("SELECT id FROM membre WHERE login='$login'");
$num=mysql_num_rows($requete);
if($result!=0)
{
echo "Cette personne s'est déjà inscrite sur l'espace membre.<br><br><a     href=\"javascript:window.history.back()\">Retour</a>";
}
else
{
...

Ainsi que :

Code:

//On vérifie si le login est bien dans la table
$requete=mysql_db_query($sql_bdd,"select * from membre where login=\"$login\"",$db_link) or die(mysql_error());
$num=mysql_num_rows($requete);
if($num!=0)
{
echo "Cette personne s'est déjà inscrite sur l'espace membre.<br><br><a     href=\"javascript:window.history.back()\">Retour</a>";
}
else
...

Enfin bref, ca m'affiche des erreurs de partout... J'aurais voulu savoir si il y avait une erreur flagrante de syntaxe, ou s'il fallait complètement revoir la manière de faire.
Merci d'avance pour vos réponses que j'éspère nombreuses.
Amicalement,
Julien

Hors ligne

 

#2 30-10-2007 04:45:15

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 463
Site web

Re: Problème d'accès aux données dans une base de données

dans le premier bloc, tu testes une variable $result au lieu de $num, je suppose.

sinon, peut être que si tu donnes les erreurs, ça aidera à trouver ce qui ne va pas.

++

Hors ligne