我有这段代码:
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中的内容。如果这是成功的,我希望它显示一个警告,告诉用户它已被更新,以及刷新页面。
警报和重新加载代码都没有运行,我一直在尝试任何和所有替代品!如果有人有任何想法只是刷新页面(这是我需要的最少!)非常感谢!
答案 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插件
编辑:忘记分号