如何通过用户主页重定向

时间:2019-03-02 09:20:05

标签: php

我正在尝试将索引页面重定向到user-home.php页面。但是当我尝试登录时显示错误的用户。在这种情况下如何重定向到用户主页。希望得到帮助。提前致谢。下图是注册页面的数据库属性。

database of signup

这里是我的索引页代码

<form  method="post" action="" autocomplete="on">
    <h3>Log in</h3>
    <hr>
    <p>
        <label for="username" class="uname" data-icon="u" > Your username </label>
        <input id="username" name="username" required="required" type="text"/>
    </p>
    <p>
        <label for="password" class="youpasswd" data-icon="p"> Your password </label>
        <input id="password" name="password" required="required" type="password"/>
    </p>
    <p class="login button">
        <input type="submit" name="login" value="Login" />
    </p>

</form>
<h2>dont have an account signup here</h2>
<li><a href="signup-form.php">signup</a></li>





</table>

<?php
if(isset($_POST['login'])){
    $username = $_POST['username'];
    $password = $_POST['password'];

    $q=$db->prepare("SELECT* FROM signup WHERE username='$username' && password='$password'" );
    $q->execute();
    $row=$q->fetch(PDO::FETCH_OBJ);
    $count = $q->rowcount();

    if ($count >= 1){    
        session_start();
        $_SESSION['id'] = $row['user_id'];
        header('location:user-home.php');
    }else{
        echo "<script>alert ('Wrong User')</script>";
    }

}
?>

1 个答案:

答案 0 :(得分:-1)

当数据库发现行数大于零时,您的代码应该工作。因此,请确保您输入的用户名和密码确实存在于数据库中。如果存在这些代码,则此代码应该起作用,并且您的脚本应重定向到user-home.php。

如果没有,请像我一样添加echo语句,这样您就可以知道您的计数值是否大于零。 如果显示零,则表示您的数据库没有该用户名和密码。因此,首先请在下面的数据库查询中直接运行给定的数据库

insert into signup (username, password, fname, address, city, age, bgroup, email, mno, donation_date)
values('admin', 'admin', 'Shujat', 'Street #7', 'Islambad, Pakistan', 23, 'O-', 'demo@demo.com', 'test', '2019-03-01');

之后,您必须尝试使用​​以下给定的凭据登录...

username:admin
password:admin

之后,使用下面给出的代码,您应该能够重定向。

if(isset($_POST['login'])){
    $username = $_POST['username'];
    $password = $_POST['password'];

    $q=$db->prepare("SELECT* FROM signup WHERE username='$username' && password='$password'" );
    $q->execute();
    $row=$q->fetch(PDO::FETCH_OBJ);
    $count = $q->rowcount();

    if ($count >= 1){    
        session_start();
        $_SESSION['id'] = $row['user_id'];
        header('location:user-home.php'); 
    }else{
        echo "Total count: " .$count .'<br>Total count is less then zero';
    }    
}