Плз дайте ответ, как это исправить
<?php $host = "localhost"; $user = "root"; $Password = ""; $db = "NewWeb"; mysql_connect($host, $user, $Password); mysql_select_db($db); if (isset($_post['UserName'])) { $Uname = $_post['UserName']; $Password = $_post['Password']; $sql = "select * form loginform where User01='".$Uname."' AND Pass='".$Password."' limit 1"; $result=mysql_query($sql); if(mysql_num_rows($result)==1) { echo "You have sucessfully logged in"; exit(); } else { echo "You have entered incorrect Password"; exit(); } ?>
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="logingform.css"> </head> <body> <div class="logingbox"> <img src="user.png" class="avatar"> <h1>Loging Here</h1> <form method="post" action="#"> <p>User name</p> <input type="text" name="User Name" placeholder="Enter UserName"> <p>Password</p> <input type="Password" name="Password" placeholder="Enter Password"><br> <input type="submit" name="submit" value="Login"><br> <a href="a">Forget Password</a><br><br> <p class="not-an-account">If you don't have a account</p> <a href="b">Sign Up</a> </form> </div> </body> </html>
Что я уже пробовал:
( ! ) Parse error: syntax error, unexpected $end in C:\wamp\www\PHP\New_Web\LoginForm.php on line 53 - how to fix
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
Richard Deeming
Вы также храните пароли в виде обычного текста. Не делай этого.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
PHP даже имеет встроенные методы, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]
Richard Deeming
И ни один из блоков кода, которые вы разместили в своем вопросе, не имеет 53 строк, поэтому ошибка в строке 53 не может относиться к опубликованному вами коду.