2017-05-12 15 views
0

"Dog"をクリックすると "Cow"または "Dog selected"リンクをクリックすると、次のコードで "Cow selected"と表示されます。私はPOSTの代わりにGETを使用しているので、 "id"はアドレスバーのswitch文でクリックするリンクに応じて "?id%20 =%20#"を表示します。しかし、switch文は無視され、実行されないようです。phpのリンクをクリックした後、ブラウザに添付テキストが表示されない

<!DOCTYPE HTML>               
<html lang="en">               
     <head>               
       <meta charset="UTF-8">          
       <title>Appending link data</title>      
     </head>               
     <body>               
       <?php              
         if(isset($_GET['id']))       
         {             
           $id = $_GET['id'];      

           switch($id)        
           {           
             case 1:       
               echo 'Cow selected<hr>'; 
               break;     
             case 2:       
               echo 'Dog selected<hr>'; 
               break;     
             case 3:       
               echo 'Goat selected<hr>'; 
               break;     
           }           
         }             

         echo '<h1>Select a buddy</h1>';     
         echo '<p><a href="link.php?id = 1">Cow</a> | '; 
         echo '<a href="link.php?id = 2">Dog</a> | ';  
         echo '<a href="link.php?id = 3">Goat</a></p>'; 
       ?>              
     </body>               
</html> 

私は間違っていますか?

答えて

2

URLに空白が含まれているため、%20の値(URLエンコードされたスペース)です。空白を削除すると、コードは正常に動作するはずです。

など。 echo '<p><a href="link.php?id=1">Cow</a> | ';

+0

うわー、うまくいきます!ありがとう! –

関連する問題