2013-05-07 5 views
2

Я новичок в php и веб-программировании ... Я работаю над школьным проектом, изменяющим базы данных через корпоративный сайт.PHP - Избегайте перезагрузки страницы после формы submit

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

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

J.

+10

Использование Ajax ....... –

+2

Согласовано - AJAX. Начните с библиотеки jQuery ... и добро пожаловать в веб-программирование. –

+1

Ohhh nooo все эти ответы SOOO неправильно! Я точно знаю, что вы имеете в виду, проблема в обработке POST-данных. В этом есть обычная техника, я просто буду искать свой материал, а затем напишу большой ответ. – Sliq

ответ

2

Перенаправление на другую страницу/маршрута, кроме одной страницы был представлен.

Пример для перенаправления страниц.

header("location: differentpage.php"); 
exit; 

После того, как вы в differentpage.php вы не можете перезагрузить запрос POST. Для получения данных вы можете использовать параметр SESSION или GET в соответствии с требованиями.

+0

Это все еще считается загрузкой всей страницы, и, как мне кажется, первоначальный вопрос пытался избежать этого. –

+0

Не обязательно, поскольку страница приходит на 'differentpage.php', она больше не связана с отправкой страницы напрямую. – Starx

+0

Очень плохая практика, на самом деле [современный сайт просто живет внутри ONE index.php] это бесполезно. – Sliq

1

Вам нужно сделать это в JavaScript, а не в PHP.

PHP - это серверный язык, то, что вы делаете, анализируется на стороне сервера.

Чтобы остановить отправку формы, вам необходимо использовать JavaScript. Установить onSubmit событие на форме ..

Пример кода:

<script> 
    function validation() 
    { 
    // do stuff 

    return false; // stops submission of form 
    } 
</script> 
<form onsubmit="return validation();"> 
    <input type="submit" value="Submit" /> 
</form> 
+0

Еще раз прочитайте вопрос. – Starx

+0

Это хорошая отправная точка и необходимо использовать AJAX. –

+0

@Starx почему? Ставка вопроса, которую он хочет избежать перезагрузки страницы. С вашей страницей метода вы будете перезагружены. Ясный путь - отказаться от подачи формы и использовать AJAX для получения данных для других форм, которые он хочет заполнить. – Johan

1

Если вы не хотите использовать Javascript и Ajax вы можете использовать IFRAME и установить цель формы в качестве имени IFrame в

обратите внимание, что вы должны написать 2 различных страниц для достижения этой цели:

  1. один, который создает форму и IFRAME
  2. Один, которые отображают данные и использует размещены значения

кодекса в index.html

<form action="test.php" target="tar"> 
    <input type="submit"/> 
</form> 
<iframe name="tar"> 
</iframe> 

Код в test.php

var_dump($_POST); // show your data 
Смежные вопросы