Php/ Mysql Affichage de données

SwiftFox Messages postés 16 Statut Membre -  
Gremy87 Messages postés 360 Statut Membre -
Bonjour,

Donc voila je me debrouille quand meme assez bien en php mais avec ce code j'ai un blanc de mémoire.
Donc je que j'essaie de faire c'est une page profil qui quand on clique sur le nom exemple : Test bien sa me renvoie a une adresse du style http://127.0.0.1/index.php?p=profile&id=1

Sachant que le &id=1 est le numero du GUID du compte

Donc voila ma page profile.php et je recois toujours cette erreur "L\'identifiant de l\'utilisateur n\'est pas défini" lorsque je clique sur un lien pour afficher un profil.


<?php
//On verifie que lidentifiant de lutilisateur est defini
if(isset($_GET['guid']))
{
	$id = intval($_GET['guid']);
	//On verifie que lutilisateur existe
	$dn = mysql_query('select account, email, pass, avatar from accounts where guid="'.$id.'"');
	if(mysql_num_rows($dn)>0)
	{
		$dnn = mysql_fetch_array($dn);
		//On affiche les donnees de lutilisateur
?>
<div class="title_text">
<span style="position:absolute;margin-top:7px;margin-left:35px;">Voici le profil de "<?php echo htmlentities($dnn['id']); ?>" :</span>
</div>
<div id="content_text">

<table style="width:500px;">
	<tr>
    	<td><?php
if($dnn['avatar']!='')
{
	echo '<img src="'.htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8').'" alt="Image Perso" style="max-width:100px;max-height:100px;" />';
}
else
{
	echo 'Cet utilisateur n\'a pas d\'image perso.';
}
?></td>
    	<td class="left"><h1><?php echo htmlentities($dnn['account'], ENT_QUOTES, 'UTF-8'); ?></h1>
    	Email: <?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?><br />
        </td>
    </tr>
</table>
<?php
	}
	else
	{
		echo 'Cet utilisateur n\'existe pas.';
	}
}
else
{
	echo 'L\'identifiant de l\'utilisateur n\'est pas défini.';
}
?>

</div>






Merci de votre aide.


A voir également:

12 réponses

Gremy87 Messages postés 360 Statut Membre 38
 
Bonjour,

d'après ce que tu dit, c'est ce teste qui foire

if(isset($_GET['guid']))
{


normal ta variable s'appel id et pas guid

1
SwiftFox Messages postés 16 Statut Membre
 
ah oui sa a corriger quelque bugs =)

maintenant jai cela comme erreur
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\pages\profile.php on line 8
Cet utilisateur n'existe pas.


et pourtant jai bien un compte sur le guid 1 dans ma bdd
0
Gremy87 Messages postés 360 Statut Membre 38
 
je suppose que guid est un int en bdd

$dn = mysql_query('select account, email, pass, avatar from accounts where guid='.$id.' );

pas sur que ca resolve quelque chose mais bon

si ca marche toujours pas test ta requête générée (echo $dn) dans un phpmyadmin par exemple, tu veras si il y a une erreur de syntaxe
0
SwiftFox Messages postés 16 Statut Membre
 
Oui guid est un int dans la bdd.
Sinon je sais pas comment tester la requete :s


sa marche pas toujours la meme erreur sinon voici mon index.php

<?php

session_start();
require_once('inc/function.inc.php');
require_once('inc/config.inc.php');
include('inc/class/all.php');

if (isset($_SESSION['guid']))
{
$connect = true;
$compte = new Compte($_SESSION['guid']);
}

include('inc/header.php');
include('inc/menu_left.php');
include('inc/menu_right.php');
include('inc/content.php');
define('SECU', true);if (empty($_GET['p'])) $_GET['p'] = 'home';if(!file_exists("pages/".$_GET["p"].".php")) $_GET["p"]="404";$urlInclusion = 'pages/'.$_GET['p'].'.php';include($urlInclusion);
include('inc/footer.php');
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gremy87 Messages postés 360 Statut Membre 38
 
tu es sous MySQL? serveur local type WAMP, EasyPHP,...?
0
SwiftFox Messages postés 16 Statut Membre
 
oui je suis sous MySQL avec WAMP mais j'utilise aussi Navicat Premium comme gestion bdd.
0
Gremy87 Messages postés 360 Statut Membre 38
 
donc remplace

$dn = mysql_query('select account, email, pass, avatar from accounts where guid="'.$id.'"');

par

$req='select account, email, pass, avatar from accounts where guid='.$id;
echo $req;
$dn = mysql_query($req);

ensuite tu copie la requete renvoyée par le echo et tu la met dans un onglet sql de navicat. si il y a une erreur de syntaxe, ca va te le dire, si ca renvoi rien, pareil et si ca renvoi quelque chose ben tu saura que ca vient pas de la (ce qui m'étonnerais)
0
Gremy87 Messages postés 360 Statut Membre 38
 
surement l'onglet "query" de navicat, de ce que je peux voir
0
SwiftFox Messages postés 16 Statut Membre
 
J'ai cette erreur

le echo $req; affiche sa correct : select account, email, pass, avatar from accounts where guid=1   
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\pages\profile.php on line 11   
Cet utilisateur n'existe pas.



et pour le truc de la requete jpa compris sinon jai coller le code dans la console mysql


mysql>    $req='select account, email, pass, avatar from accounts where guid='.$id;    
  echo $req;    
  $dn = mysql_query($req);   
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$req='select account, email, pass, avatar from accounts where guid='.$id' at line 1   
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'echo $req' at line 1   
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$dn = mysql_query($req)' at line 1   
mysql> 


et voici ma connexion sql dans mon inc/config.inc.php
/* Connexion MYSQL */

$dbIP = 'localhost';	                 // IP de la base de données
$dbPORT = '3306';	                     // Port de la base de données
$dbUSER = 'root';	                     // Utilisateur de la base de données
$dbPSWD = '';	                         // Mot de passe de la base de données
$dbNAME = 'ancestra_other';	             // Nom de la base de donnée (other)
$dbSTATIC = 'ancestra_static';            // Nom de la base de donnée (static)
0
Gremy87 Messages postés 360 Statut Membre 38
 
"je me debrouille quand meme assez bien en php" plus va plus j'en doute...


bon vu que ta requête a l air syntaxiquement bonne, ca doit venir de ta bdd

t es sur que ton champ bdd ne s'appelle pas lui aussi id et pas guid?

tu peux tester ta requête comme ca mais ne laisse pas le php -_-' tu met que la requête dans ta console...
0
SwiftFox Messages postés 16 Statut Membre
 
Maintenant sa fonctionne =) merci de ton aide précieuse.
0
Gremy87 Messages postés 360 Statut Membre 38
 
de rien ;)
0