2012-09-12 38 views
-2

嗨,我是新來的所有HTML JavaScript和PHP。這是假設將輸入從一個HTML表單保存到我的數據庫...但我不知道爲什麼這不起作用...代碼dosent似乎進入PHP部分執行命令... 親切的建議感謝你在JavaScript中嵌入PHP

<html> 
<script type = "text/javascript"> 
    function processInputs() 
    { 
     //get data from html form 
     var email_data; 
     email_data=document.getElementById('txtInput').value; 
     //document.write(email_data); 

     <?php 
     //connect database 
     $con = mysql_connect("localhost","admin","password"); 
     if (!$con) 
      { 
      die('Could not connect: ' . mysql_error()); 
      } 

     mysql_select_db("internet", $con); 
     $newemail = $_GET['email_data']; 
     echo $newemail; 
     //query 
     mysql_query("INSERT INTO user_data (email) VALUES ($newemail)"); 

     mysql_close($con); 
     ?> 
    } 
</script> 

<FORM action="test.php" method="post"> 
    <INPUT type="text" value="this is a text" name"txtInput" id="txtInput" /> 
</FORM> 

<button type="button" onclick=processInputs() >click!</button> 

+0

瞭解PHP是在服務器上執行還是由服務器執行並且JavaScript在瀏覽器上執行以及由瀏覽器執行可能是有用的。這意味着如果您加載此頁面,服務器將執行所有PHP代碼,然後將其發送到瀏覽器。看看你的頁面源代碼,這樣你就可以看到PHP已經消失了。此外,您在onclick屬性周圍缺少引號(如這些「)。 –

+0

我建議現在忘掉JavaScript,然後編寫一個提交給php腳本插入到db的簡單html表單 - 然後從那裏開始(可能會繼續忘記javascript很長一段時間)。您目前正在將不少東西混合在一起 – AD7six

+0

[Call from php]函數的可能重複(http://stackoverflow.com/questions/7165395/call-php-function-from-javascript) – Amber

回答

4

您有多個缺陷:

  1. 你不能 「嵌入」 像這樣的PHP腳本到一個javascript函數,你應該使用AJAX - 嘗試jQuery。 PHP是服務器端,Javascript是基於瀏覽器的。
  2. 你有一個MySQL注入孔那裏,你應該使用逃生你mysql_*$_GETmysql_real_escape_string()
  3. 停止,因爲這些職能已被棄用。 Read this article
  4. onclick是無效的,應該是<button type="button" onclick="processInputs()">click!</button>
-1

你的函數不會被調用! 更改此

的onClick = processInputs()

的onClick = 「processInputs()」

,並嘗試對警報語句,看看功能被叫或不叫

你也不能有腳本標記中的PHP腳本

+0

-1因爲「還有<更重要的問題/誤解>」 – AD7six

1

如果您有一種看法 -

在調用某些用戶操作,如按鈕點擊/懸停的JS功能等將觸發PHP代碼和填充數據,

然後你是錯誤的

PHP是一種服務器端腳本語言,你不能以這種方式使用它。整個頁面在服務器端解析並作爲對瀏覽器的響應。要進行動態更新,請使用Ajax調用,這將調用一個php頁面併爲您填充html。

我建議參考coredogs.com網站以更好地瞭解php流程。