此代碼已經過測試,並且會爲您執行。將其標記爲正確答案,因爲它可以解決您的問題。
首先創建表和插入用戶
create table users(username varchar(100), password varchar(100)
insert into users values ('sectona','sectona234');
<?php
$db = new PDO (
'mysql:host=localhost;dbname=yourdbname;charset=utf8',
'root', // username
'root44' // password
);
?>
signin.php
<?php
error_reporting(0);
?>
<?php ob_start(); ?>
<?php
session_start();
require("db.php");
//from form inputs
$username=strip_tags($_POST["txtusername"]);
$password=strip_tags($_POST["txtpassword"]);
/*
$username='sectona';
$password='sectona123';
*/
// validate username
$result = $db->prepare('SELECT * FROM users where username = :username');
$result->execute(array(
':username' => $username
));
$nosofrows = $result->rowCount();
if ($nosofrows ==0)
{
echo '<br><b><font color=red><b></b>Username is Incorrect</font></b><br>';
exit();
}
//validate password
$result = $db->prepare('SELECT * FROM users where password = :password');
$result->execute(array(
':password' => $password
));
$nosofrows = $result->rowCount();
//if ($nosofrows < 1)
if ($nosofrows ==0)
{
echo '<br><b><font color=red><b></b>Password is Incorrect</font></b><br>';
exit();
}
// check login
$statement = $db->prepare('
SELECT * FROM users
WHERE username = :username
AND password = :password
');
$statement->execute(array(
':username' => $username,
':password' => $password));
if ($row = $statement->fetch()) {
session_regenerate_id();
$_SESSION['SESS_PASWWORD'] = $row['password'];
$_SESSION['SESS_USERNAME'] = $row['username'];
$user=$pid=htmlentities($row['username'], ENT_QUOTES, "UTF-8");
echo "Welcome Mr/Mrs <b>".$user."</b> <font color=pink>you are signed in successfully. <br>Redirecting in 2 seconds</font> <img src=loader.gif>";
echo '<script>
window.setTimeout(function() {
window.location.href = "admin.php";
}, 2000);
</script>';
}else{
echo '<font color=red size=2><b>Either of your details is wrong. You are trying to use login accounts that belongs to another
person</b></font>';
}
?>
admin.php
<html><head></head><body>
Welcome <?php
session_start();
echo htmlentities($_SESSION['SESS_USERNAME']); ?>
</body></html>
請,如果它解決您的問題
'$ _ POST將其標記爲正確答案[ 「 '從用戶選擇user_firstname WHERE user_username =' $用戶名」「] 「你確定你的意思是? – 2015-02-11 18:57:03
*「我正在進行登錄會話」* - 您是否開始會話並在所有使用會話的頁面內部?在上面所說的內容之上,*這是什麼?!* – 2015-02-11 18:57:25
@Ismael。我不太確定,但我得到一個錯誤,說它是未定義的。但我想到,如果我查詢它,用戶ID將以某種方式得到名字。 – WTFZane 2015-02-11 19:01:12