我已经创建了一个html注册表单,当用户成功注册时,我希望他们自动重定向回我的index.html
页面,并弹出一个警报,告诉他们他们已经注册成功。目前我的警报工作,但它只是在一个空白页打开。我试过把header ("location:../index.html")
,但没有工作,它只是引导我直接到页面没有给我我想要的警报。有人能帮忙吗?
<?php
$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
$firstname=$_POST['first_name'];
$lastname=$_POST['last_name'];
$address=$_POST['address'];
$postcode=$_POST['postcode'];
$emailaddress=$_POST['emailaddress'];
$password=$_POST['password'];
$query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
$link = mysql_query($query)or die(mysql_error());
$num = mysql_num_rows($link);
if ($num>0){
echo 'Email already exists'; //email already taken
}
else {
$insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
$result = mysql_query($insert_query)or die(mysql_error());
if(success)
{
echo "<script type='"text/javascript'">".
"alert('success');".
"</script>";
}
}
}
?>
我使用这段代码将某人在网站上填写表单后重定向到主页。
if(empty($errors))
{
//send the email
echo '
<script type="text/javascript">
alert("YOUR MESSAGE");
window.location.href = "http://www.yoursite.com";</script>';
}
在重定向时使用此函数:
function redirect($url) {
if(!headers_sent()) {
//If headers not sent yet... then do php redirect
header('Location: '.$url);
exit;
} else {
//If headers are sent... do javascript redirect... if javascript disabled, do html redirect.
echo '<script type="text/javascript">';
echo 'window.location.href="'.$url.'";';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
echo '</noscript>';
exit;
}
}
所以你想重定向到相同的页面,但使用?=XXX获取值
你的代码看起来像这样:
<?php
if ($_GET['success'] == 1){
echo "<script type='"text/javascript'">".
"alert('success');".
"</script>";
}
$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
$firstname=$_POST['first_name'];
$lastname=$_POST['last_name'];
$address=$_POST['address'];
$postcode=$_POST['postcode'];
$emailaddress=$_POST['emailaddress'];
$password=$_POST['password'];
$query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
$link = mysql_query($query)or die(mysql_error());
$num = mysql_num_rows($link);
if ($num>0){
echo 'Email already exists'; //email already taken
}
else {
$insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
$result = mysql_query($insert_query)or die(mysql_error());
if(success)
{
redirect('index.php?sucess=1');
}
}
}
?>
使用JavaScript重定向:
window.location = "http://www.google.com/";
但是我建议添加一个链接供用户点击,以及一些用户可能禁用JavaScript。我在重定向上设置了一个超时,这样用户就有几秒钟的时间来读取页面。例如:
if (success) {
echo "<script type='"text/javascript'">" .
"setTimeOut(function() {" .
" window.location = 'http://www.google.com';" .
"}, 2500);" .
"</script>";
}
您可以在索引页添加一个变量,例如"index.php?success"。然后通过if(isset($_GET['success'])检查这个请求。并添加一些登录到那个IF。
1)首先将您的index.html更改为php文件:index.php
2)在index.php文件的顶部写<?php
session_start();
?>
在index.php文件的主体中,你可以:
打印消息
<?php
if(isset($_SESSION['message'])) {
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
或javascript
<?php
if(isset($_SESSION['message'])) {
echo '<script> alert(''Success''); </script>';
unset($_SESSION['message']);
}
?>
你给我们的这个动作文件
<?php
// START THE SESSION
session_start();
$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
$firstname=$_POST['first_name'];
$lastname=$_POST['last_name'];
$address=$_POST['address'];
$postcode=$_POST['postcode'];
$emailaddress=$_POST['emailaddress'];
$password=$_POST['password'];
$query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
$link = mysql_query($query)or die(mysql_error());
$num = mysql_num_rows($link);
if ($num>0){
$_SESSION['message'] = 'Email already exists'; //email already taken
}
else {
$insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
$result = mysql_query($insert_query)or die(mysql_error());
if($result)
{
$_SESSION['message'] = 'Success';
}
}
}
// redirect to main page
header("Location: /");
?>