Envoi de valeur id d'une form et la recuperation de valeur

ABDENNACEUR123 - Modifié par jordane45 le 6/05/2015 à 01:54
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 - 6 mai 2015 à 02:11
Bonjour, j'essaye d'envoyer un id dans href de form et j'essaye de le recupere dans une autre page mais rien ne s'afficher
 <?PHP
          $id=$_REQUEST['id'];
                                     $sel=mysql_query("SELECT * FROM reclamation WHERE intervenant='' and service=$id" );
                                      
                                      
            echo '<table class="table table-bordered table-hover">';
                                       echo '<thead><tr><th>service</th><th>agent</th><th>type reclamation</th><th>date de reclamation</th><th>heure de reclamation</th><th>description</th><th colspan=2>action</th></tr></thead>';
         
                                        
                                    
                                
                                       $flag = 0;
                                       while($fetch=mysql_fetch_array($sel)){

                                       echo '<tbody><tr><td>'.$fetch['1'].'</td><td>'.$fetch['2'].'</td><td>'.$fetch['3'].'</td><td>'.$fetch['4'].'</td><td>'.$fetch['5'].'</td><td>'.$fetch['6'].'</td> <td><a href=suivierecla.php?id='.$fetch['service_ID'].'><img src="images/edit-icon.png" width=30 height=30 title=MODIFIER /></a><a href=deleterec.php?id='.$fetch['service_ID'].'><img src="images/deletee.png" width="30" height="30" title=SUPPRIMER /></a></td></tr></tbody>';
 
 
                                        }
                                       echo '</table>';
                                     ?>


<form id="topbar-search" action="" method="post" class="hidden-sm hidden-xs">
    <?PHP
              
                echo  '  <div class="input-icon right text-white"><a href="rechrec.php?id='.$fetch['service_ID'].'"><i class="fa fa-search"></i></a><input type="text" name="service" placeholder="Recherche..." class="form-control text-white"/></div>';
                ?>
                </form>

1 réponse

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
Modifié par jordane45 le 6/05/2015 à 02:11
Bonjour,

Les FORM s'utilisent avec un SUBMIT ... hors toi tu ne fais qu'y mettre un LIEN....

Par contre, pour éviter les erreurs, et eventuellement regarder ce que valent tes valeurs... il est préférable de découper ton code
comme ceci :
 <?PHP
$id =  isset($fetch['service_ID'])?$fetch['service_ID']:'';
echo "<br> ID = ".$id; // le temps des tests

echo  '<div class="input-icon right text-white">
            <a href="rechrec.php?id='.$id.'">
                <i class="fa fa-search"></i>
             </a>
            <input type="text" 
                       name="service" 
                       placeholder="Recherche..." 
                       class="form-control text-white"/>
               </div>';
?>



Par contre.. si c'est la valeur de service que tu veux récupérer après... il te faudra faire un SUBMIT de ta FORM. dans ce cas.. le lien ne marchera pas.


Pour ce qui est de ton script PHP maintenant....
Perso je déconseille l'utilisation de $_REQUEST...
préfère utiliser les $_POST et $_GET ...
Penses aussi à vérifier avec ISSET que ta variable existe AVANT de l'utiliser.
Sépare le code SQL de son exécution.. ça permet d'en faire un echo en cas de besoin pour voir ce qu'il contient.

// connexion à la BDD ??
// require_once("ton_fichier_de_cnx.php");


<?PHP
// récupération des variables :
$id=isset($_GET['id'])?$_GET['id'];NULL;

if($id){
$sql = "SELECT * 
           FROM reclamation 
           WHERE intervenant='' 
           and service=$id";
$sel=mysql_query($sql) or die(mysql_error() . "<br> Erreur dans la requête :<br>".$sql);
                                      
                                      
  echo '<table class="table table-bordered table-hover">';
  echo '<thead>
            <tr>
                 <th>service</th>
                 <th>agent</th>
                 <th>type reclamation</th>
                 <th>date de reclamation</th>
                 <th>heure de reclamation</th> 
                 <th>description</th>
                 <th colspan=2>action</th>
              </tr>
            </thead>';
         
                            
 $flag = 0;
 echo '<tbody>'; 
 while($fetch=mysql_fetch_array($sel)){

    echo '<tr>
              <td>'.$fetch['1'].'</td>
               <td>'.$fetch['2'].'</td>
               <td>'.$fetch['3'].'</td>
               <td>'.$fetch['4'].'</td>
               <td>'.$fetch['5'].'</td>
               <td>'.$fetch['6'].'</td> 
                <td>
                   <a href=suivierecla.php?id='.$fetch['service_ID'].'>
                     <img src="images/edit-icon.png" width=30 height=30 title=MODIFIER />
                     </a>
                    <a href=deleterec.php?id='.$fetch['service_ID'].'>
                      <img src="images/deletee.png" width="30" height="30" title=SUPPRIMER />
                    </a>
                 </td>
              </tr>';
 
 }
 echo '</tbody></table>';

}else{
 // le temps des tests...
 echo "<br> Aucun ID envoyé !";

}
?>




1 - Attention.. tu utilises une ANCIENNE extension Mysql.
Je t'invite à lire ceci : http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
puis à vite passer à la PDO.

2 - N'hésites pas à faire des retours à la ligne (comme j'ai fait...) dans ton code pour l'aérer et le rendre plus lisible.

3 - Je ne vois pas la connexion à ta BDD dans ton code ?
Si tu l'as mis dans un fichier externe (ce qui est mieux...) il faut penser à l'inclure au début de ton script ...



Cordialement,
Jordane
0
Rejoignez-nous