dtujfmfs06058 2017-11-22 04:21
浏览 188
已采纳

我是PHP的初学者。 我创建了一个数据库。 如何在PHP页面中显示数据库中的数据?

I have created a Register.php page with name, email, password, gender, image and login page with name. When user registers it's getting successfully inserted to database. When user logins it just shows Welcome Username.

Now i want to get whole the registered data like name, email, password, gender, image to be displayed in the welcome.php page after user logins. How can i do it?

Following is my code.

Register.php

<?php

 if(isset($_REQUEST['name']))
 {
   $con = mysqli_connect("localhost","root","","userdb");

   $target= "images/".basename($_FILES['image']['name']);
   $name= stripslashes($_REQUEST['name']);
   $name= mysqli_real_escape_string($con,$name);
   $email= stripslashes($_REQUEST['email']);
   $email= mysqli_real_escape_string($con,$email);
   $password= stripslashes($_REQUEST['password']);
   $password= mysqli_real_escape_string($con,$password);
   $gender= stripslashes($_REQUEST['gender']);
   $gender= mysqli_real_escape_string($con,$gender);
   $image= $_FILES['image']['name'];
   $query= "INSERT INTO regtab(name,email,password,gender,image)VALUES('$name','$email','$password','$gender','$image')";
   $result= mysqli_query($con,$query);

    if($result){
        echo"<div class = 'form'>Registered sucessfully.Click here to <a href = 'login.php'>Login</a></div>";
    }
 }
 else
   {
?>




<!DOCTYPE html>
<head>
<title>reg page</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>

<body>



<div class="container">
        <div class="row top_margin">
            <div class="col-xs-6 col-xs-offset-3">
                <div class="panel panel-primary">
                    <div class="panel-heading">User Registration</div>
                    <div class="panel-body">
                        <form method="POST" action="" enctype="multipart/form-data">
                           <div class="form-group">
                                <label for="name"> Name</label>
                                <input type="text" class="form-control" id="name" name="name">
                            </div>

                           <div class="form-group">
                                <label for="email">Email</label>
                                <input type="email" class="form-control" id="email" name="email">
                            </div>
                            <div class="form-group">
                                <label for="password">Password</label>
                                <input type="password" class="form-control" id="password" name="password">
                            </div>
                            <div class="form-group">
                                <label for="gender">Gender</label>
                                <input type="radio"  id="gender" name="gender" value="male">Male
                                 <input type="radio"  id="gender" name="gender" value="female">Female

                            </div>
                            <div class="form-group">
                                <label for="email">Image</label>
                                <input type="file" class="" id="image" name="image">
                            </div>

                            <button type="submit" class="btn btn-primary" value=”registration_submit”>Submit</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

</body>

<?php

   }

?>


</html>

login.php

<?php
if(isset($_REQUEST['name']))
{
    session_start();
    $con = mysqli_connect("localhost", "root", "", "userdb");
    $name = stripslashes($_REQUEST['name']);
    $name = mysqli_real_escape_string($con,$name);

     $query = "SELECT * FROM `regtab` WHERE name='$name'";
        $result = mysqli_query($con,$query);

        $rows = mysqli_num_rows($result);
        if($rows==1)
        {
            $name = $_SESSION['name'];


            header("Location: welcome.php");
        }
        else
        {
            echo "<div class_class=form>username entered is wrong.Please enter correct name.<br><br>Click here to <a href ='login.php'>LOGIN</a><br> Click here to <a href ='test.php'>REGISTER</a></div>";
        }
}
else
{


?>



<!DOCTYPE html>
<head>
<title>reg page</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>
<div class="container">
        <div class="row top_margin">
            <div class="col-xs-6 col-xs-offset-3">
                <div class="panel panel-primary">
                    <div class="panel-heading">User Login</div>
                    <div class="panel-body">
                        <form method="POST" action="" enctype="multipart/form-data">
                           <div class="form-group">
                                <label for="first_name"> Name</label>
                                <input type="text" class="form-control" id="name" name="name">
                            </div>



                            <button type="submit" class="btn btn-primary" value=”submit”>Submit</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>




<?php
}
?>
</body>
</html>

welcome.php

<?php

session_start();

$con = mysqli_connect( "localhost", "root", "", "userdb")or die(mysqli_error($con));

$query = "SELECT * FROM regtab" ;
$result = mysqli_query($con , $query)or die(mysqli_error($con));
$num = mysqli_num_rows($result);
echo "Welcome ";
echo $_SESSION['name'];

 ?>
  • 写回答

2条回答 默认 最新

  • douqipi9704 2017-11-22 04:59
    关注

    You need to modify your code in the below way to get complete users data in welcome.php page but you need to modify your code to make it more secure. You need to use MD5 for storing your password. And you need to login with username and password instead of name. Most importantly, you need to gain more knowledge to make your code better. In the mean time, update below code that will help you getting data in welcome.php page.

    login.php :

    <?php
    if(isset($_REQUEST['name']))
    {
        session_start();
        $con = mysqli_connect("localhost", "root", "", "userdb");
        $name = stripslashes($_REQUEST['name']);
        $name = mysqli_real_escape_string($con,$name);
    
         $query = "SELECT * FROM `regtab` WHERE name='$name'";
            $result = mysqli_query($con,$query);
    
            $rows = mysqli_num_rows($result);
            if($rows==1)
            {
                $_SESSION['name'] = $name;
                header("Location: welcome.php");
            }
            else
            {
                echo "<div class_class=form>username entered is wrong.Please 
    enter correct name.<br><br>Click here to <a href ='login.php'>LOGIN</a><br> 
    Click here to <a href ='test.php'>REGISTER</a></div>";
            }
    }
    else
    {
    ?>
    <!DOCTYPE html>
    <head>
    <title>reg page</title>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href = 
    "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <!-- jQuery library -->
    <script 
    src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
    </script>
    <!-- Latest compiled JavaScript -->
    <script 
    src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
    </script>
    </head>
    <div class="container">
    <div class="row top_margin">
        <div class="col-xs-6 col-xs-offset-3">
            <div class="panel panel-primary">
                <div class="panel-heading">User Login</div>
                <div class="panel-body">
                    <form method="POST" action="" enctype="multipart/form-data">
                        <div class="form-group">
                            <label for="first_name"> Name</label>
                            <input type="text" class="form-control" id="name" 
    name="name">
                        </div>
                        <button type="submit" class="btn btn-primary" 
    value=”submit”>Submit</button>
                    </form>
                </div>
            </div>
        </div>
    </div>
    </div>
    <?php
    }
    ?>
    </body>
    </html>
    

    welcome.php :

    <?php
    session_start();
    
    $con = mysqli_connect( "localhost", "root", "", "userdb")or 
    die(mysqli_error($con));
    
    $query = "SELECT * FROM regtab where name = '".$_SESSION['name']."'" ;
    $result = mysqli_query($con , $query)or die(mysqli_error($con));
    $row = mysqli_fetch_assoc($result);
    
    echo "Welcome ";
    echo $_SESSION['name'];
    echo "<br>";
    echo "Email:".$row['email'];
    echo "<br>";
    echo "Password:".$row['password'];
    echo "<br>";
    echo "Gender:".$row['gender'];
    echo "<br>";
    echo "Image: <img src='images/".$row['image']."'>";
    ?>
    

    Replace login.php and welcome.php with the above code, your users data will then start displaying in welcome.php page. But you need to follow standard to improve your code. Hope it helps!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器