我有一个表单,其中有一个动作发送到create_user.php
create_user.php处理信息并INSERT到mysql表中并发送header("Location: ../../register/register-2.php");
。
$insertSQL = sprintf("INSERT INTO di_ssenisub (timestamp,
username,
password)
VALUES (NOW(), %s, %s)",
GetSQLValueString($username_entry, "text"),
GetSQLValueString($hashPass, "text"));
if (mysqli_query($link, $insertSQL)) {
header("Location: ../../register/register-2.php");
} else {
echo "Error: " . $insertSQL . "<br>" . mysqli_error($link);
}
mysqli_close($link);
}
我希望变量发送到register-2.php页面,所以我可以像这样从数据库表中调用所有内容。
require '../scripts/php/db_connect.php';
$username_check = $_POST['username_entry'];
if($result = $link->query("SELECT * FROM di_ssenisub WHERE username = '$username_check'")) {
if($count = $result->num_rows) {
$rows = $result->fetch_assoc();
}
}
echo $rows['username'];
echo $rows['password'];
echo $rows['id'];
echo $rows['timestamp'];
问题是将变量发送到下一页。有人可以帮忙吗?
答案 0 :(得分:1)
您可以使用“会话”在页面之间的服务器上安全地存储变量。
在第一页:
session_start();
$_SESSION['username'] = $username_entry;
第二个:
session_start();
$username = $_SESSION['username'];
我希望有所帮助!
答案 1 :(得分:0)
if (mysqli_query($link, $insertSQL)) {
header("Location: ../../register/register-2.php?user=$username_entry&pass=$ashpass");
以这种方式更改网址,然后在register-2页面中添加:
if(isset($_GET(user)){
$username_entry = $_GET['username_entry'];
}else{
$username_entry = '';
}
if(isset($_GET(pass)){
$hashpass = $_GET['pass'];
}else{
$hashpass = '';
}
即使我不将密码发送到下一页。
答案 2 :(得分:0)
要将值发送到下一页,您有几个选项。最简单的方法是通过网址发送变量,并使用$_GET['']
在下一页上提取它们。
例如,像这样:
echo '<a href = "page2script.php?id='. $rows['id'] . '">next page</a>';
(或者你可以将它嵌入你的标题脚本而不是链接,这就是你似乎在做的事情)
然后在下一页上得到它,如下所示: $ id = $ _GET [&#39; id&#39;];
然而,更好,更安全的方法是将这些变量放入会话中,然后你可以像这样抓住它们(这是非常安全的,因为将id和用户信息放入GET
变量是相当危险并且可以使恶意用户(或者甚至是任何好奇的人)访问另一个人的数据。
$id = $_SESSION['id'];
等...用于所有变量
答案 3 :(得分:0)
这可以解决问题:
function redirect_post($uri, array $post_data)
{
$options = [
'http' => [
'method' => 'POST',
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'content' => $post_data
]
];
$context = stream_context_create($data)
return file_get_contents($uri, false, $context);;
}
警告:在register-2.php上逃脱$username_check = $_POST['username_entry'];