2015-10-27 116 views
0

NEWBIE ALERT如何使用PHP從Javascript獲取信息到MySQL數據庫?

您好!我正在開發一個數據庫,用於存儲人們在這些在線調查中輸入的信息。我沒有使用Javascript的經驗,但之前我曾使用過PHP和MySQL。我目前堅持如何將數據存儲到數據庫。以下是有關的代碼的幾件事情:

  • 創建了網上調查,寫在Javascript的在線調查(保存爲HTML文件)
  • 每一個調查是寫在一個單獨的文件
  • 每個人調查必須儲存
  • 每當用戶點擊下一步按鈕的多個數據,這是不言而喻的調查

我在一個類似的項目工作過的另一頁,但我的形式是隻一個 頁面,所以無論何時用戶點擊「提交」按鈕,我都會轉到另一個用單獨的PHP文件編寫的網頁(有點像「結果」頁面)。

什麼,我不明白/需要幫助的:

  1. 我如何會這樣,當用戶點擊「下一步」按鈕,它不僅進入到下一個頁面(什麼它現在正在執行),但也發送信息存儲在數據庫中?
  2. 這些調查應該由自己的計算機上的人填寫,因此調查是用JS(客戶端)編寫的。存儲部分應該用PHP(服務器端)和MySQL編寫,是否正確?這是否意味着我必須創建一個單獨的PHP文件來創建用於將數據傳輸到數據庫的代碼,或者是否可以在同一個文件中完成這些代碼? (我認爲我會需要創建一個單獨的文件,每個調查。)

這裏是如何的HTML文件的一般結構:

<!DOCTYPE html> 
 
<html> 
 
    <head><link rel="stylesheet" type="text/css" href="survey.css"> 
 

 
    <script> 
 
     function Q2(){ 
 
      document.getElementById("Q").innerHTML = "does something...<button type='button' onclick='Q3()'>Next</button>"; 
 
     function Q3(){ 
 
      document.getElementById("Q").innerHTML = "does something...<button type='button' onclick='Q4()'>Next</button>"; 
 
     function Q4(){ 
 
      document.getElementById("Q").innerHTML = "does something...<button type='button' onclick='Q5()'>Next</button>"; 
 
     
 
     //keeps going until the last question 
 
     
 
    </script> 
 
    </head> 
 
<body> 
 

 
<h1>Meeting 1</h1> 
 
    <p id="Q">Some text...<br><input type="text" name="tweet" style='height: 50px;width: 500px;'><br><br> 
 
     <button type="button" onclick="Q2()">Next</button> 
 
    </p> 
 
</body> 
 
</html>

我我做了一些研究,看了幾本教科書。我認爲AJAX可能是我需要使用的東西?但我不太確定。如果可能的話,有人可以向我解釋我應該做什麼?我希望不僅能夠找到解決方案,而且要理解它。

預先感謝您!

+1

請在AJAX – RiggsFolly

+0

一些更多的研究,看起來你在這裏有一個很好的開始你應該儘量使Q2/Q3 /!知道你可以使用[addEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)添加點擊監聽器)和[removeEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener),這將允許您使用函數的參數。我不想給你一個答案因爲你非常接近**。當你有一些工作代碼時(如果它不工作)回來 – Terminus

+0

謝謝,總站!我會對如何使用這些點擊監聽器做更多的研究。哦,代碼有效。我只是不想發佈一個代碼,它超過1000行。 – wuv1

回答

1
  1. 對於使用JavaScript將數據發送到PHP頁面,我建議使用jQuery的框架,在那裏你可以做的簡單代碼,因爲這:

    function Q2(){ 
        var tweet = $("input[name='tweet']").val(); 
        $.post("your_receiving_page.php", { data : tweet }, function(response){ //POST to PHP page where $_POST["data"] is the tweet variable 
          //deal with PHP output here 
          console.log(response); 
          if(response=="success"){ 
           //javascript code to go to next page etc. 
          } 
         } 
    } 
    
  2. 那方法是,製作一個名爲「your_receiving_page」的PHP文件。PHP」(或其他)和手柄,像這樣的發佈數據:

    <?php 
         $tweet = $_POST["data"]; 
    
         //do stuff with $tweet, e.g. put it in a database 
         //... 
         //then end the code with "success", which is what you're looking for in the JavaScript as a successful callback 
    
         exit("success"); 
    
+0

謝謝你的建議,本!你能向我解釋爲什麼使用jQuery比使用AJAX更好嗎? – wuv1

+0

您可以使用vanilla * AJAX *和/或* JavaScript *,但需要花費大量額外的代碼,因爲它不像使用'$ .post()'* jQuery *函數那樣簡單並且您可以集成處理錯誤,異常和回調的優雅方法。 – Ben

+0

啊,我明白了。再次感謝你,**本**! – wuv1

相關問題