[英]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.