Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Ветер1
0 / 0 / 1
Регистрация: 08.06.2016
Сообщений: 30
1

Данные из HTML-формы не передаются в PHP

30.12.2017, 13:09. Просмотров 803. Ответов 11
Метки нет (Все метки)

Помогите, пожалуйста, начинающему!
Есть HTML- файл:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<html>
  <head>
   <title>Форма</title>
  </head>
<body>
<form action="obrabotka.php" method="POST">
Ваше имя: <input type="text" name="name"><BR><BR>
Ваша оценка: <input type="text" name="estimate" value="отлично"><BR><BR>
<input type="submit" name="submit" value="Отправить">
</form>
</body>
</html>
Eсть PHP- файл:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$a = $_POST["name"];
echo "$a <br>";
$b = $_POST['estimate'];
echo "$b <br>";
var_dump($_POST);
echo "<br>";
print_r($_POST);
echo "<br>";
var_dump($_REQUEST);
echo "<br>";
print_r($_REQUEST);
echo "<br>";
  ?>
Ввожу данные в форму, нажимаю "Отправить" - попадаю на страницу, на которой мой php-код.
Открываю в браузере php- файл, там:


Код
array(0) { } 
Array ( ) 
array(0) { } 
Array ( )
То есть элементы массива совсем не отображаются, а в ответ на вызов всего массива появляются пустые массивы.
Пробовала менять POST на GET - не помогает.
Проверяла работоспособность PHP : открывала PHP-файл со строкой <?php phpinfo()?>, получала таблицу PHP, System, Build date, Compiler и т.д.
Проверяла работоспособность Денвера: писала в строке браузера http://localhost, получала страницу «Ура, заработало!».
При этом связь между PHP-файлом и web-страницей есть: набираю в файле echo "Привет <br>"; - на web-странице появляется "Привет".

Буду очень благодарна за любую помощь!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2017, 13:09
Ответы с готовыми решениями:

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

Проверка данных в php-файле, получающем данные от html-формы
День добрый! Разбираюсь понемногу с HTML и PHP,и в процессе попытался написать...

Не передаются данные из формы
Не передает данные из textarea в php. Выводит + , а на - никогда не меняет....

Не передаются данные из формы
Имеется форма &lt;div id=&quot;con1&quot;&gt; &lt;form method=&quot;POST&quot; action=&quot;add_books.php&quot;...

Не передаются данные с формы
Создание формы: $form = '&lt;form action=&quot;../Model/News_edit.php&quot;&gt;&lt;input...

11
Maryka777
1 / 1 / 1
Регистрация: 28.04.2016
Сообщений: 8
30.12.2017, 17:43 2
Если у вас 2 файла: 1й - index.php, 2-й - obrabotka.php и располагаются они в корне, то все должно работать.
Чтобы избежать ошибки в путях, попробуйте написать все в 1 файле. Создать файл index.php и написать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
    <title>Форма</title>
    <meta charset="utf-8">
</head>
<body>
<form action="index.php" method="POST">
    Ваше имя: <input type="text" name="name"><BR><BR>
    Ваша оценка: <input type="text" name="estimate" value="отлично"><BR><BR>
    <input type="submit" name="submit" value="Отправить">
</form>
</body>
</html>
 
<?php
$a = $_POST["name"];
$b = $_POST['estimate'];
var_dump($_POST);
echo '<br//>Имя: '.$a;
echo '<br//>Значение: '.$b;
1
arava
316 / 119 / 62
Регистрация: 30.06.2014
Сообщений: 644
30.12.2017, 18:00 3
Ветер1, проверил Ваш пример, всё работает.
Убедитесь что оба файла index.php & obrabotka.php лежат в одной папке!
0
Ветер1
0 / 0 / 1
Регистрация: 08.06.2016
Сообщений: 30
30.12.2017, 18:05  [ТС] 4
Да, оба файла лежат в одной папке
И сейчас я посмотрела свои созданные ранее формы, которые были рабочими, они тоже теперь не работают, но другие файлы php работают. Может, это сбои в денвере...
0
arava
316 / 119 / 62
Регистрация: 30.06.2014
Сообщений: 644
30.12.2017, 18:19 5
Ветер1,
Цитата Сообщение от Ветер1 Посмотреть сообщение
Может, это сбои в денвере...
предполагаю что да...
не правили ли Вы конфиги денвера? перезагрузите сервер, компьютер...
0
Ветер1
0 / 0 / 1
Регистрация: 08.06.2016
Сообщений: 30
30.12.2017, 18:25  [ТС] 6
Спасибо, Мaryka777. Попробовала записать в одном файле - работает. Но надо, все-таки, в двух...

Добавлено через 1 минуту
Цитата Сообщение от arava Посмотреть сообщение
не правили ли Вы конфиги денвера? перезагрузите сервер, компьютер...
Перезагружала, не помогает.
Теперь, что, удалять денвер и ставить заново?
0
Maryka777
1 / 1 / 1
Регистрация: 28.04.2016
Сообщений: 8
30.12.2017, 19:10 7
Цитата Сообщение от Ветер1 Посмотреть сообщение
Но надо, все-таки, в двух...
попробуйте путь прописать, как
HTML5
1
<form action="/obrabotka.php" method="POST">
0
Ветер1
0 / 0 / 1
Регистрация: 08.06.2016
Сообщений: 30
30.12.2017, 19:22  [ТС] 8
Цитата Сообщение от Maryka777 Посмотреть сообщение
попробуйте путь прописать, как


<form action="/obrabotka.php" method="POST">
К сожалению, не помогает
0
Maryka777
1 / 1 / 1
Регистрация: 28.04.2016
Сообщений: 8
30.12.2017, 19:30 9
Лучший ответ Сообщение было отмечено Ветер1 как решение

Решение

Цитата Сообщение от Ветер1 Посмотреть сообщение
К сожалению, не помогает
А если попробовать прописать полный путь?
HTML5
1
<form action="<? $_SERVER['DOCUMENT_ROOT'] ?>/obrabotka.php" method="POST">
мне просто кажется, что ошибка где-то в путях... могу, конечно, и ошибаться
0
EU1CJ
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 110
30.12.2017, 22:23 10
Лучший ответ Сообщение было отмечено Ветер1 как решение

Решение

Если оба файла лежат в одной директори, то пути здесь не при чём.
Не помню как когда-то настраивал Denwer (может действительно слетел), но попробуйте следующее.
Вместо index.html сделайте index.php, как:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/**
* Это index файл
*/
?>
<html>
  <head>
   <title>Форма</title>
  </head>
<body>
<form action="obrabotka.php" method="POST">
Ваше имя: <input type="text" name="name" /><br /><br />
Ваша оценка: <input type="text" name="estimate" value="отлично"><br /><br />
<input type="submit" name="submit" value="Отправить" />
</form>
</body>
</html>
Не уверен, но попробовать можно. Просто давно уже с Денвером не работал.
Для локальных разработок имеет смысл перейти на OpenServer 5.2.7 (такая, вроде, сейчас последняя версия). Хотя, дело вкуса.
Кстати, если уж пользуетесь HTML5, обратите внимание на закрывающий "/" в непарных тэгах (на саму задачу это, конечно, не влияет).
Дайте знать, если поможет...
1
Ветер1
0 / 0 / 1
Регистрация: 08.06.2016
Сообщений: 30
31.12.2017, 05:38  [ТС] 11
Действительно, прописывание путей, ничего не дает

Добавлено через 3 минуты
Помещение формы в PHP- файл помогло!
Спасибо огромное EU1CJ!
0
EU1CJ
26 / 26 / 17
Регистрация: 23.12.2017
Сообщений: 110
31.12.2017, 10:28 12
Ветер1,
ну и хорошо. Обращайтесь...

Дело в том, что в самом HTMl, само-собой, нет таких переменных, как $_REQUEST или $_POST.
Вот второй Ваш PHP файл при вызове var_dump и распечатывал пустые строки.
Ведь они (переменные) фактически empty.
0
31.12.2017, 10:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2017, 10:28

Не передаются данные из формы
Такая проблема: есть html-файл с формой, и есть обработчик php-файл, в котором...

не передаются данные из формы
Добрый день. У меня возникла такая проблема! Данные из формы передаются, но...

Не передаются данные в скрипт из формы
Имеется форма. &lt;FORM ACTION=&quot;mult.php&quot; METHOD=&quot;GET&quot;&gt; &lt;INPUT TYPE=&quot;text&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru