Afficher $id (clé primaire) sur une page PHP

Résolu/Fermé
tagmc Messages postés 20 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 21 avril 2010 - 9 mai 2009 à 12:37
tagmc Messages postés 20 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 21 avril 2010 - 9 mai 2009 à 20:58
Bonjour,
j'ai un problème depuis 1 semaine que je n'arrive pas à résoudre :

formulaire de login : Admin_piece.php

<HTML>
<HEAD>
<TITLE>Connectez-vous</TITLE>
</HEAD>
<BODY>
<TABLE>
<FORM method="post" action="Connexion_Piece.php">
<TR><TD>Login :<BR><INPUT name="pseudo" type="text"></TD></TR>
<TR><TD>Mot de passe :<BR><INPUT name="pass" type="password"></TD></TR>
<TR><TD><INPUT type="submit" value="ok"></TD>
</TR>
</FORM>
</TABLE>
</BODY>
</HTML>

se connecter : Connexion_Piece.php
<?php
session_start();
$pseudo = $_POST["pseudo"] ;
$pass = $_POST["pass"] ;


$Id = mysql_connect("localhost" , "root" , "mysql");

if ($Id == False)
{
echo("La connexion a échoué") ;
}
else
{
$OkS = mysql_select_db ("piece" ) ;
if ($OkS == FALSE)
{
echo("La base de donnée est inexistante.") ;
}
else
{
// on recupère le password de la table qui correspond au login du visiteur
$sql = "SELECT * FROM `membre` WHERE `pseudo`='" . $pseudo . "'" ;
$ReqSQL = mysql_query($sql) ;
$data = mysql_fetch_array($ReqSQL) ;
$Nom = $data['pass'] ;

if($pseudo =="") // On vérifie que le champs message est rempli ( > si Message = rien )
{
echo("Le champ Membre est vide !"); // On dit que le champs message n'est pas rempli
echo("<BR>");
echo ("<A Href=\"Javascript:history.go(-1)\">retour</A>");
}
else if($pass =="") // On vérifie que le champs message est rempli ( > si Message = rien )
{
echo("Le champ Mot de Passe est vide !");
echo("<BR>");
echo ("<A Href=\"Javascript:history.go(-1)\">retour</A>"); // On dit que le champs message n'est pas rempli
}
else if($pseudo != $pass)
{
include('Recommence_Piece.html');
exit;
}


else if ($data['pass'] == $pass)
//Début de la session utilisateur si le login est bon
{
$_SESSION['pseudo'] = $pseudo;
include('compte.php');

}
else
{
echo '<p>Vous avez oublié de remplir un champ.</p>';
// On inclut le formulaire d'identification
include('Recommence_Piece.html');
exit;
}
}
}
?>

Pour le moment tout est bon, je me loge bien et ça marche, mais c'est la que ça se corse, car je souhaite afficher sur la page PHP l'ID associé au membre (qui me sera utile pour la suite du site, et il me le faut absolument):
compte.php
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
@session_start();
$Id = mysql_connect("localhost" , "root" , "mysql");
mysql_select_db ("piece" ) ;

$ResSQL = " SELECT * FROM membre WHERE pseudo = '$pseudo'";
$Res = mysql_query ( $ReqSQL ) ;

echo ("Bienvenue sur votre compte $pseudo !"); // le pseudo s'affiche bien !!
echo ("<BR>");
echo ("Votre identidiant est $id_membre"); // et la, c'est le drame : Notice: Undefined variable: id_membre in C:\Documents and Settings\Franck\Bureau\Nouveau dossier\piece\compte.php on line 18
echo ("<A Href=\"Form_Inserer_Piece.php\">Modifier vos pièces</A>");
echo ("<BR>");
echo ("<A Href=\"Deco_Piece.php\">Se déconnecter</A>");
mysql_close () ;
?>

Ensuite, sur la page Form_Inserer_Piece, j'aurais également besoin de récuperer l'ID pour le mettre dans ma requête SQL mais comme je n'arrive pas à l'afficher sur compte.php, je n'arrive pas à l'afficher sur le Form_Inserer-Piece.php


j'espere que j'ai été clair

Amicalement

Franck

10 réponses

PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
9 mai 2009 à 12:50
Bjr

Hum déjà pourquoi appelles-tu "@session_start();" dans compte.php sachant que la page Connexion_Piece.php
l'a déjà appellé et que compte.php est utilisé en tant qu'include ?

Ensuite si $id_membre n'est pas défini c'est tout simplement parce que tu ne l'as pas initialisé :
comment veux-tu que PHP devine qu'il doit lire cette variable depuis ta base de donnée ?

Ecrit plutôt :

$Res = mysql_query ( $ReqSQL ) ; 
$row = mysql_fetch_array($Res);
$id_membre = $row["id_membre"]; 


Evidemment ici je suppose que le champ dans ta table se nomme "id_membre"

1