簡體   English   中英

登錄PHP后獲取用戶數據

[英]Get data of user after login in PHP

使用用戶ID和手機號碼的用戶登錄。 登錄后,我想從數據庫中顯示有關此用戶的更多數據,但是當我轉到下一頁時,它將顯示表中所有用戶的數據。

這是我要登錄的PHP:

<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbnam = "adil";
try {
    $conn = new PDO("mysql:host=$servername; dbname=$dbnam", $dbusername, $dbpassword);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }


// new data

 if (isset($_POST["patientId"]))
    {$patientId = $_POST['patientId'];} 

if (isset($_POST["mobile"]))
    {$mobile= $_POST['mobile'];} 


// query
    $result = $conn->query("SELECT `patientId`, `mobile` FROM `inpatient` 
                        WHERE patientId= '$patientId' AND mobile= '$mobile' LIMIT 1 ");

    $rows = $result->fetch(PDO::FETCH_ASSOC);

    if($result->rowCount() > 0) {
        session_start();
        $_SESSION['login'] = true;
    header("location:../patient-detail.php");
    }
    else{
        header("location:index.php");
        $errflag = true;
    }
    ?>

如何找到一些功能來控制用戶的特定數據?

患者詳細信息頁面

<div class="row">   
<div class="col-sm-10 col-sm-offset-1"> 
<div id="patientedit">
<div class="row pHead">
<div class="col-sm-2 phBorder">ID</div>
<div class="col-sm-2 phBorder">Patient Name</div>
<div class="col-sm-1 phBorder">Gender</div>
<div class="col-sm-1 phBorder">Age</div>
<div class="col-sm-2 phBorder">Date</div>
<div class="col-sm-2 phBorder">Mobile</div>
<div class="col-sm-2 phBorder">Action</div>
</div>

<script>
$('body').on('click', 'input.deleteDep', function() {
   $(this).parents('tr').remove();  
});
function data(id){
    $.post('data.php',{ id:id },function(r){
        $('#myModal').html(r);
    });
}
</script>

            <script>
            function getData(id,file_name,div_name){
                $.post(file_name,{ id:id },function(r){
                    $(div_name).html(r);
                });
            }
            </script>
<?php

        $servername = "localhost";
        $dbusername = "root";
        $dbpassword = "";
        $dbnam = "adil";

$conn = new PDO("mysql:host=$servername;dbname=$dbnam", $dbusername, $dbpassword);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT * FROM inpatient ORDER BY id DESC"); 
    $stmt->execute();

    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
    echo'
<div class="row pData" id="patient-'.$result['id'].'">
<div class="col-sm-2 pdBorder">'.$result["patientId"].'</div>
<div class="col-sm-2 pdBorder">'.$result["patientName"].'</div>
<div class="col-sm-1 pdBorder">'.$result["gender"].'</div>
<div class="col-sm-1 pdBorder">'.$result["age"].'</div>
<div class="col-sm-2 pdBorder">'.$result["date"].'</div>
<div class="col-sm-2 pdBorder">'.$result["mobile"].'</div>
<div class="col-sm-2 pdBorder">

<button type="button" class="btn btn-sm btn-info btn-block" data-toggle="modal" data-target="#myModal" onclick="data(\''.$result["patientId"].'\')">View More</button>

</div>
</div>';
    }

    ?>

    <script>
        function deletePatient(id){
            $('#patient-'+id).hide();
        }
    </script>

    <!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">


  </div>
</div>
</div>
</div>

正如@Yolo所說,為每個用戶創建一個唯一的ID ,並將其存儲在$_SESSION變量中。 在下一頁上,從$_SESSION獲取用戶ID,並通過使用具有唯一ID的WHERE子句從數據庫獲取記錄。

Login.php中的更改

    // Create another session variable below the $_SESSION['login']
    $_SESSION['login'] = true;
    $_SESSION['patient_uid'] = $patientId;

患者詳細信息頁面上的更改

   // First of all access patient_uid from session
   @session_start();
   $patientUID = $_SESSION['patient_uid'];

   // Replace the query 
   $stmt = $conn->prepare("SELECT * FROM inpatient ORDER BY id DESC");
   $stmt->execute();
   // with this
   $stmt = $conn->query("SELECT * FROM inpatient WHERE patientId = '$patientUID' ");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM