重定向做一个页面和提示弹出


Redirecting do a page and alert pop up

我已经创建了一个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: /");
?>