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

2024-01-10

我正在构建一个测验 Web 应用程序,该应用程序是从我的服务器上的数据库动态生成的。我几乎已经实现了所有功能,唯一缺少的部分是使其能够提供多个测验。现在我必须手动编写代码$quiz_id = 1, $quiz_title = "geography"在 quiz.php 脚本中使其正确运行。如果我可以生成这两个变量的值,我的 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');
?>

谢谢您的帮助!


Use $_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对于存储基本登录信息和在会话生命周期中必须在多个页面上持续存在的其他内容(例如向导表单)非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将变量从一个 PHP 页面发送到另一页面 的相关文章

  • 可以重复应用并产生相同结果的数据库操作吗?

    我现在一片空白 或者像有些人说的那样 正在经历一个高级时刻 我知道这个概念有一个正式的定义和名称 其中在数据库中运行的数据库操作 存储过程 如果重复运行将产生相同的结果 它属于数学家的自反 对称 传递等类型 您的意思是 确定性 吗 如果使用
  • 如何在 Smarty 中打印 json

    我从 api 获取 json 如何使用 Smarty 打印 json Json格式 first name jinu last name mk loginid email protected cdn cgi l email protectio
  • 什么是“数据库实体”以及哪些类型的 DBMS 项目被视为实体? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • SSDT SQL Server 数据库项目中用于架构比较的命令行/API?

    在 Visual Studio 2012 中 我们有Schema Compare http msdn microsoft com en us library hh272690 28v vs 103 29 aspx in SSDT http
  • 如何在 Twitter Card 中传递动态图像路径?

    我在用
  • Windows iis 7.0 上的 APC 不稳定

    我的 IIS 非常不稳定 因为它总是由于某种与 APC 相关的原因而重新启动 服务器的规格如下 Intel R Xeon CPU 3GHZ 3GHZ 2GB RAM 64bit APC 和服务器规格 3 1 7 dev PHP Versio
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • PHP:在脚本完成之前获取输出

    我有一个名为 data php 的脚本 如下所示 do some stuff echo result do some other stuff eg database operations 我需要在另一个脚本中使用 data php 的输出
  • magento成功页面变量

    我正在尝试捕获一些 magento 成功页面变量以传递给我们的广告公司 到目前为止 我已经得到了这个 但变量没有输出任何内容 数据需要采用以下格式 price1 price2 price3 qty1 qty2 qty3 sku1 sku2
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队
  • 显式删除会话cookie会产生什么影响?

    我使用 php session 来维护用户的会话 Session 在登录后创建 在注销或超时后销毁 我需要管理面板中的一个选项来强制注销任何用户 如果他在网站上处于活动状态 我怎样才能做到这一点 我正在考虑删除临时会话文件 这应该有效地破坏
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 如何在 PHP 中从字符串类名实例化? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何创建返回方法名称的新实例 不幸的是我收到这个错误 错误 类名必须是有效的对象或字符串 这是我的代码 class Foo public f

随机推荐

  • Wireshark 中看到的数据报,Qt UDP Socket 未接收到

    我正在编写一个 Qt 5 6 应用程序 通过 UDP 套接字与 FPGA 进行通信 数据包以 2 KHz 的速率传输到 PC 所有数据包大小相同 1272 字节 Wireshark 显示数据包正在发送 并且 UDP 标头符合预期 问题是 我
  • SmartGWT GWT 客户端服务器架构

    我们计划使用智能GWT GWT和相关框架用于客户端丰富的接口 以及在服务器端返回JSON数据的Spring MVC 作为调查是否符合我们要求的一部分 需要回答以下问题 在不使用任何框架的情况下从头开始构建 GWT 应用程序需要付出大量努力才
  • 使用 DbSet 应用 OrderBy

    我正在尝试使用通用存储库实现分页和排序 如何在 DbSet 中将主键列作为默认按列排序 DbSet Context Set
  • 获取唤醒我的 Activity 的 Intent

    我正在开发一个包含广播接收器的应用程序 广播接收者在 onReceive 上设置一个通知 其中包含一个待处理的 Intent Intent updateHistoryIntent new Intent this NotificationsH
  • IntelliJ 的“UML 支持”插件

    我肯定错过了什么 我在读本文 https www jetbrains com idea help working with diagrams html它说有一个名为 UML Support 的插件默认启用 我没有它 所以我转到 首选项 gt
  • 如何对 HTML 标记属性使用多行值? (即如何转义换行符?)

    如何在 HTML 标记属性中包含换行符 例如 a href somepage html some link a Edit 抱歉 例子不好 如果标签碰巧不在 javascript 中怎么办 比如说
  • 类型 'K' 不能用于索引类型 '{ [key in keyof K]: V; }'.ts(2536)

    我想创建一个从自定义对象类型返回新对象的方法 type K represent the type of key in an object type V represent the type of value in an object cla
  • 使用unix终端解析XML

    有时我需要快速从 XML 文件中提取一些任意数据以放入 CSV 格式 在 Unix 终端中执行此操作的最佳实践是什么 我想要一些代码示例 那么例如我怎样才能解决以下问题 XML 输入示例
  • 分析递归算法 T(n) = T(n - 1) + T(n - 2) + T(n -3)?

    于是 有人发了这个question https stackoverflow com questions 17239861 how would i get the order of algorithm tn tn 1tn 2 tn 3 com
  • 对象当前正在其他地方使用

    我收到此错误 看起来是因为不同的线程正在访问同一个 Bitmap 对象 然而我到处都使用锁 public class MySingleInstanceClass private Object locker new Object privat
  • 添加将 Excel 数据粘贴到 Django 表单中的功能

    我目前有一个 Django 表单 它有 N 行 x 12 列的表格形状的文本框 用户可以一次填充此表单一个文本框 注意 该表仅显示 9 列 但我使用的实际表格是 12 列
  • boost::asio::ip::tcp::socket 没有读取任何内容

    这实际上是我在套接字编程中的第一个程序 除了复制粘贴教程代码并享受乐趣之外 无论如何它都不起作用 我想我已经仔细阅读了文档 但也许还不够 我怀疑我使用socket read some in read message 因为我的有问题的程序停在
  • 从 jsonfile 数据创建多个 Chart.js 图表

    我使用 python 创建了一个 json 文件 它是一个列表列表 每个子列表都有一个 Chart js 图表的数据 即chartObject 0 has chartObject 0 0 and chartObject 0 1 对于 x 和
  • Android 如何从 facebook 获取用户关于我的信息

    我想在 Facebook 应用程序中获取 user about me 权限的信息 我能够获取电子邮件 位置 但我尝试获取 about me 它只提供 id 我想要所有信息 我怎样才能做到这一点 我就是这样做的 bundle putStrin
  • 不同JDK版本的Maven编译

    我的应用程序分为使用 Java 1 6u45 和 Java 1 8 的用户 我们的问题是我们无法指定项目系统库并且同时对代码有两种不同的编译器设置 项目结构 Project gt gt src main java com us javafx
  • 正确对齐控件

    我想调整我正在开发的网站上相同控件的外观 但似乎进展不太顺利 我想使用 CSS 来正确对齐控件 我想让复选框和标签左对齐 然后留一点空间 然后文本框就来了 另外我希望所有文本框垂直对齐 如何在不使用表格的情况下使用 css 来做到这一点 预
  • 执行 Excel Interop 的 C# 控制台应用程序 - 按计划任务运行时失败 -System.UnauthorizedAccessException

    正如标题所述 我有一个 C 控制台应用程序 它使用互操作性来打开 Excel 并创建新的工作簿 通过命令行运行控制台应用程序时 代码工作正常 但是 通过计划任务运行控制台应用程序时会引发此异常 System UnauthorizedAcce
  • React 组件中锚标记中的下载属性[重复]

    这个问题在这里已经有答案了 我将文件存储在云中 因此在上传过程中它们会获得前缀 使其名称独一无二 例如 如果我上传一个名为test txt 在上传过程中它被保存为7ea205f01ae5 test txt 值得注意的是 我确实捕获并保存了原
  • 获取 Clojure 参数列表

    我想要一些东西来给我传递给函数的实际值的序列 类似于论点 https developer mozilla org en US docs Web JavaScript Reference Functions and function scop
  • 将变量从一个 PHP 页面发送到另一页面

    我正在构建一个测验 Web 应用程序 该应用程序是从我的服务器上的数据库动态生成的 我几乎已经实现了所有功能 唯一缺少的部分是使其能够提供多个测验 现在我必须手动编写代码 quiz id 1 quiz title geography 在 q