gpt4 book ai didi

php - 将变量从一个 PHP 页面发送到另一个

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:43 25 4
gpt4 key购买 nike

我正在构建一个测验 Web 应用程序,它是从我服务器上的数据库动态生成的。我几乎已经实现了所有功能,唯一缺少的部分是让它能够提供多个测验。现在我必须在 quiz.php 脚本中手动写入代码 $quiz_id = 1, $quiz_title = "geography" 才能正确运行。如果我可以为这两个变量生成值,我的 quiz.php 将适用于多个测验主题。

所以,这就是我的问题:我希望用户能够从测验主题列表中进行选择(在页面 quizlist.php 上),单击他们想要参加的测验的链接,然后将他们带到带有测验问题/选择的页面(在 quiz.php 页面上)。此外,我想将一些值从 quizlist.php 发送到与用户单击的特定链接关联的 quiz.php。我想将 quiz_id 和 quiz_title 发送到页面 quiz.php 以呈现正确的问题集。

我相信有一种方法可以使用 $_GET 或 $_POST 以及使用 $_SESSION 来做到这一点。 我的问题是哪种方式更好?我该怎么做?我听说 $_SESSION 更安全,但我不确定我是否真的担心这些数据(quiz_id 和 quiz_title)的安全。

目前,这里是quizlist.php的代码

<?php
// Start the session
require_once('startsession.php');

// Insert the page header
$page_title = 'Quiz List';
require_once('header.php');

require_once('connectvars.php');

// Make sure the user is logged in before going any further.
if (!isset($_SESSION['user_id'])) {
echo '<p class="login">Please <a href="login.php">log in</a> to access this page.</p>';
exit();
}

// Show the navigation menu
require_once('navmenu.php');

// Connect to the database
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// Determine number of quizes based on title in quiz table
$query = "SELECT * FROM quiz";
$data = mysqli_query($dbc, $query);
// Loop through quiz titles and display links for each
while ($row = mysqli_fetch_array($data)) {
echo '<a href="quiz.php">' . $row['title'] . '</a><br />';
}

mysqli_close($dbc);

// Insert the page footer
require_once('footer.php');
?>

感谢您的帮助!

最佳答案

使用$_GET

首先,你要改变这一行

echo '<a href="quiz.php">' . $row['title'] . '</a><br />';

像这样:

echo '<a href="quiz.php?id='.$row['id'].'">' . $row['title'] . '</a><br />';

然后在 quiz.php 中,使用 $_GET['id'] 作为主键检索适当的测验以在数据库中查找它。

您也应该将测验标题存储在那里(在数据库中)。

$_GET 在这里很合适,因为您只是使用 ID 来确定要显示的测验。这里不需要保密。当您提交更改数据库的表单数据时,您将使用 $_POST$_SESSION 可用于存储基本登录信息和其他必须在 session 生命周期中跨多个页面保留的内容,例如向导表单。

关于php - 将变量从一个 PHP 页面发送到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7734163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com