我希望在此人注册后重定向到确认页面,一旦他们输入了他们需要的详细信息,就会使用下面的PHP脚本将其发送到数据库。虽然当我尝试使用标头添加重定向时,它不会运行PHP脚本。对我做错了什么想法?
PHP
if (isset($_POST['firstname'], $_POST['surname'], $_POST['email'], $_POST['username'], $_POST['password'], $_POST['interest'])){
$firstname = ($_POST['firstname']);
$surname = ($_POST['surname']);
$username = ($_POST['username']);
$password1 = ($_POST['password']);
$email = ($_POST['email']);
$interest = ($_POST['interest']);
$result = mysql_query("INSERT INTO user (firstname,surname,username,password,email,interestarea,user_type) VALUES ('$firstname','$surname','$username','$password1','$email','$interest','normal')");
}
答案 0 :(得分:2)
您应该将MySQLi或PDO与预处理语句一起使用,因为不推荐使用mysql_函数。你应该至少考虑使用类似mysql_real_escape_string的东西,因为你可能会对sql注入攻击开放。
否则,像其他人一样说使用:
header("Location: new_page.php");
exit();
答案 1 :(得分:1)
您可以添加header('Location:yourpage.php');
$result = mysql_query("INSERT INTO user (firstname,surname,username,password,email,interestarea,user_type) VALUES ('$firstname','$surname','$username','$password1','$email','$interest','normal')");
header('Location:yourpage.php');
exit();
您可以在页面顶部添加@ob_start();
。
答案 2 :(得分:1)
$result = mysql_query("INSERT INTO user (firstname,surname,username,password,email,interestarea,user_type) VALUES ('$firstname','$surname','$username','$password1','$email','$interest','normal')");
header('Location: page.php');
包含在脚本的开头:
<?php
ob_start();
?>
答案 3 :(得分:0)
这是一个有根据的猜测,你的问题可能是什么:
你说该页面正在重定向,但是php没有被解析。所以...如果页面只显示你的php,那就意味着在php阅读目录之外...检查一下(看看它是否以localhost /你的ip / domain等开头)。