#php #html
Вопрос:
Эй, я создаю сценарий, который проверяет, совпадает ли указанная строка с той, что в check.php. Вот мой HTML-код:
<form name="input" action="check.php" method="POST" id="key">
Key: <input type="text" name="key" />
<input type="submit" value="Submit" />
</form>
Однако, когда он запускается check.php он переходит на белую страницу по умолчанию. Есть ли способ получить результат для отображения на странице, на которой они ввели информацию, например, вверху или внизу? Вот мой check.php (только для тестирования банкомата):
<?php
$key=$_POST['key'];
echo $key;
?>
Комментарии:
1. Вам нужно посмотреть AJAX
2. Кроме того, вы всегда должны анализировать любые данные, которые вы получаете по почте/ПОЛУЧИТЬ, чтобы удалить вредоносный код.
Ответ №1:
В самом простом примере здесь переименуйте свой html-файл .php. Теперь вставьте PHP-скрипт в текст вашего старого HTML — документа. Измените действие формы на пустое (это приведет к отправке формы в тот же документ). Теперь ваш документ формы также выводит $_POST[«ключ»]. Если значение $_POST[‘ключ’] пустое… ты ничего не повторяешь. Вы можете получить предупреждающее сообщение, но ничего страшного.
Комментарии:
1. Я понимаю, что это может немного сбить с толку, поэтому дайте мне знать, если это нуждается в дополнительных объяснениях.
2. Все в порядке, я это понял, и это работает идеально. Не знаю, почему я об этом не подумал. Спасибо.
3. Этот вид программирования предполагает мышление о вещах по-другому, чем создание веб-страниц или написание скомпилированного кода. Я рад, что смог помочь.
Ответ №2:
Здесь вам нужно включить Javascript в микс. Посмотрите на jquery и, в частности, на функцию jQuery.get ().
Это позволяет в фоновом режиме извлекать данные с сервера, а затем управлять страницей с помощью javascript на основе ответа сервера.
В конечном счете, то, что вам нужно, требует динамической КЛИЕНТСКОЙ стороны. PHP-это язык сценариев на стороне сервера.
Ответ №3:
<?php
if(isset($_POST['key']) {
$key=$_POST['key'];
echo $key;
} else {
?>
<form name="input" action="check.php" method="POST" id="key">
Key: <input type="text" name="key" />
<input type="submit" value="Submit" />
</form>
<?php } ?>
Где check.php это страница, с которой вы начинаете. Обратите внимание, что я просто использовал ваш код, чтобы быстро создать то, что вы ищете. Вы, вероятно, захотите сделать больше, чем просто повторить ключ, и, скорее всего, захотите использовать более хорошо отформатированный HTML-код.
Комментарии:
1. Я бы перешел
$key=$_POST['key'];
внутрь вашегоif()
заявления, чтобы избежать каких-либоNotice
сообщений.2. @jnpcl Действительно, я просто копировал и вставлял код операции вместе, поскольку он у них уже был.
Ответ №4:
У вас нет никаких инструкций по вашему check.php страница для отображения чего угодно, поэтому она останется белой страницей по умолчанию. Мое предложение состояло бы в том, чтобы разместить вашу HTML-форму и логин PHP на одной странице и опубликовать ее для себя. Затем вы можете проверить, была ли отправлена форма, и выполнить любую проверку данных при отправке, которую вы хотели бы.
Ответ №5:
Убедитесь, что одна страница является файлом php. Установите действие формы так, чтобы оно указывало на него.
После (или до, или в середине) вашего html-кода поместите что-то вроде:
<?php
if (isset($_POST['key'])) {
// stuff that only occurs if the user posted a form
}
?>
Ответ №6:
<?php
$key = null;
if($_SERVER['REQUEST_METHOD'] == 'POST']) {
$key=$_POST['key'];
}
?>
<form name="input" action="check.php" method="POST" id="key">
Key: <input type="text" name="key" value="'<?php =$key?>/>
<input type="submit" value="Submit" />
</form>
<?php
if(!isNull($key)) echo $key;
?>
Комментарии:
1. Вы должны проверить , что
$_POST['key']
существуетisset()
, иначе он выдастNotice
, если это не так.
Ответ №7:
Вы должны отобразить свою форму на своем check.php файл. Вам нужно отобразить результат формы только в том случае, если он существует. Как нам это сделать? Проверьте функцию isset (). (http://www.php.net/manual/en/function.isset.php) У вас будет что-то подобное:
<?php
if(isset($_POST['key'])) {
$key=$_POST['key'];
echo $key;
}
?>
<form name="input" action="check.php" method="POST" id="key">
Key: <input type="text" name="key" />
<input type="submit" value="Submit" />
</form>
Комментарии:
1. не хватает заключительной
)
части вашегоif()
заявления.