Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/07/2006, 14h28   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 75
Points : 8
Points : 8
Par défaut Erreur de variable, je comprends vraiement pas :( aidez moi svp.

Coucou,

Je suis en train d'implémenter une fonction qui permet d'avoir un titre différent selon les pages de mon site, selon la catégorie et la page en cours.

Je rencontre un petit soucis avec 2 variables.
CID et JID qui sont en fait respectivement les numéros d'identifiant de mes catégories et du jeux en cours.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

$montitre = 'Mon SITE .COM';
include("config.php");

//CATEGORIE
$querychamp1 = mysql_query("SELECT * FROM categories WHERE cat_id='$cid'",$db);
while( $champ1 = mysql_fetch_array($querychamp1))
{
echo "<title>
  • $montitre
-". $champ1['cat_name'] . "</title>"; } //JID $querychamp2 = mysql_query("SELECT * FROM $tablecompteurs WHERE id='$jid'",$db); while( $champ = mysql_fetch_array($querychamp2)) { echo "<title> $montitre -" . $champ['titre'] . "</title>"; }
Actuellement, si je vais dans une page "catégorie", j'ai bien mon titre suivi du nom de la catégorie mais j'ai le message d'erreur :

Citation:
Notice: Undefined variable: jid in c:\program files\easyphp1-8\www\page.php on line 55
Et inverssement, si je vais dans une page "jeux", j'ai bien mon titre suivi du nom du jeux en cours mais j'ai le message d'erreur suivant :

Citation:
Notice: Undefined variable: cid in c:\program files\easyphp1-8\www\page.php on line 48
Je ne comprends pas bien ce qui se passe.
Dois je peut etre ré initialiser la variable ?
Donc j'ai fait ceci :
$cid = 0; pour la catégorie.
Ca marche
et j'ai mis
$jid = 0;
et la j'ai plus de titres mais pas de message d'erreur.

Est ce que quelqu'un pourrait me filer un coup de pouce svp ?
Merci d'avance,

Marc
plex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 14h47   #2
Membre chevronné
 
Avatar de stunti
 
Inscription : mai 2006
Messages : 521
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : mai 2006
Messages : 521
Points : 602
Points : 602
ces erreurs apparaissent lorsque $jid et $cid ne sont pas definie.
Il faut donc comprendre pourquoi elles ne sont pas definies.
Le mieux serait de les recuperes des tableaux $_GET ou $_POST.
__________________
If it's not broken, don't fix it.
BiliBa Built on top of Zend Framework
stunti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 19h48   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 75
Points : 8
Points : 8
Merci pour ta réponse, stunti
si je fais
Code :
1
2
3
4
5
6
7
 
$cid ='0';
$querychamp1 = mysql_query("SELECT * FROM categories WHERE cat_id='$cid'",$db);
while( $champ1 = mysql_fetch_array($querychamp1))
{
echo "<title> $montitre -". $champ1['cat_name'] . "</title>";	
}
ca me permet d'afficher le titre correctement pour mes pages de type jeux.
par contre pour les catégories
si je fais la meme chose, c'est a dire initialiser la variable a 0
avec

Code :
1
2
3
4
5
6
$jid ='0';
$querychamp2 = mysql_query("SELECT * FROM $tablecompteurs WHERE id='$jid'",$db);
while( $champ = mysql_fetch_array($querychamp2))
{
echo "<title> $montitre -" . $champ['titre'] .  "</title>";	
}
ca me plante tout

je comprends vraiement pas le problème
plex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 20h26   #4
Membre du Club
 
Avatar de bibom
 
Étudiant
Inscription : juin 2005
Messages : 83
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 83
Points : 63
Points : 63
Salut

Ou est que tu les récupère ces variables ?
Je ne sais pas si tu les passent par l'URL mais si c'est le cas il faut que tu les récupèrent à un moment avec
$cid = $_GET['cid']
$jid = $_GET['jid'] (par exemple)

Si tu les met à 0 elle auront toujours cette valeur et donc je ne vois pas trop à quoi sa sert.

Dit nous d'ou elle viennent ces variables au moin pour qu'on puisse t'aider un peu plus.
bibom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 20h55   #5
Invité régulier
 
Inscription : novembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 75
Points : 8
Points : 8
Merci pour ta réponse, par contre je débute en php alors bon ...
je bricolle a droite à gauche tu voit, j'essai de trouver des réponses ici et la et je lis différents tutos pour apprendre.

$cid c'est en fait le numéro d'id de ma catégorie et idem pour $jid.
ces variables me permettent d'afficher une page par son ID en fait.

avec par exemple cette requete :

Code :
1
2
3
4
5
6
7
8
9
 
$querychamp = mysql_query("SELECT cat_id, cat_name FROM categories",$db); 
 while($data = mysql_fetch_array($querychamp)) { 
 $cid = $data['cat_id']; 	 
 $name = $data['cat_name']; 	 
		echo '<li><a href="jeux.php?cid='.$cid; 
		if(!$id =='') echo '&id='.$id;
		echo '">'.$name.'</a></li>';
}
cat_id = le numéro d'identifiant de la catégorie.

Lorsque je vais dans une catégorie dans mon site ou alors dans la page d'un jeux, la variable existe puisque c'est elle qui permet d'appeler la page.

Est ce que ca te permet de m'aider ?
Sinon peut tu etre plus précis s'il te plait ?

MERCI ENCORE
plex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2006, 01h31   #6
Membre du Club
 
Avatar de bibom
 
Étudiant
Inscription : juin 2005
Messages : 83
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 83
Points : 63
Points : 63
D'accord j'ai toujours pas tout compris mais je vais essayer :

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$querychamp = mysql_query("SELECT cat_id, cat_name FROM categories",$db); 
 while($data = mysql_fetch_array($querychamp)) { 
 $cid = $data['cat_id'];        
 $name = $data['cat_name'];        
            echo '<li><a href="jeux.php?cid='.$cid; 
            if(!$id =='') echo '&id='.$id;
            echo '">'.$name.'</a></li>';
}
?>
Donc dans ce code tu va sur la page jeux.php en passant des paramètres.
La page jeux est elle la meme que celle ou tu fait cette requete ?

De toute façon si tu veux récupérer ces paramètre que tu passe pour les utiliser dans la requete de ton 1er post soi celle ci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$montitre = 'Mon SITE .COM';
include("config.php");

//CATEGORIE
$querychamp1 = mysql_query("SELECT * FROM categories WHERE cat_id='$cid'",$db);
while( $champ1 = mysql_fetch_array($querychamp1))
{
echo "<title>

      * $montitre

-". $champ1['cat_name'] . "</title>";      
}
//JID
$querychamp2 = mysql_query("SELECT * FROM $tablecompteurs WHERE id='$jid'",$db);
while( $champ = mysql_fetch_array($querychamp2))
{
echo "<title> $montitre -" . $champ['titre'] .  "</title>";      
} 
?>
Il te faut sa au début de ta page :

Code :
1
2
3
4
5
<?php
 if (isset($_GET["cid"])){$cid= $_GET["cid"];} else {$cid="";} 

?>
cette ligne verifie que le parametre que tu veux récupérer est bien présent (grace à isset(); ) si c'est le cas il le stock dans une variable. Autrement on déclare juste la variable.
Ensuite tu poura utiliser ton $cid pour ta requete

Bon je ne sais pas si sa t'aide mais j'aurais essayer. Si ce n'est pas sa essaye de donner le nom des page sur lekel ton code se situe.

A+
bibom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 14h16   #7
Invité régulier
 
Inscription : novembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 75
Points : 8
Points : 8
Merci beaucoup bibom.
c exactement ce que je voulais

en plus tu m'explique tout bien
MERCI !!!
plex est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h07.


 
 
 
 
Partenaires

Hébergement Web