PHP : Message d'alerte : Undefined index

Résolu
Lecineman -  
 Lecineman -
Bonjour à tous !!

Je suis entrain de programmer un petit moteur de recherche de bande annonce à l'aide de l'API Zend pour YouTube (en php bien sûre :p )

En gros, j'ai un formulaire et les recherches se font en fonction de la valeur donnée

Mais le problème est dans mon code, tout marche, cependant, j'ai cette phrase d'alerte qui apparait :

Notice: Undefined index: searching in C:\xampp\htdocs\lab\youtube\index.php on line 100

A voir où est le problème, sachant que la phrase n'apparaît plus après l'envoie du formulaire...

Voilà une partie du code HTML ( très basique, j'ai simplifié...) ->


<form>   
   <input name="searching" id="searching" type="text" name="searching" placeHolder="Black Swan">   
   <button class="btn btn-info" type="submit">Rechercher...<i class="icon-right icon-white"></i></button>   
</for   



Et la partie PHP :


<?php   
  $yt = new Zend_Gdata_YouTube(); // on crée une nouvelle instance YouTube   
  $yt->setMajorProtocolVersion(2);   
  $query = $yt->newVideoQuery();   
  $query->setOrderBy('relevance'); // les vidéos sont classé par pertinence   
  $query->setTime('all_time'); // on souhaite afficher les vidéos qui ont été ajoutées n'importe quand   
  $searching = $_GET['searching']; //on souhaite recuperer la "value" du formulaire   
  $query->setVideoQuery($searching); // on définit la recherche   
  $query->setCategory('Trailer');   
  // on récupère un flux XML avec la liste des vidéos   
  $flux = $yt->getVideoFeed($query->getQueryUrl(2));   




  // on affiche les miniatures    
  get_results($flux);   
  ?>   



Je pense que c'est parce qu'il n'y a pas de requete avant l'envoi... peut être qu'avec un
 while() 
cela pourrait marcher...

Merci de votre aide !! ;)

PS : la ligne 100 correspond à :

$searching = $_GET['searching']; //on souhaite recuperer la "value" du formulaire   


6 réponses

  1. Melooo Messages postés 1476 Statut Membre 84
     
    Salut,
    Peut être parce que ta balise n'est pas "rempli" :
    <form method="get" action="lenomdelapage.php">   
       <input name="searching" id="searching" type="text" name="searching" placeHolder="Black Swan">   
       <button class="btn btn-info" type="submit">Rechercher...<i class="icon-right icon-white"></i></button>   
    </for   
    

    Sans grande conviction...
    0
  2. Lecineman
     
    Salut !

    Merci pour la réponse, mais remplir le champs action ne change rien, j'avais d'ailleurs commencer à remplir mon formulaire avec cette balise, et j'avais quand même me message d'erreur...

    Je reste dans les nuages...
    0
  3. Lecineman
     
    Au pire, je peux peut-être "cacher" cette alerte qui est en plein milieu de ma page... mais comment faire ?

    (Ce doit pas être une erreur trop grave vu que ma recherche fonctionne. Mais c'est embêtant... :S)
    0
    1. Melooo Messages postés 1476 Statut Membre 84
       
      Il te faut mettre method également pas seulement action !
      0
  4. Utilisateur anonyme
     
    Bonjour

    action est obligatoire dans <form> mais method est optionnel. Par défaut, c'est get, ce qui correspond à ton cas.

    Pour éviter ton message d'erreur, il suffit ne faire la recherche que si la variable existe vraiment :
     <?php
      if (isset($_GET['searching']) {
        $yt = new Zend_Gdata_YouTube(); // on crée une nouvelle instance YouTube 
        ....
        get_results($flux);   
      }
    ?> 
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lecineman
     
    Ah ouais, cool ! merci ! Je teste ça tout de suite.
    En faite j'avais essayer
    if(isset($_GET['searching']) { .... 
    mais pas au bon endroit :S

    Je teste...
    0
  7. Lecineman
     
    Super ça marche !! :D Merci beaucoup ;)

    Maintenant, il faut juste que j'habille ma page... ;)
    0