php - 难以从两页注册中传递变量

标签 php html mysql

我有两页用于注册过程的表格。两种形式都输入到两个不同的表中。用户和用户配置文件。我正在考虑使用 $_SESSIONS 将唯一属性从第一页传递到第二页,以便两个表上的每个用户都存在关系。 ID 列是增量的,因此我决定使用用户名列,因为它是唯一的。现在我很难将用户名从第一页传递到第二页,以便我可以将其添加到 sql 的插入语句中。我的第一页代码如下

<?php
session_start();
$_SESSION['message'] = '';
$_SESSION['var_user'] = 'username';
....

用户名是第二页表单中的字段名称,我有

<?php
session_start();
$_SESSION['message'] = '';
$username = $_SESSION['var_user'];
$mysqli = new mysqli("localhost", "root", "", "webdev");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$houseno = ($_POST['str_number']);
$street =($_POST['str_name']);
$city = ($_POST['city']);
$county = ($_POST['county']);
$postcode = ($_POST['pst_code']);
$skills = ($_POST['skills']);
$_username = ($_POST[$username]);
$sql = ("INSERT INTO users_profile (house_no, street_name, city, county, 
postcode, about_me, username) VALUES ('$houseno', '$street', '$city', 
'$county', '$postcode', '$skills', '$_username')");        
     if ($mysqli->query($sql) === true){
                    $_SESSION['message'] = "Registration succesful! Added $username to the database!";
                    header("location: index.html");
}       else{
    $_SESSION['message'] = 'Registration Unsuccessful, Please login and update your information';
}
}

我已经尝试了在表单中使用隐藏输入的所有方法。似乎不起作用。任何帮助将不胜感激。

最佳答案

您正在使用 $username 作为第二页上的 key :

$username = $_SESSION['var_user'];
...
$_username = ($_POST[$username]);

相反,您应该简单地在第一页上定义它:

$_SESSION['var_user'] = $_POST['var_user']

并在第二页上使用它:

$username = $_SESSION['var_user'];

关于php - 难以从两页注册中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43058251/

相关文章:

php - 如何在mysql 5存储过程中检查查询结果是否为空?

Mysql查询获取对象总数

php - ErrorException (E_ERROR) 试图获取非对象的属性 'id'(查看 : - laravel 5. 5

javascript - div上的jquery点击事件

java - 从弹出窗口更新主窗口的值

javascript - 如何在 Javascript 中获取前一个 DOM 元素?

php - 我如何在 PHP 中运行检查以查看我的 MYSQL 存储过程是否正确运行?

mysql - MySQL 中拥有一张大的 GPS 表好还是几张小一些的 GPS 表好?

php - PDO 获取结果或 while 循环中的 bool 值

php - 如何根据 php 中的评级计算正反馈