成功提交表单并在确认消息上单击“确定”后重定向到同一页面

时间:2016-04-07 03:43:43

标签: javascript php

我使用insert.php文件连接到数据库,插入用户的请求,发送成功确认消息,然后将用户重定向到同一页面。这是代码:

if (!mysqli_query ($db_conx, $sql)) {
    die ('Error: ' . mysqli_error($db_conx));
} 
else {
echo '<script type="text/javascript">';
echo 'alert("Thank you! Your request has been successfully sent.")';
echo '</script>';
}

header ('Location:http://www.mywebsite.com.au/page1.php');
mysqli_close ($db_conx);

问题是用户点击&#34; OK&#34;在确认警告框中,页面从page1移动到带有空白屏幕的insert.php。 我想刷新page1页面并保持不变。

3 个答案:

答案 0 :(得分:2)

if (!mysqli_query ($db_conx, $sql)) {
    die ('Error: ' . mysqli_error($db_conx));
} 
else {
echo '<script type="text/javascript">';
echo 'alert("Thank you! Your request has been successfully sent.")';
echo 'window.location.href = "http://www.mywebsite.com.au/page1.php"';  
echo '</script>';

 mysqli_close ($db_conx);
}

答案 1 :(得分:0)

    if (!mysqli_query ($db_conx, $sql)) {
        die ('Error: ' . mysqli_error($db_conx));
    } 
    else {
        echo '<script type="text/javascript">';
        echo 'alert("Thank you! Your request has been successfully sent.")';
        echo '</script>';
    }
    mysqli_close ($db_conx);
    echo "<META http-equiv=\"refresh\" content=\"0;URL=page1.php\">";

我个人永远不会让header为我正常工作,但meta refresh始终以我需要的方式工作。

在我的代码段中,我使用meta refresh并告诉它在重定向到page1.php页面之前等待 0 秒(content=\"0;)(;URL=page1.php\" }),那样它会在用户点击警告信息上的“Okay”后直接重定向。

或者,您可以在insert.php页面上输入不需要用户交互的确认消息,您可以将重定向时间更改为2或3,以便用户有机会看到它。 / p>

答案 2 :(得分:-1)

请使用此代码:

if (!mysqli_query ($db_conx, $sql)) {
   die ('Error: ' . mysqli_error($db_conx));
} 
else {
   echo '<script type="text/javascript">';
   echo 'alert("Thank you! Your request has been successfully sent.")';
   echo '</script>';
}

mysqli_close ($db_conx);

// Use Location: not Location : , that means now space between Location and :(colon)
header ('Location: http://www.mywebsite.com.au/page1.php');