我有两页表格用于注册过程。两种形式都提供两个不同的表格。 users和user_profile。我正在研究使用$ _SESSIONS将唯一属性从第一页传递到第二页,以便两个表上的每个用户都有一个关系。 ID列是增量的,因此我决定使用用户名列,因为它是唯一的。现在我很难将用户名从第一页传递到第二页,这样我就可以将它添加到sql的insert语句中。我在第一页的代码如下
<?php
session_start();
$_SESSION['message'] = '';
$_SESSION['var_user'] = 'username';
....
username是第二页上formand的字段名称,我有
<?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';
}
}
我已尝试过在表单中使用隐藏输入。似乎没有工作。任何帮助将不胜感激。
答案 0 :(得分:2)
您在第二页上使用$username
作为密钥:
$username = $_SESSION['var_user'];
...
$_username = ($_POST[$username]);
相反,您应该只在第一页上定义它:
$_SESSION['var_user'] = $_POST['var_user']
并在第二页上使用它:
$username = $_SESSION['var_user'];