PHP和Javascript转发页面

时间:2013-12-17 06:02:44

标签: javascript php mysql window.location

好的我已经搜索了stackoverflow和许多其他网站,我已经为此尝试了各种解决方案,但似乎没有任何工作。

我正在处理PHP中的表单,检查错过的条目和错误,如果错过或添加到SQL DB,如果可以,表单本身工作正常,处理工作,表单错误抛出并显示或添加到数据库,我希望该页面显示错误或成功等待一小段时间,然后如果出现错误则自动转发回表单,如果添加成功,则返回显示数据库内容的页面。我似乎没有尝试在这里工作。请帮助:到目前为止我的代码:

//If errors present
    if ($errormsg) {
        echo "<div class=\"box red\">$errormsg</div>";
        sleep(2);
        echo '<script>' . "\n"; 
        echo 'window.location="blogmake.html?blogid=" + blogid;'; 
        echo '</script>'; 
    }
    if ($secim == "3"){     //If all present and correct post comment to DB
        if ($valname && $valemail && $valcom){
            $con = mysql_connect("xxxx","User","pass");

            if (!$con)
                die('Could not connect: ' . mysql_error());

            mysql_select_db("dbname", $con);

            $fulcom = mysql_real_escape_string ($_POST['comment']);

            mysql_query("INSERT INTO tabname(blogid, date, email, name, comment)    VALUES ('$blogid', CURRENT_TIMESTAMP(),'$valemail','$valname','$fulcom')") or die('Error: ' . mysql_error());

            mysql_close($con);  
            echo "<div class=\"box green\">Your comment has been submitted</div>"; 
            sleep(2);
            echo '<script>' . "\n"; 
            echo 'window.location="blogread.php?blogid=" + blogid;'; 
            echo '</script>';
        }
    }
?>
</div>

2 个答案:

答案 0 :(得分:0)

您应该使用HTML meta tag

<meta http-equiv="refresh" content="2;URL='http://yoursite.com/blogread.php?blogid=<?= $blogid ?>'" /> 

或JavaScript的setTimeout函数:

setTimeout(function(){
    window.location="blogread.php?blogid=<?= $blogid ?>";
}, 2000);

元标记有两个重要参数:2是重定向发生之后的秒数;并且URL=...是它应该重定向的网址。

在这种情况下,SetTimeout有两个参数,第一个是将要执行的函数(整个function部分);另一个是执行该函数的延迟时间(以毫秒为单位)(数字2000)。

请注意,我在两种情况下都使用了<?= $blogid ?> - 这只是一个简短的代码:<?php echo $blogid; ?>。当然,您可以随意使用它,例如使用echo来回显整个代码,就像您一样。

答案 1 :(得分:-1)

你需要:

<meta http-equiv="refresh" content="3;url=http://www.google.com/" />

您的网址更改 3 ,网页更改网址= ,即:

echo '<meta http-equiv="refresh" content="2;url=blogread.php?blogid='.blogid.'" />';