5

编辑:我的功能被打破了/n,里面有。感谢 woofmeow 引导我质疑我的功能!

我是编程新手。我一直在尽我最大的努力,过去几个月我学到了很多东西(这里有很多!)但我很难过。

我有一个从另一个 PHP 脚本调用的 PHP 脚本,但我无法让代码实际运行。它曾经运行,然后我更改了一些内容并没有保存更改,我不确定我做了什么。我知道,我知道,菜鸟的错误(我从中吸取了教训!)。Javascript 在查看页面源代码上显示良好,但不再运行。

这是页面源代码,也许就是这么简单:

<script type="text/javascript">
function delete_user(user_id) 
{if (confirm("Are you sure you want to delete this user?" + "\nThere's really no going back!")) {window.location = "delete_user.php?user_id=" + user_id;}}</script>

这是 PHP: show_users 脚本将其发送到查看器:

$delete_user_script = <<<EOD
function delete_user(user_id) 
{
    if (confirm("Are you sure you want to delete this user?" 
                + "\nThere's really no going back!")) 
    {
        window.location = "delete_user.php?user_id=" + user_id;
    }
}
EOD;

HTML 中的 PHP 从工作时起没有改变:

<?php 
while ($user = mysql_fetch_array($result)) 
{
    $user_row = sprintf("<li><a href='show_user.php?user_id=%d'>%s %s</a>(<a href='mailto:%s'>%s</a>)<a href='javascript:delete_user(%d);'><img class='delete_user' src='../images/delete.png' width='15' /></a></li>", 
    $user['user_id'], 
    $user['first_name'], 
    $user['last_name'], 
    $user['email'], 
    $user['email'], 
    $user['user_id']);

    echo $user_row;
}
?>

最后,为我们提供页面源代码的查看脚本(注意:$embedded_javascript 是 $delete_user_script):

if (!is_null($embedded_javascript)) 
{
    echo '<script type="text/javascript">' . $embedded_javascript . '</script>';
}

当我将鼠标悬停在图像上以删除用户时,它仍然显示正确的脚本链接(“Javascript:delete_user(%d)”,其中 %d 是 user_id),但就像函数不再定义一样,什么也没有发生。任何想法都非常感谢!谢谢!

4

2 回答 2

3

基本上你的if陈述是错误的(即使在$delete_user_script变量中)。由于它从新行开始,解释器将;在其末尾假定 a ,因此您的if语句会中断。

你的功能有这个

if (confirm("你确定要删除这个用户吗?"
                + "\n真的没有回头路了!"))

应该是这样

if (confirm("你确定要删除这个用户吗?" + "\n真的没有回头路了!"))

有时它只是一个小小的错误。希望有帮助:)

编辑 1 :这是javascript 和 php 代码中原始发布的问题中的错误。现在它被编辑以反映它if没有被破坏。 编辑 2:有人告诉我这有助于解决问题,所以我将把这个问题留在这里。希望它也对其他人有所帮助。 PS:如果有人想删除这个,请告诉我。

于 2013-08-06T22:10:27.753 回答
0

试试这个,而不是你现在的脚本:

$delete_user_script = "".
"function delete_user(user_id)
 {
    if (confirm(\"Are you sure you want to delete this user?\" + \"\\nThere's really no going back!\"))
    {
        window.location = \"delete_user.php?user_id=\" + user_id;
    }
 }";
于 2013-08-06T22:40:03.163 回答