2017-01-25 6 views
0

Ich erstelle derzeit eine grundlegende mathematische Website, wo es den Benutzer bitten würde, eine mehrfache Frage zu lösen.Wie würde ich Benutzereingabedaten an PHP senden und Daten von einer PHP-Seite an eine andere PHP-Seite senden

Ich plane, die HTML zu haben, legte sich wie:

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>

Dieser HTML-Code wird von einigen PHP-Code erzeugt:

<?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; 
    } 
?> 

Nun, da erzeugt wird Ich habe herausgefunden, was die Summe der $ a und $ b (Zufallszahlen) sein würde:

Für die HTML-Taste wollte ich es so, wenn der Benutzer es klickt, würde es alle Eingabefelder überprüfen und sehen, was sie eingegeben = $ t Vergiss alle Validierung, alles, was ich für jetzt arbeiten will, ist sehr Grundlagen.

Ich habe weiter mit diesem mit Ajax ein On-Click-Ereignis zu erstellen:

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

Ich habe schon eine Weile jetzt mit ihm wurde durcheinander. Ich habe herausgefunden, dass ich $ _SESSION oder etwas Ähnliches verwenden müsste, um den Wert von $ t von vorher zu speichern, aber ich kann nicht herausfinden, wie es funktionieren würde, ich bekomme immer wieder Fehler von langen wiederholten Arrays und ich habe keine Ahnung, wie ich die Informationen extrahieren würde, die ich möchte.

Ein anderes Problem, das ich habe, ist das Abrufen der Benutzereingabe beim Klicken, ich habe POST und GET vorher verwendet, aber wenn ich auf den Absendenbutton klicke, wird es so funktionieren, dass die Seite neu geladen und geändert wird zufällige Zahlen.

Ich wollte das vorzugsweise in PHP lösen. Das hat mich eine Weile gestört. Ich wollte nur sehen, ob einer von euch irgendwelche großartigen Ideen hatte, wie ich das machen könnte.

Vielen Dank im Voraus.

Antwort

1

Es gibt 2 mögliche Lösungen für Ihr Problem.

  • Die erste (und einfachste) Ihre $ _POST [] Parameter im selben Skript abruft und Ausführen des Codes, wenn Sie einen $ _POST [] Parameter erhalten, die nicht leer ist.
  • Die zweite Lösung (die Sie hier verwenden) ist die Verwendung von AJAX. Ich schaute auf Ihren Code und habe einige Anpassungen.

    $(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); } }); }); });

Ich hoffe, das Ihnen hilft :) Kommentar, wenn Sie einige weitere Erklärungen möchten.

0

Ich würde $ a und $ b in Eingabefelder auch setzen. Sie könnten nur gelesen oder sogar versteckt sein. In diesem Fall erhält Ihr PHP-Skript Ihre zufälligen $ a und $ b und das Ergebnis vom Benutzer. Ihr PHP-Skript kann nun das Ergebnis validieren. Sag mir, wenn du Code brauchst.

+0

Okay, ich denke, ich verstehe, was Sie bekommen, würde ich die $ a und $ b zufällige Zahlen auf der HTML-Seite zusammen mit den Benutzern eingeben. Ich könnte alles auf einmal bekommen und die Antwort auf das zweite PHP-Skript (on-click) berechnen. Grundsätzlich eine andere Methode anstelle von $ _SESSION. Dann ist das einzige Problem, das ich habe, es PHP zu nennen. Vielen Dank :) – jake

Verwandte Themen