Как удалить ненужные строки в строке запроса в PHP?

#php #query-string

#php #запрос-строка

Вопрос:

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

У меня здесь строка запроса:

http://localhost/exercises/php_js/exer_test/?year_list=1994amp;event_list=Singing Contestamp;btn_show=Show

Я думаю, что amp;btn_show=Show это как-то связано со значением элемента submit. Есть ли способ, которым я могу удалить или скрыть это в строке запроса или URL?

index.php

 <?php include('functions.php'); ?>

<html>
<head>
 <script type="text/javascript" src="myscripts.js"></script>
</head>
<body>
 <div>
  <form name="myform" >
   Select Year: <?php echo hspacer(1); ?>
   <select id="year_list" name="year_list" >
   <?php  
    for($year = (date('Y') - 100); $year <= (date('Y')   100); $year   ) {
     if ($year == date('Y'))  echo "<option value='$year' name='$year' selected='' >" . $year . "</option>";
     else echo "<option value='$year' name='$year' >" . $year . "</option>";
    }
   ?>
   </select>
   <?php echo hspacer(5); ?>
   Select Event:  <?php echo hspacer(1); ?>
   <select id="event_list" name="event_list" >
   <?php  
    $events = array("Karate Tournament", "Beauty Pageant", "Film Festival", "Singing Contest", "Wedding");

    foreach($events as $event) echo "<option value='$event' name='$event' >" . $event . " </option>";
   ?>
   </select>
   <?php echo vspacer(2); echo hspacer(22); ?>
   <input type="submit" id="bnt_show" name="btn_show" value="Show" onclick="show(); "/> 
  </form>
 </div>
</body>
</html>  
  

functions.php

 <?php
 function hspacer($num_of_spaces) {
  $spaces = "";
  if ($num_of_spaces > 0)  for($i=0; $i<$num_of_spaces; $i   )  $spaces .= "amp;nbsp;";

  return $spaces;
 }

 function vspacer($num_of_linefeeds) {
  $linefeeds = "";
  if ($num_of_linefeeds > 0)  for($i=0; $i<$num_of_linefeeds; $i   )  $linefeeds .= "<br />";

  return $linefeeds;
 }
?>
  

myscripts.js

 function show() {
 var year = document.getElementById('year_list').value;
 var event = document.getElementById('event_list').value;
 var result = "Year: "   year   "nEvent: "   event;

 alert(result);
}
  

Комментарии:

1. Я думаю, вы ищете $_SERVER['QUERY_STRING'] . Вы можете найти документацию здесь: php.net/manual/en/reserved.variables.server.php

Ответ №1:

Вы можете удалить имя (например name="btn_show" ), чтобы удалить строку запроса в URL.

 <input type="submit" id="bnt_show" value="Show" onclick="show(); "/> 
  

Ответ №2:

Просто удалите name из вашего элемента submit button.

Ответ №3:

Да, если вы не используете значение, удалите значение из элемента ввода кнопки отправки или используйте тег button.

Если вы используете значение, было бы правильно поместить его также в URL.

Ответ №4:

Просто заполните свой тег формы, добавив параметр метода. Например. method="post" . Если вы сделаете это, переменные в форме будут переданы веб-серверу по HTTP POST. После этого вы можете найти переменные в PHP в $_POST массиве.

Проверьте следующий URL для получения полного FORM описания тега.

http://www.w3schools.com/tags/tag_form.asp