1 / 1 / 2
Регистрация: 24.12.2010
Сообщений: 35
1

Не работает обработчик формы

13.06.2012, 14:50. Показов 2166. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте, проблема в следующем: вывожу записи(вопросы пользователей) из таблиц через select, под ними печатаю textarea и кнопку "отправить". По кнопке отправить через GET передаю в URL номер вопроса, на который будет произведен ответ. Потом, как мне казалось, получаю в переменную номер вопроса через GET, получаю ответ через POST и добавляю в базу, но ничего не добавляется.. в чем проблемы?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?
    $mysql_database = "имя базы"; 
    $mysql_username = "имя юзера"; 
    $mysql_password = "пассворд"; 
    $mysql_host     = "";
 
    $mysql_connect = mysql_connect($mysql_host, $mysql_username, $mysql_password);
    if (!$mysql_connect) 
        {
            echo "error!";
            exit;
        }
    
    mysql_select_db($mysql_database);
    mysql_query("SET NAMES utf8");
    
    $arr = mysql_query("SELECT cust.id_customer, id_question, name_customer, email_customer, tel_customer, question, DATE_FORMAT(date_q, '%d.%m.%Y') as date_q FROM QA_customers AS cust JOIN QA_question AS quest ON cust.id_customer=quest.id_customer ORDER BY id_customer DESC"); 
    while ($row=mysql_fetch_assoc($arr))  
        {          
                $out .= template_show_body($row['id_customer'], $row['id_question'], $row['name_customer'], $row['email_customer'],
                $row['tel_customer'], $row['question'], $row['date_q']);        
        }
 
    mysql_free_result ($arr);
    echo $out;
   
        
    function  template_show_body ($id, $id_q, $name_customer, $email_customer, $tel_customer, $date_q, $question)
    {       
            $out = '<div class="ques" style="margin-bottom:10px;"> <div class="q_head"><b>'.$name_customer.'</b>';
        if ($email_customer || $tel_customer)
            {
            $out .= ' (';
            if ($email_customer)
                $out .= '<a href=mailto:'.$email_customer.'>email</a>';
            if ($email_customer && $tel_customer)
                $out .= ' | ';
            if ($tel_customer)
                $out .= 'тел: '.$tel_customer.'';
            $out .= ') ';
            }
        $out .= ' спрашивает '.$question.':</div>'.$date_q.'</div><form action="" method="POST"><textarea id="ques" name="ques" value=""></textarea></form><a href="http://сайт.ru/qa.php?id_q=' . $id_q . '"><button>Ответить</button></a>';                      
             
                return $out;
               
        }
    if (isset($_GET) AND isset($_POST['ques'])) 
        {  
            $ques    = $_POST['ques'];
            $id_ques = $_GET['id_q'];
            var_dump ($id_ques);
            my_sql_query("INSERT INTO `база`.`таблица`(`id_question`, `id_worker`, `answer`) VALUES ('$id_ques', '1', '$ques')");
 
        } 
        
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2012, 14:50
Ответы с готовыми решениями:

Не работает обработчик формы
Не работает обработчик,когда все поля заполнены(ошибок нету)просто белый экран,нету сообщения о...

Не работает обработчик формы php+mysql
Здравствуйте, не могу понять почему не работает обработчик формы. По идее должны счтываться данные...

Обработчик циклической формы =)
Есть форма для обновления статистики, которая выводится циклом из бд Идея тут в том, чтобы...

Форма и обработчик формы
Здравствуйте! Подскажите, пожалуйста, в чем проблема? есть форма &lt;form method=&quot;post&quot;...

8
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.06.2012, 15:03 2
Ну во первых почему у вас вставки идёт внутри функции?
Она должна отдельно выполнятся.

Во вторых, что бы передать данные у вас тут
HTML5
1
<form action="" method="POST"><textarea id="ques" name="ques" value=""></textarea></form>
нет не какого упоминания к какому вопросу относится форма.ъ

ну и в третьих, нужно не просто массив проверять а ключ в нём.

PHP
1
if (isset($_GET['id_q'], $_POST['ques']))
вот этот id_q передавать в форме. то есть
HTML5
1
<form action="http://сайт.ru/qa.php?id_q=' . $id_q . '" method="POST"><textarea id="ques" name="ques" value=""></textarea></form>
вот это вообще тут откруда?
HTML5
1
<a href="http://сайт.ru/qa.php?id_q=' . $id_q . '">
ссылки в форме не пишут.

ну и
HTML5
1
<button type="submit">Ответить</button>
0
1 / 1 / 2
Регистрация: 24.12.2010
Сообщений: 35
13.06.2012, 15:11  [ТС] 3
Спасибо за ответ!
Внутри функции, потому что там когда выводятся сообщения, сразу и номера сообщений берутся, чтобы передать в get запрос! я догадывалась, что так нельзя)) буду думать, как исправить теперь, чтобы получить номер конкретного сообщения на который будет даваться ответ..

Странно, что у вас ссылка в форме написана, но у меня в коде вот так:
PHP
1
<form action="" method="POST"><textarea id="ques" name="ques" value=""></textarea></form><a href="http://сайт.ru/qa.php?id_q=' . $id_q . '"><button>Ответить</button></a>';
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.06.2012, 15:21 4
Это не у меня странно, а у вас. Я вообще ен уверен что форма с ссылкой <a ... будет правлиьно работать.
Так как вы перейдёте по ссылке без передачи пост параметров
0
1 / 1 / 2
Регистрация: 24.12.2010
Сообщений: 35
13.06.2012, 15:30  [ТС] 5
Значит у меня странно)
я правильно поняла, что ссылку надо положить в action а <a href ..> удалить вообще?
просто a href же идет для кнопки, за формой, там перед <a href ..> закрыла форму </form>.
Или что вы имеете ввиду?)
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.06.2012, 17:29 6
Цитата Сообщение от Bad_pr Посмотреть сообщение
я правильно поняла, что ссылку надо положить в action а <a href ..> удалить вообще?
правильно
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.06.2012, 23:15 7
HTML5
1
<form action="" name="form1" method="POST"><textarea id="ques" name="ques" value=""></textarea></form><a href="http://сайт.ru/qa.php?id_q=' . $id_q . '" onclick="document.form1.submit();"><button>Ответить</button></a>';
так тоже должно работать
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.06.2012, 23:23 8
И как оно по вашему должно сработать?
Что произойдёт по нажатию на кнопку? Отправка формы? Или переход по ссылке?
И то и то по любому не произодёт. Хотя бы потому что легко указать форме и ссылке разные адреса. Скрипт же не разорвётся
В зависимости от браузера, либо будет передача формы, либо переход по ссылке.

Что бы передать форму на определённый адрес, нужно прописать этот адрес в атрибуте action формы.
Отправляйте форму так
HTML5
1
2
3
4
<form action="http://сайт.ru/qa.php?id_q=' . $id_q . '" name="form1" method="POST">
  <textarea id="ques" name="ques" value=""></textarea>
  <button type="submit">Ответить</button>
</form>
или так
HTML5
1
2
3
4
<form action="http://сайт.ru/qa.php?id_q=' . $id_q . '" name="form1" method="POST">
  <textarea id="ques" name="ques" value=""></textarea>
  <input type="submit" value="Ответить"/>
</form>
0
1 / 1 / 2
Регистрация: 24.12.2010
Сообщений: 35
14.06.2012, 15:43  [ТС] 9
Решила решать проблему радикально) полностью переписываю код))
0
14.06.2012, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2012, 15:43
Помогаю со студенческими работами здесь

Обработчик формы. список
Помогите люди) Как изменить обработчик формы, а то последняя переменная(name=&quot;vibor&quot;) передает...

Обработчик данных принятых с формы
Делаю скрипт для обработчика данных принятых с формы.Я только начинаю изучать php и Mysql.Также,...

Обработчик формы что не так?
Здравствуйте помогите разобраться! Значит вот код формы: &lt;form method='POST'...

Обработчик для формы поиска, подскажите. запутался.
Доброго времени суток! Прошу помощи в следующем деле. Есть страница поиска по БД. Выкладываю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru