Member 13635063 Ответов: 2

Я работал над loginscript и, кажется, всегда терпел неудачу сообщение что не так в моем коде?


Мой скрипт входа в систему
<?php
требуйте 'database.php';


если(!пустой (&амп$_POST, где['логин'] );&усилителя; !пустой($_POST, где['пароль'])):

$records= $conn->prepare("выберите id,имя пользователя,пароль из таблицы 2, где username = ':username'");

$records->bindparam(':username', $_POST['username']);
$records->выполнить();
$results = $records->fetch(PDO::FETCH_ASSOC);


если(счет($результат) и gt; 0 &&усилителя; функцию password_verify($_POST, где['пароль'], $результат['пароль'])){

умереть( "success");
заголовок:("login.php");

} else{ die("dieees");
}
за endif;
?>
<!Doctype html>

<meta charset="utf-8">







мой сценарий регистрации
<?php
$server = 'localhost';
$username= 'root';
$password = '';
$database = 'users';
try{
	$conn = new PDO("mysql:host=$server;dbname=$database;", $username, $password);
} catch(PDOException $e){
	die("connection failed:" .$e->getmessage());
}

if(!empty($_POST["username"]) && !empty($_POST["password"])):


$sql = "INSERT INTO table2 (username, password) VALUES (:username, :password)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':username',$_POST['username']);
$stmt->bindParam(':password', password_hash($_POST['password'], PASSWORD_BCRYPT) );

if( $stmt->execute() ):
header:("login.php");
else:
die('fail');
endif;	
endif;

?>
<html>
<link rel="stylesheet" type="text/css" href="style.css">
<link href="https://fonts.googleapis.com/css?family=Supermercado+One" rel="stylesheet">

<body>
<h1> ReGiSTER</h1>
<form action="signup.php" method="POST">
<input type=text" placeholder="enter ur username" name="username">
<input type="password" placeholder=password name="password">
<input type="password" name="confirm_password">
<input type="submit">
</form>
</body>
</html>


Что я уже пробовал:

в эти дни я пробовал разные коды, но, похоже, мне тоже нужно сдаться
Всегда появляется сообщение об ошибке или просто не удается войти в систему
но регистрация работает довольно хорошо, но дает ошибку в той же строке с хэш-паролем.

ThilinaMD

пожалуйста, опубликуйте немного отладочного кода. например сообщение об ошибке

2 Ответов

Рейтинг:
20

OriginalGriff

Мы не можем сказать - это слишком зависит от ваших данных, и у нас нет к ним доступа.
Что вам нужно сделать, так это использовать отладчик, чтобы точно узнать, что происходит во время выполнения вашего кода, и посмотреть, какие именно данные обрабатываются.
Некоторые из них могут помочь вам начать работу: php debugger - поиск в Google[^]
Извините, но мы не можем сделать это для вас!


Рейтинг:
1

Member 13635063

у меня нет решения, но я использовал var_dump();
и погуглил отладку. ха-ха, это так сложно, хотя
Я новичок. но на данный момент мне удалось сузить круг поисков до
скрипт входа в систему и как распаковать пароль после его хэширования во время регистрации