كيفية إعادة توجيه الزر الديناميكي بناءً على معرف قاعدة البيانات عند النقر واسترداد السجل المرتبط بنفس المعرف


لدي زر ديناميكي، عند النقر عليه (مخطط الدورة التدريبية)، يسترد معرف سجل mysql db ويعيد التوجيه إلى الصفحة.

أريده أن يقوم بجلب جميع البيانات المرتبطة بالمعرف الذي تم النقر عليه وعرضه على نفس الصفحة من خلال الخطوط العريضة للدورة التدريبية المختلفة.
الذي لا يعمل.

ما حاولت:

//button_clicked.php:
<?php 
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
include('connect.php');

// Fetch course data from database
$query = "SELECT id, btn_label, title FROM course";
$result = mysqli_query($conn, $query);
// Generate buttons with course IDs as identifiers
while ($row = mysqli_fetch_assoc($result)) {
    $courseID = $row['id'];
    $courseName = $row['btn_label'];
 
    echo "<button class='courseButton' onclick='redirectToCourse($courseID)'>$courseName</button>";

}
mysqli_free_result($result);

?>
<script src="bttn_clicked.js"></script>
</body>
</html>

//button_clicked.js

function redirectToCourse(courseID) {
    window.location.href = "course_display.php?id=" + courseID;
 }

الحل 1

الطريقة الأفضل والأكثر أمانًا هي الاستفادة من جلستك التي أعلنت عنها بالفعل في صفحة “button_clicked.php” الخاصة بك –

يقتبس:

تعمل متغيرات الجلسة عن طريق تخزين معلومات المستخدم لاستخدامها عبر صفحات متعددة (مثل اسم المستخدم، وأسماء الدورات التدريبية، وما إلى ذلك). بشكل افتراضي، تستمر متغيرات الجلسة حتى يقوم المستخدم بإغلاق المتصفح أو يتم إغلاق الجلسة.

لتعيين المتغيرات الخاصة بك –

بي أتش بي
<?php
//Set session variables...
$_SESSION["courseID"] = $courseID;
$_SESSION["courseName"] = $courseName;
?>

لاستخدام هذه القيم في صفحتك الجديدة “course_display.php” –

بي أتش بي
<?php
session_start(); // Always start the page with 'session_start()...

//Echo session variables that were set on your previous page...
echo "User ID is - " . $_SESSION["courseID"] . ".<br>";
echo "Course Name is - " . $_SESSION["courseName"] . ".";
?>

يمكنك استخدام هذه القيم في أي صفحة طالما أن الجلسة مفتوحة وصالحة.

لعرض كافة المتغيرات الموجودة في الجلسة –

بي أتش بي
<?php
print_r($_SESSION);
?>

قم دائمًا بتدمير جلستك عندما تنتهي منها –

بي أتش بي
<?php
session_start();

//Remove all session variables...
session_unset();

//Destroy the session...
session_destroy();
?>

هذه هي أساسيات التعامل مع الجلسة، وهناك الكثير مما ستجده من خلال البحث في Google، ومع ذلك فإنه سيوجهك في الاتجاه الصحيح. اقرأ المزيد عن هذا أيضًا –
جلسات PHP[^]

コメント

タイトルとURLをコピーしました