1

を使用して ID を選択し、$_GET[]それを変数に割り当てようとしていますが、機能しません。直接エコーしようとすると$_GET[]、ページにIDが表示されて正常に動作しますが、変数に割り当ててエコーしようとするとうまくいきません。たとえば、これは機能しません:

$sel_hotel = $_GET[];
echo $sel_hotel; 

コードは問題ないように見えますが、その値を変数に渡さないだけです。php.ini ファイルに問題がある可能性がありますが、よくわかりません。PHP バージョン 5.4.3 を使用しています。助けてください 。どうもありがとうございます

<?php 
if(isset($_GET['hotl'])){
 $sel_hotel = $_GET['hotl']; 
 $sel_hotel ="";
 echo   $sel_hotel;
}elseif(isset($_GET['room'])){
 $sel_room = $_GET['room'];
 $sel_room ="";
 echo $sel_room;
}else{
$sel_hotel ="";
$sel_room ="";
}
echo  $sel_hotel;

?>
<?php require_once("includes/header.php");?>
<?php require_once("includes/function.php");?>
<?php //require_once("TheDatabase.php")?>
<?php $connection = mysql_connect("localhost","root","root");
       if(!$connection){
       die("Database Connection Failed :". mysql_error());
       }else{                               
              $db_select = mysql_select_db("travelnstay", $connection);
              if(!$db_select){
              die("Database Selection Failed:". mysql_error());
              }
        }
?>
<div class="Calign">
<div class="mar">
<div>
<p>Menu</p>
<?php
               $hotel_set = select_all_hotels(); 
                 while($hotel = mysql_fetch_array($hotel_set)){
                     echo "<p class=\"mar\"><a href=\"admincontent.php?hotl=" . 

urlencode($hotel["hotel_id"]).

                     "\">{$hotel["hotel_name"]}</a></span></p>";
                     $room_set = room_by_id($hotel["hotel_id"]);
                     echo "<ul>";
                     while($room= mysql_fetch_array($room_set)){
                     echo "<li><a href=\"admincontent.php?room=". urlencode($room["room_id"]).
                     "\">{$room["room_type"]}</a></li>";                  
                     echo"</ul>";
                     }  
                }


     echo "<p> Its is suppose to be here".$sel_hotel."</p>"; 
     echo "<p>". $sel_room. "</p>";


  ?>


</div><!--end of the mar-->
</div><!--end of the Calign-->
</body>

</html>
4

3 に答える 3

3

から変数を設定するたびに$_GET、後でそれらを消去します...

試す:

<?php 
  $sel_hotel = "";
  $sel_room  = "";

  if(isset($_GET['hotl']))
  {
    $sel_hotel = $_GET['hotl']; 
    echo $sel_hotel;
  }
  elseif(isset($_GET['room']))
  {
    $sel_room = $_GET['room'];
    echo $sel_room;
  }

  echo $sel_hotel;
?>
于 2012-07-14T16:57:46.510 に答える
1

どちらの場合も $_GET 値を取得した後に変数をリセットします。変数を空にしているため、変数は空です。

于 2012-07-14T16:58:31.160 に答える
1

問題は、変数を設定すると、変数をクリアして空の文字列にすることです。これの2行目は問題です:

$sel_hotel = $_GET['hotl']; 
$sel_hotel ="";

これでどのようなロジック フローを達成しようとしていましたか? 実行時にそれらが空であることを確認する必要がある場合は、これらの行を削除するか、スクリプトの先頭に移動することをお勧めします。

于 2012-07-14T17:02:49.240 に答える