PHP : Message d'alerte : Undefined index

Résolu/Fermé
Signaler
-
 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

Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
82
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...
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...
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)
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
82
Il te faut mettre method également pas seulement action !

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);   
  }
?> 
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...
Super ça marche !! :D Merci beaucoup ;)

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