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

Petit nouveau ! | 3 Messages

07 août 2008, 22:14

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]

ViPHP
ViPHP | 1996 Messages

07 août 2008, 23:06

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"); 
   }
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Petit nouveau ! | 3 Messages

07 août 2008, 23:24

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

ViPHP
ViPHP | 1996 Messages

08 août 2008, 18:15

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....
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Petit nouveau ! | 3 Messages

09 août 2008, 00:55

je te remercie pour ta réponse mais sa ne marche pas :? .
je vait essayer en session voir ceux que sa donne :wink: