提问人:hardstuckcoder 提问时间:1/1/2020 最后编辑:hardstuckcoder 更新时间:1/1/2020 访问量:95
如何以多页形式存储会话信息并将信息发送到 mySQL 表
How do I store session information in a multipage form and send the information to mySQL table
问:
在我从事的一个项目中,我遇到了最长的障碍。我有一个多页表单,我从最终用户那里收集多个页面的数据,并在最后将它们提交到我的数据库中,但是当我检查表格时没有显示任何数据。
第 1 页的表单如下所示
<?php
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: login.html');
exit();
}
?>
表格 2 看起来像这样......
<?php
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: login.html');
exit();
}
//Fetching values from form 1
foreach ($_POST as $key => $value) {
$_SESSION['post'][$key] = $value;
}
?>
表格 3 如下所示
<?php
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: login.html');
exit();
}
//Fetching values from form 2
foreach ($_POST as $key => $value) {
$_SESSION['post'][$key] = $value;
}
?>
填写表单如下所示
<?php
code.
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: login.html');
exit();
}
//Fetching values from form 3
foreach ($_POST as $key => $value) {
$_SESSION['post'][$key] = $value;
}
extract($_SESSION['post']); // Function to extract array.
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'qraccounts';
// Try and connect using the info above.
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if (mysqli_connect_errno()) {
// If there is an error with the connection, stop the script and display the error.
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
if ($stmt = $con->prepare('INSERT INTO logindata (database_value1, database_value2, database_value3, database_value4, database_value5) VALUES (?, ?, ?, ?, ?)')) {
$stmt->bind_param('sssss', $_POST['value1'], $_POST['value2'], $_POST['value3'], $_POST['value4'], $_POST['value5']);
$stmt->execute();
}
?>
是否有任何事情会阻止我在多个会话中将用户数据存储在我的 SQL 表中?
我的数据库是一个包含 id、电子邮件、密码(哈希)、database_value1、database_value2、database_value3、database_value4 database_value5的表。我是否需要像在注册页面中那样存储更早的数据?
答:
0赞
user1805543
1/1/2020
#1
看起来您已经将值传递给会话。 您可以使用以下会话:
$_SESSION['database_value1'];
$_SESSION['database_value2'];
上一个:我怎样才能获得一个未知的用户名?
下一个:如何更新会话空值
评论
$_SESSION['post']['value1']
$_POST['value1']
extract(...)