我正在使用PHP进行注册过程。我设法获取了提交的表单数据并将其保存到mysql表中,但是问题是,如果刷新页面,则会再次注册用户。这是我的PHP代码,已包含在div标签中,并包含其他内容:
<?php
if(isset($_POST["registration"])){
$con = mysqli_connect("localhost", "user", "pass", "name") or die("connection error");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$name = $_POST["name"];
$lname = $_POST["lname"];
$email = $_POST["email"];
$pass = $_POST["pass"];
$company = $_POST["company"];
$webpage = $_POST["webpage"];
$phone = $_POST["phone"];
$country = $_POST["country"];
$city = $_POST["city"];
date_default_timezone_set('Asia/Tbilisi');
$info = getdate();
$date = $info['mday'];
$month = $info['mon'];
$year = $info['year'];
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$reg_date = $year . "-" . $month . "-" . $date . " " . $hour . ":" . $min . ":" . $sec;
$confirmed = "0";
$success = mysqli_query($con, "INSERT INTO users(firstname, lastname, email, pass, company, webpage, country, city, phone, reg_date, confirmed) VALUES('$name','$lname','$email', '$pass', '$company', '$webpage', '$country', '$city', '$phone', '$reg_date', '$confirmed')");
if($success){
echo "You have been successfully registered. Use the form above to log in.";
}
else{
echo "registration error";
}
//unset($_POST["registration"]);
}
?>
正如您所见,我还尝试取消设置$_POST["registration"]
,但这没有帮助。我应该怎么做才能使此代码仅在单击“注册”按钮时起作用?
P.S。我在页面的开头开始会话,但没有为其分配任何数据。
答案 0 :(得分:5)
成功后,将用户重定向到另一个URL
header('Location: '. $url);
die();