Notice</b>: Undefined variable: liste_photos in

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Notice</b>: Undefined variable: liste_photos in

Re: Notice</b>: Undefined variable: liste_photos in

par xTG » 22 juil. 2014, 18:01

Ce n'est pas la façon de faire.
Prenons le problème à l'envers.

Si tu n'as pas renseigné d'id_album quel comportement doit avoir ton application ?
Il y a de fortes chances que tu puisses l'exprimer avec un bête algo je pense.
Essaies en partant de cela :

Code : Tout sélectionner

Si id_album existe // ??? Sinon // ???
Si tu es capable de remplir ces deux trous c'est déjà 80% du boulot de fait.
Car après c'est une condition simple qu'il ne te reste plus qu'à convertir en code PHP. :)

Re: Notice</b>: Undefined variable: liste_photos in

par Invité » 22 juil. 2014, 17:31

j ai rajouté ca
     
      // affichage des albums présents dans la table avec leurs médias
      $requete5="SELECT a.*, l.* FROM albums a, langues l 
                WHERE a.id_langue=l.id_langue ORDER BY l.langue, a.titre_album ASC";      
	  $_GET['id_album'] = 0;			
      $affichage=afficher_albums($requete5, $connexion, $_GET['id_album']);
le $_GET['id_album'] = 0; et je n est plus le message pense tu que je suis dans la bonne voix ?

Re: Notice</b>: Undefined variable: liste_photos in

par Invité » 22 juil. 2014, 17:18

j entend bien je vais essayé de comprendre ...

cela dit je t es remercié :)

mais sa fait telment de jours que je cherche :s

Re: Notice</b>: Undefined variable: liste_photos in

par xTG » 22 juil. 2014, 17:17

tres instructif comme réponse dans un forum d entraide....
vive la france !

Bon bref en gros quand on as pas envie on as pas envie merci quand même

cordialement
Je ne vois pas ce qui ne va pas dans ma réponse...
Si tu n'es pas capable de la comprendre il serait temps de te remettre en question...
Je t'explique de façon algorithmique avec un exemple très simple en quoi ton code est mauvais pour te mettre sur la voie pour le corriger...
La seule chose que je n'ai pas envie c'est de te dégueuler du code à copier/coller.

Re: Notice</b>: Undefined variable: liste_photos in

par Invité » 22 juil. 2014, 17:13

tres instructif comme réponse dans un forum d entraide....
vive la france !

Bon bref en gros quand on as pas envie on as pas envie merci quand même

cordialement

Re: Notice</b>: Undefined variable: liste_photos in

par xTG » 22 juil. 2014, 16:32

1) Tu test à cet endroit mais pas à la ligne incriminée...
Ton code équivaut grossièrement à ceci :

Code : Tout sélectionner

Prendre les clés de la voiture Si la voiture existe Ouvrir la voiture avec les clés FinSi Démarrer le moteur de la voiture
Comment peux-t-on démarrer une voiture qui n'existe pas ? ;)

2) Je te renvoie brutalement à la documentation de la dite fonction... Tu rédiges absolument n'importe quoi !
Les exemples sont on ne peut plus clair pour comprendre comment utiliser la fonction.

Re: Notice</b>: Undefined variable: liste_photos in

par Invité » 22 juil. 2014, 15:20

pour echapper j ai fait commeca quelqu un pourais me conseiller
   else
            {
            $requete2="INSERT INTO albums SET id_langue='" . $_POST['id_langue'] . "',
                                              titre_album='". $_POST['titre_album'] . "',
                                              date_album='" . date("Y-m-d") . "'";
            $resultat2=mysqli_query($connexion,$requete2 );    
			$resultat2 = mysqli_real_escape_string($connexion, $resultat2);
            }

Re: Notice</b>: Undefined variable: liste_photos in

par Invité » 22 juil. 2014, 15:08

la ligne incriminé est celle ci je comprend vraieemednt pas
$affichage=afficher_albums($requete5, $connexion, $_GET['id_album']);

je test bien pourtant
 if(isset($_GET['id_album'])) 
        {
        $_SESSION[$_GET['id_album']]=" id=\"affiche_fieldset\"";
        } 
sinon le formulaire est pas protégé parcequ il y a que moi a y rentrer des données dans un systeme d administration

aidé moi svp

Re: Notice</b>: Undefined variable: liste_photos in

par xTG » 22 juil. 2014, 08:36

j ai vu qu il fallait testé avec le isset ce qui est fait
Pas pour cet index, regardes la ligne incriminée. ;)

Pour ton autre problème c'est une requête qui est incorrecte.
Et c'est tout à fait probable...
Tu injectes directement des variables en provenance d'un formulaire sans les vérifier, et pire sans les protéger !
Pour peu qu'une de ces variables contienne un apostrophe et la requête ne peut aboutir...
Tu as la fonction mysqli_real_escape_string() pour protéger tes variables avant de les injecter dans une requête.

Notice</b>: Undefined variable: liste_photos in

par Invité » 21 juil. 2014, 22:48

bonjour
je suis en train de creer une gestion d album
voici l erreur que j ai

br/><

b>Notice</b>: Undefined index: id_album in <b>/home/mvpguyta/public_html/admin/admin.php</b> on line <b>1684</b><br/>br/>

<

b>Warning</b>: mysqli_query() expects parameter 1 to be mysqli, string given in <b>/home/mvpguyta/public_html/outils/affichages.php</b> on line <b>132</b><br/>

j ai vu qu il fallait testé avec le isset ce qui est fait

je vous remet le code

 case "albums":
      $contenu="form_albums.php";
      $titre="Gestion des albums";
      $confirm_suppression="vide.php";
      $action_form="gestion-des-albums.php";
      $bouton_form="CREER UN ALBUM";
      $script="<script type=\"text/javascript\" src=\"../editeur/album.js\"></script>\n";
      $css="<link href=\"../editeur/editeur.css\" rel=\"stylesheet\" type=\"text/css\" />\n";
      $css.="<link href=\"../editeur/editeur_no_toolbar.css\" rel=\"stylesheet\" type=\"text/css\" />\n";       
      
       //on construit la liste déroulante des langues
      $requete="SELECT * FROM langues ORDER BY symbole";
      $resultat=mysqli_query($connexion,$requete );
      $ld_langues="<option value=\"\">Sélectionner la langue</option>\n"; 
      while($ligne=mysqli_fetch_object($resultat))
           {
           if(isset($_POST['id_langue']) && $ligne->id_langue == $_POST['id_langue'])
             {
             $selected[$_POST['id_langue']]=" selected=\"selected\"";
             $selection=$selected[$ligne->id_langue];    
             }                  
           else
             {
             $selection="";
             }                     
          $ld_langues.="<option value=\"" . $ligne->id_langue . "\"" . $selection . ">" . $ligne->symbole . " - " . $ligne->pays . "</option>\n";          
          } 
            
      if(isset($_SESSION['id_album']))
        { 
        unset($_SESSION['id_album']); 
        }                 
      if(isset($_POST['submit']))
        {
        $tab_champ=array("id_langue"=>"Langue", "titre_album"=>"Titre album");
        $tab_vide=array();  
        
        while(list($key, $value) = each($tab_champ)) 
             {            
             if(empty($_POST[$key]))
               {
               $color_champ[$key]=" class=\"color_champ\"";
               array_push($tab_vide, $value);
               }
             }        
        
        if(!empty($tab_vide))
          {
          $avertissement="<label id=\"avertissement\">" . champs(count($tab_vide), "debut") . implode(", ", $tab_vide) . champs(count($tab_vide), "fin") ."</label>\n";              
          }         
        else
          {
          //on teste si l'album existe deja dans cette langue
          $requete1="SELECT titre_album FROM albums WHERE titre_album='" . $_POST['titre_album'] . "' AND id_langue='" . $_POST['id_langue'] . "'";
          $resultat1=mysqli_query($connexion,$requete1 );
          $nb_lignes=mysqli_num_rows($resultat1);
          if($nb_lignes!=0)
            {
            $avertissement="<label id=\"avertissement\">L'album <strong>'" . $_POST['titre_album'] . "'</strong> existe déjà dans cette langue</label>\n";                      
            }
          else
            {
            $requete2="INSERT INTO albums SET id_langue='" . $_POST['id_langue'] . "',
                                              titre_album='" . addslashes($_POST['titre_album']) . "',
                                              date_album='" . date("Y-m-d") . "'";
            $resultat2=mysqli_query($connexion,$requete2 );            
            }
          }
        }     
        {
        $_SESSION[$_GET['id_album']]=" id=\"affiche_fieldset\"";
        } 
      if(isset($_POST['submit2']))
        {
        //détection des medias insérés
        $re= '/\[([^\]]*)\]/';// expression régulière permettant de récupérer tout ce qui se trouve entre les crochets
         
        // on met à jour la liste des photos de l'album en supprimant d'abord toutes les photos rangées
        $requete3="DELETE FROM ranger_medias WHERE id_album='" . $_GET['id_album'] . "'";
        $resultat3=mysqli_query($connexion,$requete3 );
       
        preg_match_all($re, $_POST['album' . $_GET['id_album']], $tab_medias);// on recherche toutes les expressions entre crochets
        if(sizeof($tab_medias[1])>0)// si il y a des médias présents dans la zone
          {
          for($j=0;$j<sizeof($tab_medias[1]);$j++) //[1] pour le résultat sans le séparateur [] et [0] avec séparateur
             {
             // on met à jour la liste des photos de l'album en insérant la nouvelle liste de photos                          
             $requete4="INSERT INTO ranger_medias SET id_album='" . $_GET['id_album'] . "', id_media='" . $tab_medias[1][$j] . "'";
             $resultat4=mysqli_query($connexion,$requete4 );
             }                         
          }          
        }  
         
      // affichage des albums présents dans la table avec leurs médias
      $requete5="SELECT a.*, l.* FROM albums a, langues l 
                WHERE a.id_langue=l.id_langue ORDER BY l.langue, a.titre_album ASC";                            
      $affichage=afficher_albums($requete5, $connexion, $_GET['id_album']);
        
      // toujours affichage des médias présentes dans la table
      $requete6="SELECT * FROM medias WHERE press_book='oui' ORDER BY fichier_media, titre_media";
      $affichage_centre=afficher_medias($requete6, "album", $connexion);                      
      break; 
et la fonction
function afficher_albums($requete,$connexion, $id_album )
{
$resultat=mysqli_query($connexion, $requete);
$liste_albums="<div id=\"albums\">";
$i=0;
while($ligne=mysqli_fetch_object($resultat))
     {
     $tab_album[$i]=$ligne->id_album;
     if(isset($_SESSION['id_album']) AND $ligne->id_album==$_SESSION['id_album'])
       {
       $style=" id=\"album_colore\""; 
       }
     else
       {
       $style="";
       }
		 if($i==0)
		   {
			 $liste_albums.="<div" . $style . ">\n";
			 $liste_albums.="<h3><a href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\">" . stripslashes($ligne->titre_album) . " (" . $ligne->langue . ")</a>";  
			 $liste_albums.="<span class=\"nav_album\">\n<a href=\"modifier-album-langue-" . $ligne->id_langue . "-et-album-" . $ligne->id_album . ".php\"><img src=\"../icones/modifier.png\" title=\"modifier\" alt=\"\" /></a>\n";
			 $liste_albums.="<a href=\"supprimer-album-langue-" . $ligne->id_langue . "-et-album-" . $ligne->id_album . ".php\"><img src=\"../icones/supprimer.png\" title=\"supprimer\" alt=\"\" /></a>\n</span>\n</h3>\n";                   
			 $liste_albums.="</div>\n";	
       $liste_albums.="<fieldset " . $_SESSION[$ligne->id_album] . " class=\"affiche_album\">\n";
		   }
		 if($i!=0 && ($tab_album[$i]!=$tab_album[$i-1]))//à chaque changement d'album
		   {
			 $liste_albums.="</fieldset>\n";
			 $liste_albums.="<div" . $style . ">\n";
			 $liste_albums.="<h3><a href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\">" . stripslashes($ligne->titre_album) . " (" . $ligne->langue . ")</a>";
			 $liste_albums.="<span class=\"nav_album\">\n<a href=\"admin.php?action=modifier_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/modifier.png\" title=\"modifier\" alt=\"\" /></a>\n";
			 $liste_albums.="<a href=\"admin.php?action=supprimer_albums&id_langue=" . $ligne->id_langue . "&id_album=" . $ligne->id_album . "\"><img src=\"../icones/supprimer.png\" title=\"supprimer\" alt=\"\" /></a>\n</span>\n</h3>\n";       
			 $liste_albums.="</div>\n";			 
       $liste_albums.="<fieldset " . $_SESSION[$ligne->id_album] . " class=\"affiche_album\">\n";
		   }                                 
     $liste_albums.="<form href=\"admin.php?action=albums&id_album=" . $ligne->id_album . "\" method=\"POST\" id=\"form_album\">\n"; 
     if($tab_album[$i]==$id_album)
       {
       $requete2="SELECT r.*, m.* FROM ranger_medias r, medias m WHERE m.id_media=r.id_media AND r.id_album='" . $tab_album[$i] . "' ORDER BY r.id_ranger_media";
       $resultat2=mysqli_query($connexion,$requete2 );
       $liste_photos="";
       while($ligne2=mysqli_fetch_object($resultat2))
            {
            $liste_photos.="<img class=\"img_album [" . $ligne2->id_media . "]\" style=\"width:50px;height:50px;margin:1px\" src=\"../medias/media" . $ligne2->id_media . "_p." . $ligne2->fichier_media . "\" alt=\"\" />";
            }
       } 
     $liste_albums.="<hr />\n<textarea style=\"height:260px\" name=\"album" . $ligne->id_album . "\" placeholder=\"Glisser les photos ici...\">" . $liste_photos . "</textarea>\n<hr />\n";
     $liste_albums.="<input type=\"submit\" name=\"submit2\" value=\"ENREGISTRER\" />\n";   
     $liste_albums.="<hr /></form>\n"; 
     $liste_albums.="<script type=\"text/javascript\">  
                    document.form_album.album" . $ligne->id_album . ".focus();
                    </script>\n";                            
     $i++;
     }
 
$liste_albums.="</div>\n";    
 return $liste_albums;   
}
merci a vous