2012-08-05 78 views
-1

PHP新手在這裏...如何在PHP中使用Javascript觸發警報

我試圖在PHP中觸發JavaScript中的警報,但似乎不起作用。 :

if(isset($_POST['save-text'])){ 

     // get form data, making sure it is valid 
     $submit_date = date('Y-m-d H:i:s'); 
     $content = mysql_real_escape_string(htmlspecialchars($_POST['editor'])); 

     $new_url = 'example.com/' . $key; 
     echo "<script>alert('$new_url');</script>"; 

     // build query 
     mysql_query("INSERT INTO `source`(`id`, `key`, `submit_date`, `ip`, `content`) VALUES (null, '$key','$submit_date','$ip','$content')") 
     or die(mysql_error()); 


    } 
+2

什麼不起作用? – Amberlamps 2012-08-05 19:58:18

+0

是否輸入了if塊?我只是問:) – 2012-08-05 19:58:34

+0

是的...代碼工作,但JavaScript的警報不出於某種原因。 – 2012-08-05 20:01:53

回答

3

您不能在頁面的任何位置插入HTML和JavaScript;確保你在<script>標籤有效的位置輸出。

+1

也腳本標籤應該說他們是什麼樣的腳本。 – 2012-08-05 20:02:34

+1

不是在DOM中的任何地方解析和執行腳本標記嗎?我的意思是,在身體內聯? – 2012-08-05 20:04:55

+1

我認爲在HTML5中,你不必指定它是什麼樣的腳本 – jrubins 2012-08-05 20:05:05

-2

你的報價是錯誤的:

echo "<script>alert('$new_url');</script>"; 

應該是:

echo "<script>alert('" . $new_url . "');</script>"; 
+7

雙引號允許PHP中的變量替換。你的新代碼是錯誤的。 – 2012-08-05 20:03:23

+0

As @ IgnacioVazquez-Abrams說,雙引號確實允許變量替換,所以現有代碼是OK的(除非它沒有'type')。你的代碼必須是'echo'「;',但是確實沒有任何意義,只是這樣做會讓閱讀變得更加困難。 – 2012-08-05 20:13:01