Javascript不会在PHP中运行

时间:2013-07-17 09:54:53

标签: php javascript mysql forms session

我有这段代码:

if(isset($_POST['btnSubmit']) && $_POST['btnSubmit'])
        {
            require_once($_SERVER['DOCUMENT_ROOT'] . 'database.php');
            $derpCard = $card;
            $derpAccessGroup = $_POST['tbAccessGroup'];
            $derpComments = $_POST['tbComments'];

            if(isset($_POST['cbActivated']))
                $derpActive = $_POST['cbActivated'];
            else
                $derpActive = "DEACTIVATED";

            $x = editCard($derpCard,$derpAccessGroup, $derpComments, $derpActive);
            if($x)
            {
                $_SESSION['editcard'] = $derpCard;
                $_SESSION['editgroup'] = $derpAccessGroup;
                $_SESSION['editcomments'] = $derpComments;
                $_SESSION['editstatus'] = $derpActive;
                            echo "<script>";
                echo "alert(\"Done!\");";
                echo "</script>";
            }
            echo "<script>location.reload(true);</script>";
        }

基本上,editCard运行SQL“UPDATE ... where ...”来编辑db中的内容。如果这是成功的,我希望它显示一个警告,告诉用户它已被更新,以及刷新页面。

警报和重新加载代码都没有运行,我一直在尝试任何和所有替代品!如果有人有任何想法只是刷新页面(这是我需要的最少!)非常感谢!

3 个答案:

答案 0 :(得分:0)

如果这个答案太短,我不得不道歉但问题太广泛或缺少更多信息。我注意到你的一条线是错误的。

require_once($_SERVER['DOCUMENT_ROOT'] . 'database.php');

should be:
require_once($_SERVER['DOCUMENT_ROOT'] . '/database.php');

因为$ _SERVER ['DOCUMENT_ROOT']会返回这样的内容,所以应该有/:

“C:/ xampp / htdocs”

因此,如果您要将其与“database.php”连接起来,那么您将拥有 “C:/xampp/htdocsdatabase.php”而不是“C:/xampp/htdocs/database.php”

在任何情况下,您都应该尝试使用firebug或类似的浏览器插件来帮助您调试这些javascript错误(如果有的话)。

我希望这会有所帮助。

答案 1 :(得分:-1)

尝试格式化脚本回声,如下所示:

echo "\n<script>\n<!--\n";
echo "alert(\"Done!\");";
echo "\n-->\n</script>\n";

echo "\n<script>\n<!--\nlocation.reload(true);\n-->\n</script>\n";

请注意添加的新行。

答案 2 :(得分:-1)

您似乎缺少脚本的type属性。

如果要指定javascript,则需要包含类型。

echo "<script type=\"text/javascript\">";
echo "alert(\"Done!\")";
echo "</script>";

与其他行相同

echo "<script type=\"text/javascript\">location.reload(true);</script>";

如果以上内容没有丝毫帮助,问题可能在于您的逻辑语句,或者您的javascript可能不会输出您想要的内容。

有一些工具可以帮助您找出这些问题,例如apache日志和firebug插件

编辑:忘记分号