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

Langage PHP Discussion :

[Tableaux] Message d'erreur PHP


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut [Tableaux] Message d'erreur PHP
    Bonjours

    J'ai une erreur dont je n 'arrive pas à resoudre. J'ai fait une page index.php utilisant deux frames. Le premier frame contient le menu de gauche (menu_g.php) et la deuxième contient le corps ( centre.php).

    Mon erreur provient du chargement de l'index.php . Lorsque l'on clique sur cette page (index) j 'ai une message d'erreur dans le deuxieme frame. Or Malgré l'erreur si je selectionne ou non quelque chose dans le menu de gauche l'erreur part, et cela m'affiche la valeur sélectionner dans le centre.

    Mon problème c'est que je n'arrive pas à résoudre l'erreur lors du premier chargement de la page.

    Message d'erreur au centre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice:  Undefined index:  g_c in c:\program files\easyphp1-8\www\test\centre.php on line 22
    index.php
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    </head>
     
    <frameset cols="21%,79%" frameborder="no" border="0" framespacing="0">
      <frame src="menu_g.php" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" />
      <frame src="centre.php" name="mainFrame" id="mainFrame" />
    </frameset>
    <noframes><body>
    </body>
    </noframes></html>
    menu_g.php
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?php
    session_start();
    mysql_connect("localhost","root","");
    mysql_select_db("test"); 
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Gestion_commercial</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <form method="post" action="menu_c.php" target="mainFrame">
    <table border="1">
    <tr>
     <th>messagerie</th>
    </tr>
    <tr>
    <td><select name="g_c" class="menu_deroulant">
            <option>Sélectionner</option><?php $res= mysql_query("SELECT c.num,c.nbr_mess,categorie FROM nbr_message c, fr_message a where c.num = a.num");if ($res){while ($resultat=mysql_fetch_object($res)){echo "<option value=$resultat->num>$resultat->categorie ($resultat->nbr_mess)";}} ?>
            </option>
        </select></td>
    </tr>
    <?php if (isset($_SESSION["message"])){?>
     <tr>
       <td align="center"><textarea name="message" cols="20" rows="5"><?php echo $_SESSION["message"];?></textarea></td>
     </tr>
     <?php } ?>
    <tr><td align="center"><input type="submit" value="Afficher" /></td></tr>
    </table>
    </form>
    </body>
    </html>
    centre.php
    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
    23
    24
    25
    26
    27
    28
     
    <?php
    session_start();
    mysql_connect("localhost","root","");
    mysql_select_db("test");
    ?>
    <html><head><link href="style.css" rel="stylesheet" type="text/css" /></head>
    <body>
    <table width="506" border="1" align="center">
        <tr>
            <td width="15" align="center"><b>Tout</b></td>
            <td width="250" align="center"><input type="button" value="Supprimer"></td>
            <td width="176" align="center"><input type="button" value="Valider"></td>
            <td width="15" align="center"><b>Tout</b></td>
        </tr>
        <tr>
            <td width="15" align="center"><input class="supprimer" onClick="Submit" type="checkbox"></td>
            <td width="250" align="center"><b>Titre</b></td>
            <td width="176" align="center"><b>Categorie</b></td>
            <td width="15" align="center"><input class="Valider" onClick="Submit" type="checkbox"></td>
        </tr>
          <?php
    $val = $_POST["g_c"];
    echo "$val<br>";
    ?>
    </table>
    </body>
    </html>
    bd
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    -- 
    -- Base de données: `test`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `fr_message`
    -- 
     
    CREATE TABLE `fr_message` (
      `num` int(11) NOT NULL auto_increment,
      `num_session` int(11) NOT NULL default '0',
      `titre` text NOT NULL,
      `categorie` text NOT NULL,
      PRIMARY KEY  (`num`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
     
    -- 
    -- Contenu de la table `fr_message`
    -- 
     
    INSERT INTO `fr_message` VALUES (1, 1, 'Probleme carte video', 'Informatique');
    INSERT INTO `fr_message` VALUES (2, 1, 'Probleme apache', 'Informatique');
    INSERT INTO `fr_message` VALUES (3, 1, 'Probleme php', 'Informatique');
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `nbr_message`
    -- 
     
    CREATE TABLE `nbr_message` (
      `num` int(11) NOT NULL default '0',
      `nbr_mess` int(11) NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    -- 
    -- Contenu de la table `nbr_message`
    -- 
     
    INSERT INTO `nbr_message` VALUES (1, 3);

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    A priori ce n'est pas une erreur juste un "notice" je dirais que cela t'averti que la variable posté g_c n'existe pas.


    <form method="post" action="menu_c.php" target="mainFrame">
    tel que je lis le code c'est dans ton script menu_c.php que tu y aura acces.
    je crois pas qu'en php tu puisse communiquer entre les frames.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    Ce qui est bizarre, c'est que cela me met pour le premier affichage de l'index, ce message d'erreur. Or malgre cela si je clique sur valider le post g_c passe et envoie la valeur au centre.php . donc ce n'est pas pas un problème de post car il fonctionne. Ce que je comprends pas c'est pourquoi cela ne marche pas lors du premier chargement de l'index. Je sais qu'il n'a rien à passer car on a pas cliquer sur valider. Qu'est ce qu il faut faire pour que la notice ne s'affiche plus.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    Il faut que tu modifies ton fichier php.ini

    La variable error_reporting tu desactives les notice pour qu'ils ne soient pas affiché

    error_reporting = E_ALL & ~E_NOTICE

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    non je l'ai toujours même en l'enlevant. Donc c'est au niveau du code de centre.php . Je pense qu il veut une valeur or il ne la recoit pas c'est normal lors du premier chargement rien n'a tete selectionner. Mais si je met

    J'ai essayé ca si $val= rien mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $val = $_POST["g_c"];
    if ($val="") { echo "Sélectionner une choix";}else{echo "$val<br>";}
    ?>
    message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice:  Undefined index:  g_c in c:\program files\easyphp1-8\www\test\centre.php on line 22

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    Je ne vois pas comment faire alors. Le seul moyen pour faire disparaitre un notice c'est d'editer le php.ini comme dans mon post précedent ou de ne pas appeller POST[] si la variable n'existe pas.

    Tu es sure d'avoir relancé ton serveur ou d'avoir éditer le bon fichier php.ini?(parfois on a plusieurs versions de php installées)

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    J ai essayer ca mais c'est pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          <?php
    $val = $_POST["g_c"];
    if ($val!="") { echo "$val<br>";}else{echo "Sélectionner une choix";}
    ?>
    message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice:  Undefined index:  g_c in c:\program files\easyphp1-8\www\test\centre.php on line 22
    Sélectionner une choix
    La je ne vois plus de solution si vous en avait une dite

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    Oui je l ai relancé esayphp

  9. #9
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
    if(isset($_POST["g_c"])) {
        $val = $_POST["g_c"];
        if ($val!="") { echo "$val<br>";}else{echo "Sélectionner une choix";}
    }
    ca devrait marcher

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    ca fonctionne

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/08/2007, 02h41
  2. [Tableaux] Message d'erreur dans un foreach
    Par maysa dans le forum Langage
    Réponses: 2
    Dernier message: 14/08/2007, 11h45
  3. Message d'erreur PHP/XSL
    Par xslxml dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/05/2006, 10h14
  4. [Tableaux] Message d'erreur déroutant
    Par Damzz dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2006, 02h04
  5. [Tableaux] message d'erreur
    Par ista9im dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 19h56

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