使用PHP加载Javascript

Rod*_*num 5 javascript php variables

编辑:我的功能被打破/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>
Run Code Online (Sandbox Code Playgroud)

这是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;
Run Code Online (Sandbox Code Playgroud)

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;
}
?>
Run Code Online (Sandbox Code Playgroud)

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

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

当我将鼠标悬停在图像上以删除用户时,它仍会显示正确的脚本链接("Javascript:delete_user(%d)",其中%d是user_id)但是它就像没有定义函数一样,没有任何反应.任何想法都非常感谢!谢谢!

woo*_*eow 3

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

你的函数有这个

if (confirm("您确定要删除该用户吗?"
                +“\n真的没有回头路了!”))

应该是这样

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

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

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

  • 公平地说,我编辑了你的问题以使其更具可读性。我没有想到您的代码可能会因自动换行而中断。 (2认同)