获取帖子和奇怪的网址值

时间:2011-10-13 13:42:17

标签: php url get

我使用GET方法在每个提交按钮上发布一个隐藏字段。

  <?php
      if(isset($_GET["topic"]))
      {
          $topic=$_GET["topic"];
    ?>
       <input type="hidden" name="topic" value=<?php echo $topic; ?>/>
     <?php    
      }
    ?>

问题是当我点击提交按钮时,我在我的网址中得到这个/'斜杠'。

获得主题车/

(在屏幕上打印回声时)

按下每个按钮,我得到另一个斜线......我的网址看起来像这样..

http://localhost/IHow/home.php?searchEngine=&topic=cars%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F&page=0

如何防止这种情况发生,因为我需要为我的mysql查询提供主题url变量..

2 个答案:

答案 0 :(得分:1)

value属性周围没有引号,并且属性和尾部斜杠之间也没有空格。斜杠被认为是value属性的一部分,因此它被发送。添加引号,添加空格或同时执行这两项操作。

正如TheifMaster所说,您还应该在htmlspecialchars()

上使用topic

答案 1 :(得分:0)

<?php
      if(isset($_GET["topic"]))
      {
          $topic=$_GET["topic"];
          if($topic[strlen($topic)-1] == '/')  //check if last char is '/'
          $topic = substr($topic,1,strlen($topic)-1); //$topic is $topic - last character
    ?>
       <input type="hidden" name="topic" value=<?php echo $topic; ?>/>
     <?php    
      }
    ?>