Menu déroulant avec un lien


Bonjour ,
j'ai un problème : voici mon code :un menu déroulant avec un lien mais sans java script

<tr> 
      <td width="117" height="42">     Matricule</td> 
    
   <input name="id" id="id" type="text"   size="25 " ?>"  

   </td> 
   </tr>     
 <td width="117" height="42">Ville départ </td> 
    
   <input name="villed" id="villed" type="text"  size="25 "onKeyUp="javascript:couleur(this);"/> 
    
   </td> 
   </tr><select name="tra"  id="tra" >  <option > Transport</option>  
    <option value="vol"> <a href="vol.php">vol</option>  
    <option value="train"><a href="train.php"> Train</option>  
   </select> 
<input type="image" name="imageField" src="images/inserer.gif"  class="modifier-submite"/></td> 

voici mon code si tu peux m'aider que je doit mettre dans ma page redirection en php
Merci D'avance.

1 réponse

  1. Bonsoir,
    Sans javascript, tu ne pourras pas faire de redirection à partir de ta liste déroulante et au vu de ton code tu es obligé de récupérer les données du formulaire dans un script PHP.
    0
    1. Bonsoir ,J'ai déjà essaye le java script mais j'ais le problème d'insertion dans la base de données
      <html><form onsubmit="window.open(document.getElementById('tra').value)" >
      
          <tr>
      	 <td width="117" height="42">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matricule</td>
            <td width="196">
      	  <input name="id" id="id" type="text"   size="25 " value="" /> 
      	  </td>
      	  </tr>    
       <td width="117" height="42">Ville départ </td>
            <td width="196">
      	  <input name="villed" id="villed" type="text"  size="25 "/>
      	  
      	  </td>
      	<td width="117" height="42">Transport: </td>
            <td width="196">
      	  
      	      
      		  <select name="tra" id="tra">
      		  <option > choisissez</option> 
      		  <option value="train.php"> train</option> 
      		  <option value="vol.php"> vol </option>
        
      </select>
      <input type="image" name="imageField" src="inserer.gif"  class="modifier-submite"/>
      </html>

      voici ma page train.php:
      <?php $id=$_POST['id'];
      $villed=$_POST['villed'];
      
       $tra=$_POST['tra'];
       
      $db= mysql_connect('localhost','root','');
      mysql_select_db('choix_transport',$db);
      $sql="INSERT INTO choix_transport(id,villed,tra)VALUES('$id','$villed','$tra')";
      $req=mysql_query($sql) or die('Erreur dans la requete SQL !<br>'.$sql.'<br>'.mysql_error());
      mysql_close();
      ?>

      et voici le problème que j'ai rencontré
      ( ! ) Notice: Undefined variable: id in C:\wamp\www\projet\train.php on line 6
      ( ! ) Notice: Undefined variable: villed in C:\wamp\www\projet\train.php on line 7
      ( ! ) Notice: Undefined variable: tra in C:\wamp\www\projet\train.php on line 8

      Merciiiiiiiiiiiiiiii d'avance
      0
    2. Au vu des messages d'erreur PHP, lorsque tu arrives sur la page train.php, les valeurs du formulaire n'ont pas été transmises car tu n'as pas doté la balise FORM de son attribut ACTION, genre ceci :
      <form method="post" action="train.php">

      Or tu as fait ceci :
      <form onsubmit="window.open(document.getElementById('tra').value)">
      0
    3. Merci ,oui parce que j'ai deux choix soit sur vol.php ou train.php c pour cela je n'est pas mis l'action
      si tu as une proposition a me la donner
      Merciiiiiiiiii D'avance
      0
    4. Ben si tu as le choix du train ou du vol, pas la peine d'ouvrir une nouvelle fenêtre pour exécuter ton script, suffit de faire tout dans la même page. Tu mets le script PHP dans la même page que le formulaire, juste avant la balise HTML comme ceci :
      <?php
      if(isset($_POST['imageField'])) {
      	$id=$_POST['id'];
      	$villed=$_POST['villed'];
      	$tra=$_POST['transport'];
      
      	$db= mysql_connect('localhost','root','');
      	mysql_select_db('choix_transport',$db);
      	$sql="INSERT INTO choix_transport(id,villed,tra)VALUES('$id','$villed','$tra')";
      	$req=mysql_query($sql) or die('Erreur dans la requete SQL !<br>'.$sql.'<br>'.mysql_error());
      	mysql_close();
      }
      ?><html>
      <head>
      	<title>Page de ton formulaire HTML</title>
      </head>
      
      <body>
      <form method="post" action="nom_de_ta_page_du_formulaire.php">
      	<table>
      		<tr>
      	 		<td width="117" height="42">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matricule</td>
      			<td width="196"><input name="id" id="id" type="text" size="25" value="" /></td>
      		</tr><tr>  
      			<td width="117" height="42">Ville départ </td>
      			<td width="196"><input name="villed" id="villed" type="text" size="25" value="" /></td>
      		</tr><tr>
      			<td width="117" height="42">Transport: </td>
      			<td width="196">
      				<select name="transport" id="transport">
      					<option value=""> choisissez... </option> 
      					<option value="train"> train </option> 
      					<option value="vol"> vol </option>
      				</select>
      				<input type="image" name="imageField" src="inserer.gif" class="modifier-submite" />
      			</td>
      		</tr>
      	</table>
      </form>
      </body>
      </html>
      0
    5. Mais il faut avant la validation de formulaire ,il faut choisir soit train.php soit vol.php, si je sélectionne train je vais sur train.php si je sélectionne vol je vais sur vol.php
      si je suis pas très clair dit moi
      0