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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)