Проблемы с передачей деталей формы в PHP с использованием POST - PullRequest
1 голос
/ 08 сентября 2010

Это фрагмент кода на home.php

<form action="./Login" method="post">
Email Address: <br />
<input type="text" name="username" tabindex="1" /><br />
Password: <br />
<input type="password" name="password" tabindex="2" /><br />
<input type="hidden" name="home" value="yes" />
<div class="options">
<input type="submit" value="" name="LoginCheck" class="submit_n" />
</div>
</form>

При отправке isset($_POST['LoginCheck']) в login.php вернуть false.

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

Возможно, это небольшая проблема, но что я делаю не так?

Ответы [ 5 ]

1 голос
/ 08 сентября 2010

Я получил это работает. Понятия не имею, почему это сработало? Пожалуйста, объясните !!

По умолчанию все каталоги имеют доступ к index.php [Как настроено мной в Apache]

Так что, когда я говорю action = "./ Login", он идет в index.php, но по какой-то причине не помнит, откуда он, поэтому данные POST отсутствуют.

Я изменил его на action = "./ Login / index.php" и теперь все работает отлично. ПОЧЕМУ ??????

1 голос
/ 08 сентября 2010

Нет значения для LoginCheck отправки ввода.По PHP документам isset "Определить, установлена ​​ли переменная и не равно NULL "

0 голосов
/ 08 сентября 2010

Что в основном происходит, так как у вас установлено значение «LoginCheck», равное «», что НИЧЕГО, браузер даже не отправляет его.

Я думаю, что если вы сделаете print_r ($ _ POST), вы даже не увидите его в качестве ключа массива, поэтому ваш isset () не работает.

Дайте ему правильное значение, если вы хотите что-то с ним сделать.

0 голосов
/ 08 сентября 2010

Ответ прост:

Удалить value=""

Веб-браузеры не обязаны отправлять элементы управления, которые не имеют значений:

Если элемент управления не имеет тока значение при отправке формы, пользователь агенты не обязаны рассматривать его как успешный контроль.

- спецификация HTML4, раздел 17.13.2 Успешные элементы управления

Чтобы уточнить, веб-браузеры должны отправлять только успешные элементы управления. Это означает, что если браузер решил не обрабатывать элемент управления как успешный, браузер не сможет отправить элемент управления.

Успешный элемент управления «действителен» для представление.

- спецификация HTML4, тот же раздел, что и выше

0 голосов
/ 08 сентября 2010

Я думаю, что вместо action = "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...