IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur de variable, je comprends vraiement pas :( aidez moi svp.


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    $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 :

    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 :

    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

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    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.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut
    Merci pour ta réponse, stunti
    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre régulier Avatar de bibom
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 77
    Points
    77
    Par défaut
    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.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Membre régulier Avatar de bibom
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 77
    Points
    77
    Par défaut
    D'accord j'ai toujours pas tout compris mais je vais essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut
    Merci beaucoup bibom.
    c exactement ce que je voulais

    en plus tu m'explique tout bien
    MERCI !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Windows 8 ne demarre pas aidez moi svp
    Par 1abdou1 dans le forum Windows 8
    Réponses: 3
    Dernier message: 27/09/2014, 09h32
  2. Aidez moi svp pour une erreur en delphi
    Par jujudrogba dans le forum Framework .NET
    Réponses: 1
    Dernier message: 04/01/2007, 17h22
  3. [MySQL] Erreur de variable, je comprends pas :(
    Par plex dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2006, 15h36
  4. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo