사용자 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
변수에 저장하십시오 . 다음 페이지 에서이 고유 ID로 절을 $_SESSION
적용하여 데이터베이스 에서 사용자 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' ");
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다