Définir une variable !

Résolu
Bonjour,

Comment faire pour déclarer une variable ?

"Notice: Undefined variable: PHP_SELF in /homez.509/syndinit"

ex : <form action="$PHP_SELF" method="post" name="iam">
PHP_SELF, problème avec la variable elle n'est pas définie ?

Merci de me donner une méthode,

Cordialement,

3 réponses

  1. Bonjour,
    Peux tu faire une copie de ton code stp ? Ce sera plus facile pour t'aider
    Merci
    1. Bonjour,
      Voici les lignes qui posent problèmes (variables ?)
      Merci pour ton aide,
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Notice: Undefined variable: regions in /homez.509/syndinit/www/videgrenier.php on line 193
      ****************************************************************************************************
      // Recuperer les regions
      $query3 = "SELECT reg, num_reg FROM regional";
      $resultat3 = mysql_query($query3)
      or die("Selection impossible avec '$query3' : ".mysql_error());

      while ($row = mysql_fetch_array($resultat3)) {
      ligne 193 : $regions = $regions . "<option value='$row[reg]'>$row[reg]</option>";
      }

      // Recuperer les departements dans la table departement
      $query4 = "SELECT dept, num_dept FROM departement";
      $resultat4 = mysql_query($query4)
      or die("Selection impossible avec '$query4' : ".mysql_error());

      Notice: Undefined variable: depts in /homez.509/syndinit/www/videgrenier.php on line 202 ************************************************************************************************* while ($row = mysql_fetch_array($resultat4)) {
      ligne 202 : $depts = $depts . "<option value='$row[dept]'>$row[dept]</option>";
      }

      // Recuperer le prix des ruches
      $query5 = "SELECT nb, prix, id FROM meline";
      $resultat5 = mysql_query($query5)
      or die("Selection impossible avec '$query5' : ".mysql_error());

      Notice: Undefined variable: nb in /homez.509/syndinit/www/videgrenier.php on line 211 & 212 ************************************************************************************************* while ($row = mysql_fetch_array($resultat5)) {
      ligne 211 : $nb = $nb . "<option value='$row[nb]'>$row[nb]</option>";
      ligne 212 : $prix = $prix . "<option value='$row[prix]'>$row[prix]</option>";
      }
    2. bonjour

      pour initialiser ta variable c'est par exemple pour la dernière ligne qui pose problème
      $nb = "";

      pour ton problème de php self il faut utiliser $_SERVER['PHP_SELF'];
    3. Merci pour ta réponse, mais peux-tu être un peu plus explicite.
      @+
  2. Contributeur
    Hello,

    L'attribut "action" d'un formulaire doit être la page PHP de traitement du formulaire... Y mettre une variable type PHP_SELF n'a aucun sens.
    1. Merci,
      Je veux bien, mais comment faire ! Merci
      @+
  3. Contributeur
    En fait, l'un des problème de ton code réside dans les lignes de concaténation.

    Exemple :

    while ($row = mysql_fetch_array($resultat3)) {
       ligne 193 : $regions = $regions . "<option value='$row[reg]'>$row[reg]   </option>";
    } 

    Déjà j'espère que ton code ne contient pas réellement ce "ligne 193 : " mais j'en doute. Ensuite tu utilises la variable $regions sans l'avoir définie auparavant.

    Essaye donc de faire ceci :

    $regions = "";
    while ($row = mysql_fetch_array($resultat3)) {
       $regions = $regions . "<option value='$row[reg]'>$row[reg]   </option>";
    } 


    Et ajoute ce type de ligne à tous les endroits qui posent problème (lignes 193, 202, 211, 212 ...)
    1. Bonjour,
      Merci pour l'info, et les modifications sont bonnes. Je n'ai pas répondu plutôt car depuis que le site est hébergé, impossible d'écrire sur mes tables via les requètes !
      Quand je vais sur la bdd de l'hébergeur et que je teste mes requètes, elles fonctionnent ! Mais depuis mes pages php ? Rien, pourquoi ???
      Si tu as une petite idée...
      @+
    2. Contributeur
      As-tu bien modifié la ligne de connexion avec les identifiants ?
    3. Oui, j'ai un exemple sur une requête sql :
      ******************************************************************
      <?
      require ("dl_conf.php");

      @mysql_connect($serveur, $user, $password)
      or die("Impossible de se connecter à la base de données");
      @mysql_select_db("$base")
      or die("Impossible de se connecter à la base de données");

      $query = "SELECT * FROM $table WHERE id=$circuit";
      $result = mysql_query($query);
      while ($val = mysql_fetch_array($result)){
      $id = $val["id"];
      $nom = $val["nom"];
      $fichier = $val["fichier"];
      $descri = $val["descri"];
      $hit = $val["hit"];
      }
      $hit++;

      $query2= "UPDATE $table SET hit='$hit' WHERE id=$circuit";
      $result2 = mysql_query($query2);
      mysql_close();
      $url = $urlsite.$fichier;
      Header("Location: $url");
      ?>
      ************************************************************************
      message d'erreur :
      *****************************
      Attention : mysql_fetch_array (): l'argument fourni n'est pas une ressource valide de résultat MySQL dans / homez.509/syndinit/www/circuit/dlid.php en ligne 11

      Avertissement : Impossible de modifier les informations d'en-tête - headers already sent by (output commencé à / Homez .509/syndinit/www/circuit/dlid.php: 11) dans / homez.509/syndinit/www/circuit/dlid.php en ligne 24
      --------------------------------------------------------------------------------
      Original Text:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.509/syndinit/www/circuit/dlid.php on line 11Warning: Cannot modify header information - headers already sent by (output started at /homez.509/syndinit/www/circuit/dlid.php:11) in /homez.509/syndinit/www/circuit/dlid.php on line 24
      ****************************************************************************
      @+
    4. Bonjour,
      Le problème rencontré venait tout simplement du fichier .htaccess car la variable était à 0 "SetEnv PHP_VER 5SetEnv REGISTER_GLOBALS 1" au lieu de 1. C'est pour cela que je n'avais pas de retour sur mes requètes Sql et mes scripts Php.
      Cordialement,
    5. Bonjour,
      Je suis à la recherche d'une méthode pour additionner des $variables et récupérer les informations qui m'intéressent.
      En amont je passe par 3 listes déroulantes et 9 boutons radio ou 1 liste déroulante pour 3 boutons radio.
      Ce qu'il veut dire 9 possibilités avec seulement 3 choix au final et que l'on additionne.
      (voici le code)
      $poid = ($nb_pots * $type0);
      $poidA= ($nb_pots1 * $type0);
      $poidB= ($nb_pots2 * $type0);
      
      $poid1 = ($nb_pots * $type1);
      $poid1A = ($nb_pots1 * $type1);
      $poid1B = ($nb_pots2 * $type1);
      
      $poid2 = ($nb_pots * $type2);
      $poid2A = ($nb_pots1 * $type2);
      $poid2B = ($nb_pots2 * $type2);
      
      $poids = ($poid OR $poidA OR $poidB) + ($poid1 OR $poid1A OR $poid1B) + ($poid2 OR $poid2A OR $poid2B);
      
      <p class="carte">&nbsp;&nbsp;Poids : <b>$poids</b> kg</p>


      Le but étant de récupérer le poids total ($poids) avec une quantité ($nb_pots, etc) et un poids unit ($type0, etc).
      Je dois merder dans mon addition avec des OR !!!
      Si tu as une solution ?
      Cordialement,