Условия-где ошибка?

1. Серёга (08.04.2015 / 21:47)
И снова здравствуйте,вот как не пытался перекруть то что просмотрел в ролике,ну все равно выдает ошибку...Что тут не так?
<?php 
$password = 19994;
$login = "Kadet8";

if ($login == "Kadet8" and $password == 1994) echo "Вы вошли в систему";

else if ($password != 1994){
echo "Вы ввели не верный пароль";};
else if ($login == "Kadet8"){
echo "Но логин верный";};

?>
а вот сама ошибка:syntax error, unexpected T_ELSE in S:\home\test1.ru\www\lesson2.php on line 9

2. Евгений (08.04.2015 / 22:03)
После } символ ; не нужен

3. Руслан (08.04.2015 / 22:09)
2. Ronson, поясни пожалуйста почему не нужен? я сам только начал обучаться и мне тоже интересен этот момент.

4. Серёга (08.04.2015 / 22:12)
2. Ronson, на видео уроках показано что они ставятся после выполнения проверки...и если я его убираю,то правильность логина не выводиться...

Добавлено через 07:40 сек.
так и ненашел причены,сррабатывает лишь если я вместо else if применяю на проверку логина функцию if,то пишет что логин верен...

5. Игорь (08.04.2015 / 22:27)
<?php  
$password = 19994;
Нет ошибки? И да, убирай ; после }
Почитай хотя бы раздел про синтаксис изучаемого языка (По теме: http://php.net/manual/ru/control-structures.elseif.php)

6. Dmitry Kokorin (08.04.2015 / 22:32)
<?php
if('условие'){
    //если верно
}else if('условие 2'){
   //если верно 2
}else{
  //если ни то ни другое 
}


7. Игорь (08.04.2015 / 22:36)
Товарищ DimmoS верно привел пример, писать elseif без конечного else - моветон.
Советую не делать условия\выводить сообщения: "Вы ввели не верный пароль" и "Но логин верный", не есть хорошо.

8. Dmitry Kokorin (08.04.2015 / 22:38)
<?php  
$password = 19994; 
$login = "Kadet8"; 

if ($login == "Kadet8" and $password == 1994){
    echo "Вы вошли в систему";
}else if ($password != 1994){
    echo "Вы ввели не верный пароль";
}else if ($login != "Kadet8"){ 
    echo "Вы ввели неверный логин";
}else{
    echo "Неизвестная ошибка";
}

?>


9. Евгений (09.04.2015 / 00:03)
Mirtos (8 Апреля 2015 / 22:09)
2. Ronson, поясни пожалуйста почему не нужен? я сам только начал обучаться и мне тоже интересен этот момент.
Прочитай про синтаксис PHP.

10. Руслан (09.04.2015 / 01:05)
rezent (8 Апреля 2015 / 22:27)
<?php  
$password = 19994;
Нет ошибки? И да, убирай ; после }
Почитай хотя бы раздел про синтаксис изучаемого языка (По теме: http://php.net/manual/ru/control-structures.elseif.php)
Спасибо

11. Антон (09.04.2015 / 04:27)
8. DimmoS,
<?php   
$password = 19994;  
$login = 'Kadet8';  

if ($login === 'Kadet8' && $password === 1994){ 
    echo 'Вы вошли в систему'; 
}else if ($password !== 1994){ 
    echo 'Вы ввели не верный пароль'; 
}else if ($login !== 'Kadet8'){  
    echo 'Вы ввели неверный логин'; 
}
В рамках текущего примера.

12. Серёга (09.04.2015 / 05:27)
СПС.теперь понял...

13. Сергей (09.04.2015 / 06:43)
1. Kadet8, старайся писать конструкцию правильно
if($login=="login"){echo "это мой логин";}else{echo "это не мой логин";}


14. Серёга (09.04.2015 / 07:41)
И ещё вопрос это и есть так называемая фильтрация?или фильтрация это проверка существует ли переменная вообще?

15. Dmitry Kokorin (09.04.2015 / 13:23)
14. Kadet8,
<?php
htmlspecialchars($val) 
strip_tags($val)

$val = htmlspecialchars(strip_tags(trim($_GET['val'])));
$result = $db->query("SELECT `pass` FROM `users` WHERE `login`='".$db->real_escape_string($val)."' LIMIT 1");


16. Антон (09.04.2015 / 15:44)
14. Kadet8, это простой пример строгой проверки, а фильтрация это.. Фильтрация.

17. shilo (11.04.2015 / 00:21)
Совет: не делай разные ошибки для неправильного логина и пароля.
Так не делает никто, и явно не просто так... может для того что-бы осложнить брут?

18. ramzes (11.04.2015 / 00:55)
shilo (11 Апреля 2015 / 00:21)
Совет: не делай разные ошибки для неправильного логина и пароля.
Так не делает никто, и явно не просто так... может для того что-бы осложнить брут?
так делают оооочень многие.
юзерфрендли. не не слышали?
логин запоминается и вставляется в форму при повторной попытке авторизации.
это позволит юзеру не набирать его снова, а брутфорсу насрать на то что вы там отдаете, если это не "ок",
и да, лечить манию преследования надо уже 80% интернет пользователей.
Кому вы нужны то?

Добавлено через 08:16 сек.
Kadet8 (9 Апреля 2015 / 07:41)
И ещё вопрос это и есть так называемая фильтрация?или фильтрация это проверка существует ли переменная вообще?
фильтрация это очистка входящих данных от потенциально опасных символов (%$`&" и т.д.)
зачастую сводится к тому что заменяет символ его ASCII кодом, который при выводе в хтмл коде отображается как изначальный символ, но интерпретатором во время обработки кода воспринимается как обычный текст(неисполняемый)

19. ramzes (11.04.2015 / 01:09)
например
echo' это кавычка => [color=#ff0000] '[/color]  опасна';
выделенная красным кавычка воспримется именно как кавычка, и будет соответственно интерпретирована, что вызовет ошибку.
echo' это кавычка => [color=#0000ff]\[/color]' безопасна';
слештрование кавычек, , обратный слеш в данном случае, сообщает машине, что кавычка не интерпретируемая, и воспринимается только как текст, ошибки не выведет, на экране будет кавычка, слеша не будет.
В интернете много примеров хорошей и плохой фильтрации.
плохая бывает недостаточной, избыточной, и неуместной, вся остальная фильтрация хорошая.

20. Антон (11.04.2015 / 03:03)
19. ramzes, есть куча либ для фильтрации, так сказать далеко ходить за примерами не надо, бери да рассматривай и юзай.

21. ramzes (11.04.2015 / 16:27)
20. WmLiM, ему сначала понять надо что это и зачем, использование в тупую, без изучения сути ведет к деградации

22. Сергей (11.04.2015 / 17:03)
Kadet8 (9 Апреля 2015 / 06:41)
И ещё вопрос это и есть так называемая фильтрация?или фильтрация это проверка существует ли переменная вообще?
Автор , http://php.net/manual/ru/function.filter-var.php , дерзай .

URL: https://visavi.net/topics/42220