[ad_1]
我有一个动态按钮,单击时(课程大纲),检索 mysql 数据库记录 ID 并重定向到页面。
我希望它获取与单击的 ID 相关的所有数据,并通过不同的课程大纲显示在同一页面上。
这是行不通的。
我尝试过的:
//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
<?php //Set session variables... $_SESSION["courseID"] = $courseID; $_SESSION["courseName"] = $courseName; ?>
要在新页面“course_display.php”中使用这些值 –
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
<?php print_r($_SESSION); ?>
当你完成会话后,一定要销毁它 –
PHP
<?php session_start(); //Remove all session variables... session_unset(); //Destroy the session... session_destroy(); ?>
这是会话处理的基础知识,您可以通过搜索 Google 找到更多内容,但它会为您指明正确的方向。 另请阅读更多相关内容 –
PHP 会话[^]
[ad_2]
コメント