Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод ошибки без перезагрузки страницы
 
 автор: Чувак   (26.01.2011 в 12:39)   письмо автору
 
 

Есть упрощенный обработчик формы ввода:
<?php

if (isset($_POST['first']))
{
    echo 
'Ошибочка вышла';
}
else
{
?>
<form action="index.php" method="POST">
<table>
<tr>
<td>Первое значение:</td><td><input type="text" name="first"></td>
</tr>
<tr>
    <td>Второе значение:</td><td><input type="text" name="second"></td>
</tr>
<tr>
    <td>&nbsp;</td><td><input type="submit" value="Обработать результат"></td>
</tr>
</table>
</form>

<?php
}
?>


Возможно ли реализовать вывод конструкции echo 'Ошибочка вышла'; без перезагрузки страницы?

   
 
 автор: sim5   (26.01.2011 в 13:00)   письмо автору
 
   для: Чувак   (26.01.2011 в 12:39)
 

Ajax или iframe.

   
 
 автор: hxt   (26.01.2011 в 13:41)   письмо автору
460 байт
 
   для: Чувак   (26.01.2011 в 12:39)
 

Не уверен, но кажется можно такое сделать. Я прикрепил пример из книги. В примере что-то подобное реализовано.

   
 
 автор: sim5   (26.01.2011 в 13:43)   письмо автору
 
   для: hxt   (26.01.2011 в 13:41)
 

В примере ничего подобного.

   
 
 автор: Чувак   (26.01.2011 в 13:47)   письмо автору
 
   для: hxt   (26.01.2011 в 13:41)
 

Да, примерно так и нужно. Но я не пойму как в моем скрипте вывести сообщение подобном образом.

   
 
 автор: sim5   (26.01.2011 в 13:59)   письмо автору
 
   для: Чувак   (26.01.2011 в 13:47)
 

Данный пример будет перегружать страницу при запросе обработчика формы. Что тогда по вашему без перезагрузки?

   
 
 автор: Чувак   (26.01.2011 в 14:11)   письмо автору
 
   для: sim5   (26.01.2011 в 13:59)
 

Сейчас проверил скрипт, он немного коряво работает, но страницу не перезагружает.
Ошибка там выводится чуть выше поля ввода.

   
 
 автор: sim5   (26.01.2011 в 14:32)   письмо автору
 
   для: Чувак   (26.01.2011 в 14:11)
 

Уважаемый, перезагрузка будет тогда, когда форма отправляется (!), а уж что ответит обработчик, или ошибкой, или ОК, так это ответная реакция сервера.
Без перезагрузки, так это обработка формы посредством асинхрнных запросов либо использование IFRAME, о чем сказано выше. Не путайте понятия.

   
 
 автор: Чувак   (26.01.2011 в 14:39)   письмо автору
 
   для: sim5   (26.01.2011 в 14:32)
 

Да, это я понимаю. Еще хочу понять, каким образом приведенный скрипт выводит ошибку?

   
 
 автор: Красная_шляпа   (26.01.2011 в 16:25)   письмо автору
 
   для: Чувак   (26.01.2011 в 12:39)
 

handler.php


<?php 

print_r
($_POST);

?> 


form.php


<iframe id="test" name="test" src="handler.php"></iframe>
<form action="handler.php" target="test" method="POST"> 
<table> 
<tr> 
<td>Первое значение:</td><td><input type="text" name="first"></td> 
</tr> 
<tr> 
 <td>Второе значение:</td><td><input type="text" name="second"></td> 
</tr> 
<tr> 
 <td>&nbsp;</td><td><input type="submit" value="Обработать результат"></td> 
</tr> 
</table> 
</form> 

   
 
 автор: kosta_in_net   (29.01.2011 в 10:44)   письмо автору
 
   для: Чувак   (26.01.2011 в 12:39)
 

А почему нельзя прверить наличие ошибки без отправки формы? Яваскриптом. И если есть оршибка, предотвратить отправку и сообщить о ней? Нафига бежать в магазин, чтоб узнать, что в нем не продается пандорский анаптаниум? И так же ясно: не продается. Так пусть яваскрипт и подсуетиться, чтоб не грузить сервер всякой всячиной.
А вот, когда научишся пользоватся яваскриптом, тогда сможешь скрестить его с ПХП и получить гибрид под названием аякс. И, если будет угодно, будешь проверять еще и аяксом, если чистый яваскрипт тебе не авторитет.

   
 
 автор: sim5   (29.01.2011 в 10:53)   письмо автору
 
   для: kosta_in_net   (29.01.2011 в 10:44)
 

Проверка на чистом JS, это просто сервис, а не проверка.

   
 
 автор: kosta_in_net   (29.01.2011 в 18:18)   письмо автору
 
   для: sim5   (29.01.2011 в 10:53)
 

человек хочет без перезагрузки. Если проверять на сервере, то это аякс. Для применения аякса нужно освоить и ПХП и яваскрипт. Я и предложил сделать для начала на чистом яваскрипте (предположив, что на чистом ПХП, с перезагрузкой он справляется). А потом делать гибрид

   
 
 автор: sim5   (29.01.2011 в 19:12)   письмо автору
 
   для: kosta_in_net   (29.01.2011 в 18:18)
 

Что толку в отсуствие перезагрузки, если таковую проверку обойти как....? Нет, не может быть, и не стоит даже говорить об этом тем, кто вообще понятия начальные даже не в полной мере знает, что на JavaScript может быть проверка. Это может быть только извещение пользователя о допущенных им неточностях, как сервисная услуга, а проверка только и только на сервере.

А об ajax и iframe ему уже говорили, но до этого ему еще....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования