PHP/MySQL | Дам + тому кто решит ошибку
Pavelreyz , почему filter_has_var не срабатывает?
DELETED
1 августа 2017, в 17:20
Delete
Gazro (01.08.2017 в 17:17)
System (01.08.2017 в 17:16)
Gazro , ты сюда не попадаешь if(filter_has_var(INPUT_POST, 'save')) {
Гениально. И как же попасть?
System (01.08.2017 в 17:16)
Gazro , ты сюда не попадаешь if(filter_has_var(INPUT_POST, 'save')) {
Гениально. И как же попасть?
потому что параметр ?save передаётся методом GET
if(filter_has_var(INPUT_GET, 'save'))
________
посл. ред. 01.08.2017 в 17:21; всего 1 раз(а); by PhpStorm
PhpStorm (01.08.2017 в 17:20)
Gazro (01.08.2017 в 17:17)
System (01.08.2017 в 17:16)
Gazro , ты сюда не попадаешь if(filter_has_var(INPUT_POST, 'save')) {
Гениально. И как же попасть?
потому что параметр ?save передаётся методом GET
Gazro (01.08.2017 в 17:17)
System (01.08.2017 в 17:16)
Gazro , ты сюда не попадаешь if(filter_has_var(INPUT_POST, 'save')) {
Гениально. И как же попасть?
потому что параметр ?save передаётся методом GET
if(filter_has_var(INPUT_GET, 'save'))
Что самое прикольное юзает пдо драйвер, а различие между гетом и постом не понимает
________
посл. ред. 01.08.2017 в 17:27; всего 1 раз(а); by System
PhpStorm , действительно заработало. Но я же прописал метод post, почему так? И вот аналогичный файл входа, в нём всё работает нормально:
<?php
include 'system/connect.php';
$title='Проверка на вшивость';
include 'system/header.php';
if(filter_has_var(INPUT_POST, 'login')) {
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
if (empty($login) or empty($password)) {
echo "<div class='block'>Ты мне не доверяешь? Говори имя и код, иначе никак. <br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
}
$id = $pdo->prepare("SELECT * FROM users WHERE login = ?");
$id->execute([$login]);
$row = $id->fetch(PDO::FETCH_ASSOC);
if (empty($row['login'])) {
echo "<div class='block'>Кажется ты что-то напутал. Мы не знаем кто такой <span class='gtext'>$login</span>. <br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
} else {
if ($row['password']==$password) {
$_SESSION['login']=$row['login'];
$_SESSION['id']=$row['id'];
echo "<div class='block'>А, это ты, <span class='gtext'>$login</span>? Извини, что сразу не признал, такие уж правила, сам понимаешь.<br> <a href='/' class='but'>Войти</a></div>";
include 'system/footer.php';
exit;
} else {
echo "<div class='block'>Говоришь, что ты <span class='gtext'>$login</span>? Снова напился, свинья? Вспоминай свой код.<br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
}
}
} else {
echo "<div class='block'>Говоришь, гражданин Эллады, да? Ну это ещё доказать нужно. Назови своё имя и код.
<form action='?login' method='post'>
<p>
<label>Имя:<br></label>
<input name='login' type='text' placeholder='Логин' size='15' maxlength='15'>
</p>
<p>
<label>Код:<br></label>
<input name='password' type='password' placeholder='Пароль' size='15' maxlength='15'>
</p>
<p>
<input type='submit' name='submit' value='Ответить старику'>
</p></form></div>";
include 'system/footer.php';
}
?>
<?php
include 'system/connect.php';
$title='Проверка на вшивость';
include 'system/header.php';
if(filter_has_var(INPUT_POST, 'login')) {
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
if (empty($login) or empty($password)) {
echo "<div class='block'>Ты мне не доверяешь? Говори имя и код, иначе никак. <br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
}
$id = $pdo->prepare("SELECT * FROM users WHERE login = ?");
$id->execute([$login]);
$row = $id->fetch(PDO::FETCH_ASSOC);
if (empty($row['login'])) {
echo "<div class='block'>Кажется ты что-то напутал. Мы не знаем кто такой <span class='gtext'>$login</span>. <br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
} else {
if ($row['password']==$password) {
$_SESSION['login']=$row['login'];
$_SESSION['id']=$row['id'];
echo "<div class='block'>А, это ты, <span class='gtext'>$login</span>? Извини, что сразу не признал, такие уж правила, сам понимаешь.<br> <a href='/' class='but'>Войти</a></div>";
include 'system/footer.php';
exit;
} else {
echo "<div class='block'>Говоришь, что ты <span class='gtext'>$login</span>? Снова напился, свинья? Вспоминай свой код.<br> <a href='door' class='but'>Попробовать ещё раз</a></div>";
include 'system/footer.php';
exit;
}
}
} else {
echo "<div class='block'>Говоришь, гражданин Эллады, да? Ну это ещё доказать нужно. Назови своё имя и код.
<form action='?login' method='post'>
<p>
<label>Имя:<br></label>
<input name='login' type='text' placeholder='Логин' size='15' maxlength='15'>
</p>
<p>
<label>Код:<br></label>
<input name='password' type='password' placeholder='Пароль' size='15' maxlength='15'>
</p>
<p>
<input type='submit' name='submit' value='Ответить старику'>
</p></form></div>";
include 'system/footer.php';
}
?>
Gazro , потому, что в action передается ссылка, в твоем случае гет параметр
DELETED
1 августа 2017, в 17:28
Delete
System (01.08.2017 в 17:28)
Gazro , потому, что в action передается ссылка, в твоем случае гет параметр
Gazro , потому, что в action передается ссылка, в твоем случае гет параметр
+
PhpStorm , за шторм уважуха, идеешка классная
PhpStorm , почему файл в 14 посте работает?
DELETED
1 августа 2017, в 17:35
Delete
то можно проверять его INPUT_POST
но тогда нужно убрать в action путь
и сделать в форме отправку save методом POST
<input type='submit' name='save' value='Ответить старику'>
DELETED
1 августа 2017, в 17:38
Delete
Gazro (01.08.2017 в 17:32)
PhpStorm , почему файл в 14 посте работает?
PhpStorm , почему файл в 14 посте работает?
потому что ты проверяешь INPUT_POST наличие параметра login и он у тебя находится, потому что отправлен методом POST