编辑:我的功能坏了,里面有/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),但是好像该函数不再定义了,什么也没发生。任何想法都将不胜感激!谢谢!

最佳答案

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

你的功能有这个

如果(确认(“确定要删除此用户吗?”
+“\n真的没有回头路了!”))

应该是这样

如果(确认(“确定要删除此用户吗?” +“\n真的没有回头路了!”))

有时,这只是一个很小的错误。希望能有所帮助:)

编辑1 :这是 javascript和php 代码中原始发布的问题中的错误。现在对其进行了编辑,以反射(reflect)if没有损坏。
编辑2 :有人告诉我这有助于解决问题,所以我将在此保留此问题。希望它也能帮助其他人。
PS :如果有人希望将其删除,请告诉我。

关于php - 使用PHP加载Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18091184/

10-11 12:47
查看更多