Создать страницу Php, которая перенаправляет на другую страницу, передающую некоторый контент - PullRequest
0 голосов
/ 08 августа 2011

Я новичок в PHP, и я хотел бы сделать следующее, но я понятия не имею, как это сделать:

У меня есть веб-страница, где я прошу пользователя указать свой почтовый индекс. После того, как он / она отправляет его, страница перенаправляется на другую страницу PHP, где я ищу в базе данных город, соответствующий почтовому индексу. Тогда я пишу: "Ты город ..." Я хотел бы, чтобы это происходило с использованием только одной веб-страницы (без видимого перенаправления для пользователя). Я знаю, что мы можем использовать заголовок для перенаправления на первую страницу, но я не знаю, как передать контент (город).

Ответы [ 5 ]

1 голос
/ 08 августа 2011

Вы можете передать название города в параметре запроса, например

headers('Location: serachdatabase.php?city='.$cityname);

Но это может быть не то, что вы ищете.Вы можете рассмотреть использование Ajax для этого.При использовании Ajax страница не обновляется полностью, а может обновляться только часть страницы.Аякс, если вы не знаете об этом, широко используется.

0 голосов
/ 08 августа 2011

Звучит так, будто вы ищете пост AJAX. Это может звучать как продвинутая тема для начинающего, но если вы посмотрите на фреймворк, такой как jQuery (http://api.jquery.com/jQuery.post/), вы увидите, что это довольно просто.

Попробуйте что-то вроде этого:

$('#myform').submit(function() {
   var url = 'databasequery.php';
   var postcode = $('#postcode').val();
   $.post( url, { postcode: postcode },
      function( data ) {          
          $( "#result" ).empty().append( data );
      }
    );
  return false;
});

В вашем HTML вы бы пометили свою форму как myform и создали пустой div с идентификатором "result".

Ваш файл 'databasequery.php' должен принимать переменную POST с именем postcode и просто выводить ответ, который вы хотите отобразить на своей странице.

0 голосов
/ 08 августа 2011

Если вы не хотите перенаправлять страницу, вам нужно использовать iFrame или несколько CSS-идентификаторов div-ов, чтобы загрузить ваш контент, используя javascript XMLHttpRequest или jQuery axaj или аналогичный для загрузки информации с другой страницы PHP и вставьте его в текущий документ.

Здесь - пример использования XmlHttpRequest, а Здесь - документация API jQuery по его методу ajax.

0 голосов
/ 08 августа 2011

Вы можете перенаправить, используя header ("Location: ...");

или вы можете просто опубликовать форму

 <form method="post" action="yourURL">
     Postal code <input type='text' name='postal_code' /> <br/>
     <input type="submit" value="submit form" name="submit" />
 </form>

, а затем сделать в php что-то вроде этого:

     <?php
        $postal = $_POST["postal_code"];

      // match against databse..
     ?>

Обратите внимание, что этот код не является "безопасным", чтобы поместить его в запрос mysql!

0 голосов
/ 08 августа 2011

Ключом к решению вашей проблемы являются параметры GET и POST.Узнайте о формах HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...