2016-06-08 6 views
-1
<?php 
if (isset($_GET['fail']) && !empty($_POST["uname"])) 
{ 
    echo '<script language="javascript">'; 
    echo 'alert("Your name or password is incorrect")'; 
    echo '</script>'; 
} 

Как проверить пустое поле при нажатии кнопки отправки?Проверьте наличие пустого поля для моего имени пользователя и пароля

+1

Заголовок вещи на перевале - ** никогда не храните незашифрованные пароли ** Пожалуйста, используйте [встроенные функции] РНР (http://jayblanchard.net/proper_password_hashing_with_PHP.html) для обработки безопасность паролей. Если вы используете версию PHP менее 5.5, вы можете использовать 'password_hash()' [пакет совместимости] (https://github.com/ircmaxell/password_compat). Убедитесь, что вы [не избегаете паролей] (http://stackoverflow.com/q/36628418/1011527) или используйте какой-либо другой механизм очистки для них перед хэшированием. Выполнение этого * изменяет * пароль и вызывает ненужное дополнительное кодирование. –

ответ

0

Вы можете использовать необходимый атрибут html5 во входной метке, как

<input type="text" name="USERNAME" required> 
<input type="text" name="PASSWORD" required> 

Это не позволит представить форму без содержания в текстовом поле.

+3

Хотя вы не ошибаетесь, не стоит полагаться только на проверку на стороне клиента, проверка на стороне сервера намного точнее и не может быть легко изменена. – Andrew

+1

Он спросил: «Как проверить пустое поле, когда я нажимаю кнопку отправки?» Он непосредственно подразумевает проверку на стороне клиента. @Andrew –

+0

Абсолютно, я никоим образом не подвергаю сомнению действительность вашего ответа. Это было указано только на ОП, поэтому он знает, что он не должен ТОЛЬКО делать это. – Andrew

0

Я не понимаю, что вы здесь делаете. Если вы отправите форму в Ajax, вы можете запросить скрипт php (например, form_submit.php), где вы проверяете свои поля формы и возвращаете ответ, который будет использоваться вашим javascript, чтобы отобразить что-либо, если есть ошибка (или нет).

Вот простой процесс, чтобы объяснить, как вы можете сделать:

HTML форма, представленный => Javascript с Ajax вызова form_submit.php => Форма проверки с PHP => Возврат результатом проверки => Javascript Ajax получить ответ и делать то, что вы хотите сделать, например, показывать сообщение об ошибке/успехе.

1

Почему у вас есть проверка «GET» и «POST» в вашем php-коде? Вы не можете использовать оба глагола при отправке запроса HTTP, если ваша форма в HTML выглядит что-то вроде:

<form id="myForm" method="post" action="myAction.php?fail=someStatus"> 
    <input type="text" name="uname" required /> 
</form> 

Если вы не посылаете значение неудачны, isset($_GET['fail']) всегда возвращает ложь, и ваш код никогда не будет мимо вашего если

<?php 
// isset($_GET['fail']) is always false 
if (isset($_GET['fail']) && !empty($_POST["uname"])) 
{ 
    echo '<script language="javascript">'; 
    echo 'alert("Your name or password is incorrect")'; 
    echo '</script>'; 
}