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

Форум PHP

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

 

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

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

тема: Ajax методом post
 
 автор: Атдрон   (12.06.2013 в 13:00)   письмо автору
 
 

Всем привет! Купил книгу PHP на примерах 2-издание, тема Отправка данный методам POSTrnrnB результате не выходит ни чего! Вылажу свой ко, посмотрите пожалуйста, может где то допустил ошибку?

Заранее спасибо!

<script type="text/javascript">
$(document).ready(function () {
$("#id_submit").bind("click", function() {
if ($.trim($("#id_name").val()) ==="") 
{
alert('Поле для атора не было заполненно');
return false;
}
if ($.trim($("#id_comment").val()) ==="")
{
alert('Поле для комментария осталось не заполненным');
return false;
}
$("#id_submit").attr("disabled", "disabled");

$("#info").load("addcomm.php",
{name: $("#id_name").val(),
comment: $("#id_comment").val()},
$("#id_submit").attr("disabled", ""));

})

});
</script>


<div id='info'>
    <?php
    
require_once("addcomm.php");
    
?>
</div>

<div id="form">
  <span class="fld">    

    <p><input id="id_name" type="text" /></p>
  </span>

  <span class="fld">    
    <textarea id="id_comment" rows="5" type="text" ></textarea>
  </span>  
  
  <span class="fld">    
    <input id="id_submit" type="submit" value="Добавить" />
  </span>
 </div>


<?php 
include("lesson/config.ini.php");
include(
"lesson/function.ini.php");
if (!empty(
$_POST)){
$error = array();
if (empty(
$_POST['name'])) 
{
$error[] = "<p>Нет Имени</p>";
}
if (empty(
$_POST['comment']))
{
$error[] = "<p>Нет комментария</p>";
}
if (empty(
$error))
//if (!get_magic_quotes_gpc())
{
$_POST['name'] = ($_POST['name']);
$_POST['comment'] = ($_POST['comment']);
}

$query "INSERT INTO `lesson_comm` VALUES(NULL,
                       '
{$_POST['name']}',
                       '
{$_POST['comment']}')";
if (!
mysql_query($query))
{
$error[] = "<p>Ошибка отпрвки сообщения</p>";
}
}

$comment "SELECT * FROM `lesson_com`";
$query mysql_query($comment);
while(
$row mysql_fetch_object($query)){
echo 
$row->comment;
echo 
$row->name;
}

?>

  Ответить  
 
 автор: confirm   (12.06.2013 в 15:58)   письмо автору
 
   для: Атдрон   (12.06.2013 в 13:00)
 

Во-первых метод .load() по умолчанию выполняется как GET-запрос, во-вторых у вас не обрабатывается ответ, а в третьих, метод .bind() считается устаревшим, и последней версией jQuery не поддерживается, и если у вас она, то вообще до вызова не дойдет.

  Ответить  
 
 автор: Атдрон   (12.06.2013 в 16:03)   письмо автору
 
   для: confirm   (12.06.2013 в 15:58)
 

А какая альтернатива bind()? Ну в книге 2012 года именно так все написано!
А с помощью $_GET я могу в таблицу записать значение поля input
например <input type="text" id="id_comment"/>???

  Ответить  
 
 автор: confirm   (12.06.2013 в 16:16)   письмо автору
 
   для: Атдрон   (12.06.2013 в 16:03)
 

Ну я бы не сказал, что альтернатива, просто в последней версии новый метод .on() заменяет и .bind() и другие. И методов асинхронных запросов много, и метод именно для POST есть.

С помощью любого метода передачи асинхронного запроса можно во что-то вставить ответ (если он конечно корректный), но его же надо обрабатывать, чего вы не делаете. Посмотрите по ссылках примеры.

PS. Ваш код форматирован ужасно и лишнего много, не сразу в каше вашей разобрался - ваш запрос выполнится как POST, но вот обработки все равно нет.

  Ответить  
 
 автор: Атдрон   (12.06.2013 в 16:29)   письмо автору
 
   для: confirm   (12.06.2013 в 16:16)
 

confirm!
Я в ajax query вообще не юзал, если вам не сложно сделайте изменения в коде, а то я сам буду долго догонять! Заранее спасибо Вам!

  Ответить  
 
 автор: confirm   (12.06.2013 в 16:34)   письмо автору
 
   для: Атдрон   (12.06.2013 в 16:29)
 

Какие изменения? Если я бы я изменял, я бы выкинул из вашего кода 80%, так как много лишнего, а по современным меркам бесполезного. Ну и второе, что вам надо из кода совсем не видно.

Не надо разбираться в .ajax() query, используйте его упрощенные методы, для POST запросов, это $.post(). Метод .load() имеет свою специфику, и применяя его, нужно это знать - http://jquery-docs.ru/ajax/load/.

  Ответить  
 
 автор: Атдрон   (12.06.2013 в 16:55)   письмо автору
 
   для: confirm   (12.06.2013 в 16:34)
 

Ну в таком случаи если 80п выкинуть то получается что данное приобретение было совсем бесполезно http://www.ozon.ru/context/detail/id/7353555/ Мне больше сказать не чего, разве оставить суперский отзыв в магазине! А Вам спасибо большое что ответили на мою просьбу!

  Ответить  
 
 автор: confirm   (12.06.2013 в 17:04)   письмо автору
 
   для: Атдрон   (12.06.2013 в 16:55)
 

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

Ну вот зачем это писать, да еще так ужасно - if ($.trim($("#id_comment").val()) ==="") , повторяясь?
Конечно, если вы напишите свой сайт, и стоит его только выставить, и у вас будет сразу миллион посетителей, и этот миллион со всякими браузерами, от раритетов до современных, то может и нужно такое писать. Но писать ==="" для строковых значений, это....
Учитывая, что проверка на клиенте, это чистый сервис, то вместо всего этого лишнего кода, лучше добавить атрибут required тем полям формы, которые должны быть обязательно заполнены. Хватит идти на поводу пользователей держащихся за рухлядь.

Ну и другое в вашем коде мягко сказать далеко даже от оценки удовлетворительно.

  Ответить  
 
 автор: Атдрон   (12.06.2013 в 17:09)   письмо автору
 
   для: confirm   (12.06.2013 в 17:04)
 

А Вам удивляюсь! Я все это с книги скопировал! О каком маем коде Вы говорите?
Вы читали данное издание? Я благодаря этой книге здесь оказался!

Еще раз повторяю, весь код взят с книги в том числе название блоков div

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

  Ответить  
 
 автор: confirm   (12.06.2013 в 17:20)   письмо автору
 
   для: Атдрон   (12.06.2013 в 17:09)
 

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

  Ответить  
 
 автор: Атдрон   (12.06.2013 в 17:22)   письмо автору
 
   для: confirm   (12.06.2013 в 17:20)
 

Понятно!

  Ответить  
 
 автор: DangerBay   (12.06.2013 в 17:22)   письмо автору
 
   для: Атдрон   (12.06.2013 в 17:09)
 

А чему вы удивляетесь?
Достойной литературы по программированию от русских авторов не существует в принципе.

  Ответить  
 
 автор: confirm   (12.06.2013 в 17:27)   письмо автору
 
   для: DangerBay   (12.06.2013 в 17:22)
 

Программирование у вас должно "сидеть" в голове - это ваше мышление, а руководство по языку - это описание его возможностей. Достаточно соединить мышление с описанием, и уже можно что-то писать.
Хотя хорошие книги, это всегда хорошо, и они есть, вы же не все читали, а то что вам попалось не лучшее, еще не говорит о том, что все такое.

  Ответить  
Rambler's Top100
вверх

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