Page 1 sur 1

probleme sur la création d' un espace membre !

Posté : 07 août 2008, 22:14
par hades
Bonjour à tous,

Je suis actuellement entrain de créer un espace membre, et j' ai un soucis au niveau de la redirection lors du logue du membre.
Voila enfaite le probleme et que l on peut se loguer sans soucis la redirection se fait lorsque les identifiant son correcte par contre lorsqu' il ne le sont pas il ne veut pas me rediriger au lien voulut.

Voici le code :
<?
include("param.inc.php");
include('fonction.php');
if((trim($pseudo!=""))&&(trim($password!="")))
{ 
  $requete="SELECT pseudo,password FROM client WHERE pseudo='$pseudo' AND password='$password'";
  $idcom=connex(BASENAME);
  $req = mysql_query($requete) or die('Erreur SQL !');
  mysql_close($idcom);
   while($dt = mysql_fetch_array($req))
   { 
     if(($dt['password']=$password)&&($dt['pseudo']=$pseudo)) // OK!
      {
	    header("Location:../index.php?op=espacemembre");
      }
     else
      {
        header("Location:../index.php?op=register");
      }
   }
}
?>
Pourriez-vous m' éclaircir sur ce probleme :D [/php]

Posté : 07 août 2008, 23:06
par Aureusms
Tu t'y prends mal... Normalement tu n'as qu'un utilisateur avec le couple login + mdp. Aussi, vérifie qu'il existe sans le renter dans la boucle while.
$password = addslashes($dt['password']);
$pseudo = addslashes($dt['pseudo']);

$requete="SELECT pseudo FROM client WHERE pseudo='$pseudo' AND password='$password'";
$resultat_sql = mysql_query ($requete) or die('Erreur SQL !');

if (mysql_num_rows($resultat_sql) != 0)
   {
   header("Location:../index.php?op=espacemembre");
   }
else
   {
   header("Location:../index.php?op=register"); 
   }

Posté : 07 août 2008, 23:24
par hades
Super c' étais sa merci beaucoup :D

Me revoila ^^ :D

Voila j ai encore un petit probleme :oops: .

sur mon espace membre je n arrive pas a afficher les bonne information client.
un exemple le simple bonjour pseudo il ne me donne pas le bon pseudo

je doit encore mal mit prendre ^^ surement .
Voici le code :
function espacemembre()
{
include("include/param.inc.php");
include('include/fonction.php'); 
$idcom=connex(BASENAME); 
$requete=mysql_query("select * FROM client") or die(mysql_error());
$donnees = mysql_fetch_array($requete);
?>
<h2>Bienvenue <?php echo $donnees['pseudo']; ?></h2>
<br /><a href="index.php?op=edit_profil">Edit&eacute; son profil</a>
<br /><a href="index.php?op=logout">Deconnection</a>    
<?php
mysql_close();
} 
enfaite pour l instant j utilise que le nom du client mais par la suite je metterait toute ses imformation ces pour cela que je selectionne toute

Posté : 08 août 2008, 18:15
par Aureusms
La si je te comprends bien tu essai de montrer dans ta fonction tout tes utilisateurs ?

Si tu ne veux montrer que les données que d'un utilisateur en particulier, interroge avec la clause WHERE. De plus, dans ton cas utilise mysql_fetch_assoc qui te donne les résultats sous un format associatif. En effet, mysql_fect_array te fais la même chose mais ajoute un format numérique i.e $donnees["nom"] et $donnees[1] (cela reste un exemple).

Pour ton cas, je te conseille de passer ton pseudo en variable de fonction :
<?php
function espacemembre($pseudo)
{
include("include/param.inc.php");
include('include/fonction.php'); 
$idcom=connex(BASENAME); 

$requete = "SELECT * FROM client WHERE pseudo='$pseudo' LIMIT 1";
$resultat_sql=mysql_query($requete) or die(mysql_error());
$donnees = mysql_fetch_assoc($resultat_sql);
?>
<h2>Bienvenue <?php echo $donnees['pseudo']; ?></h2>
<br /><a href="index.php?op=edit_profil">Edit&eacute; son profil</a>
<br /><a href="index.php?op=logout">Deconnection</a>    
<?php
mysql_close();
}
De plus je pense que :

include("include/param.inc.php");
include('include/fonction.php');

ne devrait pas être inclue ici. Mais comme je ne sais pas ce qu'il y a dedans....

Posté : 09 août 2008, 00:55
par hades
je te remercie pour ta réponse mais sa ne marche pas :? .
je vait essayer en session voir ceux que sa donne :wink: