Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 25
  1. #1
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut Variables non définies

    Bonjour,

    Je ne comprends pas pourquoi ce code n'est pas bon sur 3 points (language, article et volume)... et ca me bloque ma page et donc mon site sur cette rubrique...

    1.
    PHP Notice: Undefined variable: language :
    Mon code:
    Code :
    if (!$language) $language = "fr";
    2.
    PHP Notice: Undefined variable: volume
    Mon code:
    Code :
    $q_volume = "SELECT * FROM ".$language."_nep WHERE volume = '".urldecode($volume)."'";
    3.
    PHP Notice: Undefined variable: article
    Mon code:
    Voila... Avant que mon hébergeur fasse une mise a jour de ses serveurs tout ca marchait et a present ce n'est plus le cas et je ne comprends pas pourquoi ! :-(

    Merci de votre aide

    Biz

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    janvier 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2010
    Messages : 55
    Points : 86
    Points
    86

    Par défaut

    bonjour

    Ca te dit que tes variables n'existent pas.
    Vérifie par un isset(variable); qui renvoie vrai si la variable existe.

  3. #3
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par ndalaba Voir le message
    bonjour

    Ca te dit que tes variables n'existent pas.
    Vérifie par un isset(variable); qui renvoie vrai si la variable existe.
    euh... c'est-a-dire ?

    j'ai juste a placer isset devant ma ligne ?

    ex: isset if (!$language) $language = "fr"; c'est ca ??

  4. #4
    Membre expérimenté
    Homme Profil pro armel
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Nom : Homme armel
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 298
    Points : 528
    Points
    528

    Par défaut

    bonjour,
    il me semble que register_globals a été désactivé c-a-d register_globals=off.
    En PHP 4.2 et plus la variable $volume envoyée depuis le formulaire n'est plus accessible directement avec $volume. Pour lire le champ volume il faut faire: $_POST['volume'] ou $_GET['volume'] suivant la méthode employée par le formulaire.

    Depuis PHP 4.2 la valeur par défaut du paramètre register_globals est à off, dans le fichier de config php.ini.

    sur ton serveur que renvoie:

    Code :
    1
    2
     
    echo "register_globals vaut " . ini_get(’register_globals’);

  5. #5
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 171
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 171
    Points : 86 178
    Points
    86 178

    Par défaut

    Depuis PHP 4.2 la valeur par défaut du paramètre register_globals est à off
    Cela pour des raisons de sécurité !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    bonjour,
    il me semble que register_globals a été désactivé c-a-d register_globals=off.
    En PHP 4.2 et plus la variable $volume envoyée depuis le formulaire n'est plus accessible directement avec $volume. Pour lire le champ volume il faut faire: $_POST['volume'] ou $_GET['volume'] suivant la méthode employée par le formulaire.

    Depuis PHP 4.2 la valeur par défaut du paramètre register_globals est à off, dans le fichier de config php.ini.

    sur ton serveur que renvoie:

    Code :
    echo "register_globals vaut " . ini_get(’register_globals’);
    Bonjour Armel et merci de ton aide...

    J'ai bien tente de voir si cela pouvait marcher avec ce que tu m'as prescris mais rien n'y fait... :-(

    Je vais coller un peu plus de code peut-etre que la fautese situe ailleurs meme si ca n'en a pas l'air...

    Code :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <?php
    // Connection au SGBD (mySQL)
    $link = @mysql_connect($host,$user,$pass) or die(mysql_error());
     
    // Connection à la base de données $base
    $db = @mysql_select_db($base,$link) or die(mysql_error());
     
    // Définition de la langue par défaut si la variable $lang n'est pas définie en URL
    if (!$language) $language = "fr";
     
    // Définition de la requête SQL : sélection du volume recherché dans la langue spécifiée
    // Note importante : aucun test de validité n'est fait sur $volume : à rajouter !!!
    $q_volume = "SELECT * FROM ".$language."_nep WHERE volume = '".urldecode($volume)."'";
     
    // Récupération du résultat de la requête dans $r_volume
    $r_volume = mysql_query($q_volume,$link) or die("Aucun résultat !");
     
    // Récupération du nombre de résultat renvoyés dans la variable $c_volume
    $c_volume = mysql_num_rows ($r_volume);
     
    // Boucle parcourant les différentes lignes du résultat de la requête SQL
    // La variable $article contient l'ensemble des lignes du résultat sous forme d'un tableau
    // à deux dimensions. Chaque ligne $article[$i] contient un enregistrement d'article complet
    // sous la forme d'un tableau associatif (paires de valeurs "nom de la colonne" => "valeur"
    // stripslashes() est une fonction supprimant les caractères d'échappemment \ pour affichage.
    $i = 0;
    while ($i < $c_volume) {
      $article[$i]["id"] = htmlentities(mysql_result($r_volume, $i, "id"));
      $article[$i]["titre"] = htmlentities(mysql_result($r_volume, $i, "titre"));
      $article[$i]["auteur"] = htmlentities(mysql_result($r_volume, $i, "auteur"));
      $article[$i]["pays"] = htmlentities(mysql_result($r_volume, $i, "pays"));
      $article[$i]["abstract"] = htmlentities(mysql_result($r_volume, $i, "abstract"));
      $article[$i]["motscles"] = htmlentities(mysql_result($r_volume, $i, "motscles"));
      $article[$i]["volume"] = htmlentities(mysql_result($r_volume, $i, "volume"));
      $article[$i]["numpage"] = htmlentities(mysql_result($r_volume, $i, "numpage"));
      $article[$i]["etoile"] = htmlentities(mysql_result($r_volume, $i, "etoile"));
      $i++;
    }
     
    ?>
     
    <?php
    	$titre = 'AFFICHAGE RESUMES';	
    	$keywords = 'AFFICHAGE RESUMES';	
    	include($_SERVER["DOCUMENT_ROOT"].'/header.php');
    	include($_SERVER["DOCUMENT_ROOT"].'/suivianalytics.php'); 
    ?>
    <link rel="shortcut icon" type="image/gif" href="http://www.cimm-icmm.org/images/logocimm.gif" />
    <br />
    <div align="center">
      <p><a name="haut"></a>  
      <table width="600" border="0" cellspacing="0" cellpadding="3">
        <tr>
          <td bgcolor="#000099" class="titrefr"><div align="center" class="titrefr">sommaire</div></td>
        </tr>
        <tr>
          <td class="textfr"><div align="justify">
              <?php
    $i = 0;
    while ($i < $c_volume) 
    { ?>
              <a href="#<?php echo "article".$i; ?>"><?php echo utf8_encode($article[$i]["titre"]); ?></a><br>
              <?php
      $i++;
    }
     
    ?>
           </div></td>
        </tr>
        <tr>
          <td bgcolor="#000099">&nbsp;</td>
        </tr>
      </table>
      <hr size="1" noshade color="#000099">
      <p class="auteurfr"><font size="1" face="Arial">
        <?php
     
    // Boucle parcourant l'ensemble des résultats de la requête pour les afficher les uns
    // après les autres dans un tableau HTML
    $i = 0;
    while($article[$i]) {
    Y a t-il des éléments qui permettent de cibler plus precisément le problème pour enfin le résoudre ?

    Merci de votre aide

    Biz

  7. #7
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    Depuis PHP 4.2 la valeur par défaut du paramètre register_globals est à off, dans le fichier de config php.ini.

    sur ton serveur que renvoie:

    Code :
    1
    2
     
    echo "register_globals vaut " . ini_get(’register_globals’);
    Petite question (surement idiote) : mais... le fichier "config php.ini" c'est pareil que le fichier "config.inc.php" ??

    Car je ne trouve pas le fichier "config php.ini" dans mon arborescence... :-(

  8. #8
    Membre expérimenté
    Homme Profil pro armel
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Nom : Homme armel
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 298
    Points : 528
    Points
    528

    Par défaut

    en fait le fichier de configuration php.ini sur un serveur unix se trouve dans/etc/php5/apache2/.

    Essaies de nous confirmer si la directive register_globals est à Off:
    Code :
    1
    2
     
    echo phpinfo(); //cf.la ligne register_globals

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 203
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 203
    Points : 30 878
    Points
    30 878

    Par défaut

    Ta ligne 9 devient :
    Code :
    $language = isset($_GET['language']) ?  $_GET['language'] : "fr";
    Ta ligne 13 :
    Code :
    $q_volume = "SELECT * FROM ".$language."_nep WHERE volume = '".mysql_real_escapte_string(urldecode($_GET['volume']))."'";
    Comme le rappelle Bovino, il ne faut pas chercher a remettre l'ancienne configuration, elle est néfaste.

  10. #10
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    en fait le fichier de configuration php.ini sur un serveur unix se trouve dans/etc/php5/apache2/.

    Essaies de nous confirmer si la directive register_globals est à Off:
    Code :
    1
    2
     
    echo phpinfo(); //cf.la ligne register_globals
    Ok merci Armel... je vais rechercher ce fichier et je te dirais ce qu'il en est...

  11. #11
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par sabotage Voir le message
    Ta ligne 9 devient :
    Code :
    $language = isset($_GET['language']) ?  $_GET['language'] : "fr";
    Ta ligne 13 :
    Code :
    $q_volume = "SELECT * FROM ".$language."_nep WHERE volume = '".mysql_real_escapte_string(urldecode($_GET['volume']))."'";
    Comme le rappelle Bovino, il ne faut pas chercher a remettre l'ancienne configuration, elle est néfaste.
    Merci beaucoup.... je vais tester cela tout de suite et je reviens vers vous...

  12. #12
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Echec... voici le message que le terminal me transmet... :-(

    PHP Fatal error: Call to undefined function mysql_real_escapte_string()

  13. #13
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    en fait le fichier de configuration php.ini sur un serveur unix se trouve dans/etc/php5/apache2/.

    Essaies de nous confirmer si la directive register_globals est à Off:
    Code :
    1
    2
     
    echo phpinfo(); //cf.la ligne register_globals
    Je deviens fou !!

    Je n'arrive pas a mettre la main sur ce fichu fichier ! :-(

  14. #14
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 171
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 171
    Points : 86 178
    Points
    86 178

    Par défaut

    Vérifie la syntaxe au lieu de copier coller aveuglément...

    T'aider est une chose, mais c'est à toi de comprendre ce que tu fais, de t'informer sur les méthodes conseillées et de vérifier que le code donné ne contient pas de faute de frappe.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Membre expérimenté
    Homme Profil pro armel
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Nom : Homme armel
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 298
    Points : 528
    Points
    528

    Par défaut

    PHP Fatal error: Call to undefined function mysql_real_escapte_string()
    il y a une coquille qui s'est glissée c'est mysql_real_escape_string() et non
    mysql_real_escapte_string()
    . Cette fonction protège les variables en les échappant mais n'est pas la cause de ton problème.

  16. #16
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par Bovino Voir le message
    Vérifie la syntaxe au lieu de copier coller aveuglément...

    T'aider est une chose, mais c'est à toi de comprendre ce que tu fais, de t'informer sur les méthodes conseillées et de vérifier que le code donné ne contient pas de faute de frappe.
    Oui et d'ailleurs je vous en remercie... mais j'essaie d'apprendre et d'assimiler au plus vite (car les employeurs ne sont pas tres patients malheureusement) je suis sur le net et dans les livres pour comprendre et resoudre mon probleme qui risque de me couter cher si je ne trouve pas la solution

  17. #17
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    il y a une coquille qui s'est glissée c'est mysql_real_escape_string() et non . Cette fonction protège les variables en les échappant mais n'est pas la cause de ton problème.
    Merci !! ca n'a pas resolu completement le probleme mais ca l'a fait avance...

    J'ai enfin des donnees de ma base de donnees qui s'affiche ! mais pas tout (pour l'instant)

    Code :
    <?php echo utf8_encode($article[$i]["abstract"]); echo utf8_encode(nl2br($abstract)); ?>
    pour ce code il m'affiche: PHP Notice: Undefined variable: abstract

    Je cherche et tente de le résoudre...

  18. #18
    Membre expérimenté
    Homme Profil pro armel
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Nom : Homme armel
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 298
    Points : 528
    Points
    528

    Par défaut

    ton problème est celui de la récupération des variables globales($_POST,$_GET,$_SESSION...).
    essaies de mettre extract dans toutes les pages où sont récupérées les variables globales:

    Code :
    1
    2
    3
    4
     
    extract($_REQUEST);
     
    extract($_SESSION);

  19. #19
    Invité de passage
    Homme Profil pro
    Communication
    Inscrit en
    mars 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Communication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 92
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par armel18 Voir le message
    ton problème est celui de la récupération des variables globales($_POST,$_GET,$_SESSION...).
    essaies de mettre extract dans toutes les pages où sont récupérées les variables globales:

    Code :
    1
    2
    3
    4
     
    extract($_REQUEST);
     
    extract($_SESSION);
    Alors malheureusement ca n'a pas eu l'effet escompté... et il me dit toujours que c'est cette ligne de code qui n'est pas bonne


  20. #20
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 171
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 171
    Points : 86 178
    Points
    86 178

    Par défaut

    Ta variable $article est déclarée quelque part au moins ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •