ПОЛУЧИТЬ пост и странное значение URL - PullRequest
1 голос
/ 13 октября 2011

Я публикую скрытое поле с каждой кнопкой отправки, используя метод GET.

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

Проблема заключается в том, что когда я нажимаю кнопку отправки, я получаю этот / 'слэш' в своем URL.

есть тема автомобили /

(при печати с эхом на экране)

При каждом нажатии кнопки я получаю еще одну косую черту ... и мой URL выглядит примерно так..

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

Как этого избежать, потому что мне нужна переменная url для моего запроса mysql ..

Ответы [ 2 ]

1 голос
/ 13 октября 2011

У вас нет кавычек вокруг атрибута value, и у вас также нет пробела между атрибутом и косой чертой. Косая черта считается частью атрибута value, поэтому она отправляется. Добавьте кавычки, добавьте пробел или сделайте и то, и другое.

Как говорит TheifMaster, вы также должны использовать htmlspecialchars() на topic

0 голосов
/ 13 октября 2011
<?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    
      }
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...