Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向执行页面并弹出警报_Php_Html_Forms_Redirect - Fatal编程技术网

Php 重定向执行页面并弹出警报

Php 重定向执行页面并弹出警报,php,html,forms,redirect,Php,Html,Forms,Redirect,我已经创建了一个用于注册的html表单,当用户成功注册后,我希望他们自动重定向回我的index.html页面,并弹出一个警报,告知他们已成功注册。目前我的警报正常工作,但它只是在一个空白页中打开。我曾尝试输入标题(“location:../index.html”),但没有成功,它只是直接将我指向页面,而没有给我想要的提示。有人能帮忙吗 <?php $con = mysql_connect("localhost","root","") or die(mysql_error()); $sele

我已经创建了一个用于注册的html表单,当用户成功注册后,我希望他们自动重定向回我的
index.html
页面,并弹出一个警报,告知他们已成功注册。目前我的警报正常工作,但它只是在一个空白页中打开。我曾尝试输入
标题(“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>";
}
     }

   }
?>

要通过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>";
}
if(成功){
“回声”。
“设置超时(函数(){)”。
“window.location=”http://www.google.com';" . 
"}, 2500);" .
"";
}

重定向时使用此功能:

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;
    }
}
函数重定向($url){
如果(!headers_sent()){
//如果标题还没有发送…那么做php重定向
标题('位置:'。$url);
出口
}否则{
//如果发送了标题…执行javascript重定向…如果禁用javascript,执行html重定向。
回声';
echo'window.location.href=“”.$url.“;”;
回声';
回声';
回声';
回声';
出口
}
}
因此,您希望重定向到同一页面,但使用?=XXX Get值

您的代码如下所示:

<?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');
}
     }

   }
?>

您可以在索引页面中执行一个变量,如“index.php?success”。然后通过if(isset($\u GET['success'])检查此请求,并在if中添加一些登录名。

在网站上填写表单后,我使用此代码将某人重定向回主页

if(empty($errors))
{
    //send the email

    echo '
        <script type="text/javascript">
            alert("YOUR MESSAGE"); 
            window.location.href = "http://www.yoursite.com";</script>';    
}   
if(空($errors))
{
//发送电子邮件
回声'
提醒(“您的信息”);
window.location.href=”http://www.yoursite.com";';    
}   
1)首先将index.html更改为php文件:index.php

2) 在index.php文件的顶部写入

<?php
    session_start();
?>

3) 在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']);
   }
?>

4) 在你给我们的行动文件上

<?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: /");
?>
if(success)->这是函数还是变量,如果这是变量,它应该是$success。这台什么时候开始?