2013-08-06 2 views
5

EDIT:私の機能は、/nで壊れていました。私の機能に疑問を投げかけてくれたwoofmeowに感謝します!PHPを使用してJavascriptをロードする

私はプログラミングに慣れていません。私は最善を尽くしてきました。私はここ数ヶ月間たくさんのことを学んできましたが、私は困惑しています。

私は別の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; 

PHPをHTMLにここ

は、多分それは単純なことで、ページのソースであります

<?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ですが、関数がもう定義されていないので、何も起こりません。どんなアイデアも大歓迎です!ありがとう!

+0

あなたの混合PHPとJSアップ。 1つはサーバー側、もう1つはクライアント側 –

+0

ライブリンク、またはフィドルへのリンクを投稿できます(http:// jsfiddle。net /)でレンダリングされたコードを表示します。何か敏感な吹き出しやView Sourceからレンダリングされたコードがコピーされます。私は個人的にはこの方法で全体像を視覚化することはできません。 –

+0

私はあなたのスクリプトを挿入して、その関数を呼び出すスクリプトの後に 'delete_user'関数を定義すると思っています。しかし、私は全体を見ることなく伝えることはできません。あなたがしていることを私たちに見せるためにphpfiddleを使用してください。http://phpfiddle.org/ – deltree

答えて

3

ifの文は、($delete_user_script変数であっても)間違っています。新しい行から開始しているので、通訳者はその末尾に;と書いてあり、したがってifのステートメントは中断します。

あなたの関数は、この

if (confirm("Are you sure you want to delete this user?" 
       + "\nThere's really no going back!"))

を持っていることは、時にはそのわずかティーニーウィーミスこのよう

if (confirm("Are you sure you want to delete this user?" + "\nThere's really no going back!"))

でなければなりません。これはJavaScriptとPHPコードでorigianally掲示問題のエラーだった:それは役立ちます:)

EDIT 1を願っています。現在、ifが壊れていないことを反映するように編集されました。 EDIT 2:私はこの問題を解決するのに役立つと言われていますので、ここでこの問題を解決します。他の人にも役立つことを願っています。 PS:誰かがこれを削除したい場合は、教えてください。

+0

これらの2つのコードサンプルはどのように違いますか? –

+1

@ChuckUgwhh一つは改行あり、もう一つはそうではありません。 JavaScriptではセミコロンはオプションです。したがって、最後に ';'を仮定して関数を破棄します。 – woofmeow

+0

ありがとうございますが、コードは実際には 'function delete_user(user_id){if(確認("このユーザーを削除してもよろしいですか "+" \ n本当に戻ることはありません! ")){window.location =" delete_user .php?user_id = "+ user_id;}}'、私のページでは、すべての1つの文。だからtatはトリックではありませんでした(それが間違っていない限り!)。 –

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; 
    } 
}"; 
関連する問題