Définir une variable !

Résolu
apis87 -  
 apis87 -
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. Zelana
     
    Bonjour,
    Peux tu faire une copie de ton code stp ? Ce sera plus facile pour t'aider
    Merci
    0
    1. apis87
       
      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>";
      }
      0
    2. Mimiste Messages postés 1159 Statut Membre 206
       
      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'];
      0
    3. apis87
       
      Merci pour ta réponse, mais peux-tu être un peu plus explicite.
      @+
      0
  2. Mihawk Messages postés 4753 Statut Contributeur 846
     
    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.
    0
    1. apis87
       
      Merci,
      Je veux bien, mais comment faire ! Merci
      @+
      0
  3. Mihawk Messages postés 4753 Statut Contributeur 846
     
    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 ...)
    0
    1. apis87
       
      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...
      @+
      0
    2. Mihawk Messages postés 4753 Statut Contributeur 846
       
      As-tu bien modifié la ligne de connexion avec les identifiants ?
      0
    3. apis87
       
      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
      ****************************************************************************
      @+
      0
    4. apis87
       
      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,
      0
    5. apis87
       
      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,
      0