Php/ Mysql Affichage de données

Fermé
SwiftFox Messages postés 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011 - 29 avril 2011 à 09:50
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 - 29 avril 2011 à 11:02
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 09:59
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 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 10:11
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 10:14
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 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 10:20
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 10:24
tu es sous MySQL? serveur local type WAMP, EasyPHP,...?
0
SwiftFox Messages postés 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 10:25
oui je suis sous MySQL avec WAMP mais j'utilise aussi Navicat Premium comme gestion bdd.
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 10:34
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 10:34
surement l'onglet "query" de navicat, de ce que je peux voir
0
SwiftFox Messages postés 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011
Modifié par SwiftFox le 29/04/2011 à 10:48
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 10:54
"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 10 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 10:57
Maintenant sa fonctionne =) merci de ton aide précieuse.
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
29 avril 2011 à 11:02
de rien ;)
0