2017-01-25 75 views
0

我目前正在創建一個基本的數學網站,它會要求用戶解決一個多重問題。如何將用戶輸入數據發送到PHP並將數據從一個PHP頁面發送到另一個PHP頁面

我打算有HTML奠定出像:

1*8 = <input type="number" maxlength="3" name="answer1"><br> 
 
2*9 = <input type="number" maxlength="3" name="answer2"><br> 
 
4*4 = <input type="number" maxlength="3" name="answer3"><br> 
 
<button type="button">Check Answers</button> 
 
<p></p>

是由一些PHP代碼生成的HTML代碼:

<?php 
    $t = 0; 

    for ($n = 1; $n <= 10; $n++) { 

     $a = rand(1, 10); 
     $b = rand(1, 10); 

     echo $a . "*" . $b . " = <input type=\"number\" maxlength=\"3\" name=\"answer" . $n . "\"><br>"; 

     $t = $a * $b; 
    } 
?> 

現在產生,我計算了$ a和$ b(隨機數)的總和:

$t = $a * $b; 

對於HTML按鈕,我希望它這樣,當用戶點擊它,它會檢查所有的輸入框,看看他們是否輸入了什麼= $ T 忘記所有的驗證,所有我想現在就得到工作是非常基礎。

我已經得到了進一步的這種使用Ajax創建上,單擊事件:

$(document).ready(function(){ 
    $("button").click(function(){ 
     $.ajax({ 
      type: 'POST', 
      url: 'calcc.php', 
      success: function(data) { 
       $("p").text(data); 
      } 
     }); 
    }); 
}); 

我一直在瞎搞用了一段時間。我研究過,我需要使用$ _SESSION或類似的東西來保存前$ t的值,但我似乎無法弄清楚它是如何工作的,我不斷收到長反覆數組的錯誤,我不知道如何提取我想要的信息。

我遇到的另一個問題是在點擊時檢索用戶輸入,之前我使用過POST和GET,但是當我單擊提交按鈕時,它將以頁面重新加載和更改所有內容隨機數字。

我最好想在PHP中解決這個問題。這一直困擾着我一段時間,我只是想看看你們中有沒有人對我如何做這項工作有了很好的想法。

預先感謝您。

回答

1

有兩種可能的解決方案可以解決您的問題。

  • 第一個(也是最簡單的)是在同一個腳本中檢索$ _POST []參數,並在收到非空的$ _POST []參數時執行代碼。
  • 第二種解決方案(您在此使用的解決方案)是使用AJAX。 我看着你的代碼,並有一些調整。

    $(document).ready(function(e){ //Add an preventDefault on your event in order to not do the submit of the form. e.preventDefault(); $("button").click(function(){ //Get all the data from your form var data = $(form).serialize(); $.ajax({ type: 'POST', //send the data with the ajax. // You can retrieve it in your php through $_POST['name of form field'] data: data, url: 'calcc.php', success: function(data) { $("p").text(data); } }); }); });

我希望這可以幫助您:) 評論,如果你希望有更好的解釋。

0

我會在輸入字段中放入$ a和$ b。它們可以是隻讀的,甚至是隱藏的。在這種情況下,您的php腳本會獲得您的隨機$ a和$ b以及用戶的結果。您的PHP腳本現在可以驗證結果。 如果你需要一些代碼,告訴我。

+0

好的,我想我明白你在做什麼,我會在HTML頁面上輸入$ a和$ b隨機數以及用戶輸入。我可以一次得到它,並在第二個PHP腳本(點擊)上計算答案。基本上是另一種方法,而不是$ _SESSION。那麼我唯一的問題就是調用它到PHP。謝謝 :) – jake

相關問題