Php 重定向执行页面并弹出警报
我已经创建了一个用于注册的html表单,当用户成功注册后,我希望他们自动重定向回我的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
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。这台什么时候开始?