2016-05-28 13 views
-4

Guten Abend,HTML zu PHP Arrays

Ich habe gesucht und versucht, für eine Weile ein kleines Programm zu bauen, möchte ich den Benutzer zur Eingabe eine unbekannte Menge von Zahlen (er so viel wie er eingeben möchte), und ich möchte ein Array aus ihnen machen, überall im Internet verwendet viele "input type =" Text "...." Boxen, aber ich weiß nicht, wie viele der Benutzer eingibt.und ich Ich möchte nicht, dass die Seite immer aktualisiert wird. Wenn möglich, möchte ich alle Zahlen gleichzeitig an dieselbe Seite oder eine andere Seite senden und ein Array daraus erstellen, damit ich das Programm mit Funktionen ausführen kann, die auf diesem Array basieren.

EDIT: i verwendet zuerst eine <form action="process.php" method=POST> insert values here: <input type="number" name=num><br> <input type="submit" value="send"> </form>

und wusste nicht, was zu tun ist danach dann lese ich über Dateien und verwendet, um dieses Stück Code und es funktionierte. Danke an das Mitglied, das mit jQuery geantwortet hat, aber ich muss noch Java lernen, damit ich es jetzt nicht wirklich benutzen kann. Ich habe letztes Jahr als ein Softwaretechnikerstudent begonnen und weiß noch nicht wirklich viel und so ist es mir peinlich, wenn ich Codes durch andere lese und nicht verstehe

`$ h = fopen (" nummext.txt ", "r");

if($h) { 
    while (($data = fgetcsv($h, 1000, " ")) !== FALSE) { 
     foreach($data as $num) 
      $numbers[] = $num; 
    } 
    fclose($h); 
} 

print_r($numbers); 
echo count($numbers);` 
+1

Haben Sie etwas an Ihrem Ende ausprobiert? –

+0

Ich bin neu in PHP, begann vor drei Monaten und das ist mein erstes Mal, etwas zu machen, habe ich versucht, eine Tag-Eingabe Typ = Text ... mehrere, aber wusste nicht, wie man es verwendet, versuchte von einer anderen Seite und Speichere den Wert dort, aber es wird immer zurückgesetzt, ich habe versucht, den Formularnamen in ex num [] zu ändern, endete aber mit dem gleichen wie zuvor. Ich habe keine Ideen mehr und ich habe nicht genug Erfahrung, um andere Dinge auszuprobieren – Cheezo

+0

Ich würde gerne, Problem ist, dass ein Dr. an meiner Uni den IT-Studenten sagte, ein Programm auf das erste Kapitel des Themas (Wahrscheinlichkeit) zu machen , alle Funktionen, die ich brauche, sind bereit, alles, was ich vermassele, ist das Array von Zahlen, die ich verwenden werde und ich kann keinen Weg finden, einen zu erstellen: / – Cheezo

Antwort

0

Hier ist ein einfacher Ansatz jQuery

var InputHandler = function($el){ 
 
    var t = this; 
 
    this.$el = $el; 
 
    this.sendToServerButton = $el.find("button.sendToServer"); 
 

 
    var newInputElement = '<input type="text" /><br>'; 
 

 
    this.$el.append(newInputElement); 
 

 
    
 
    /** 
 
    on enter: 
 
     add newInputElement and 
 
     change focus to the new 
 
    **/ 
 
    this.$el.on("keyup", "input", function(e){ 
 
    if (e.which !== 13) { 
 
     return false; 
 
    } 
 
    t.$el.append(newInputElement); 
 
    t.$el.find("input:last").focus(); 
 
    }); 
 

 
    
 
    /** 
 
    send to the backend "script.php" as a "stringify" array 
 
    **/ 
 
    this.sendToServer = function(numberArray){ 
 

 
    console.log("sending numbers to the server: ", numberArray); 
 
    var stringForServer = JSON.stringify(numberArray); 
 
    
 
    $.ajax({ 
 
     url: "script.php", 
 
     type: "POST", 
 
     data: ({numberArrayString : stringForServer}), 
 
     success: function(msg){ 
 
     alert("send to server" + msg); 
 
     } 
 
    }); 
 

 

 
    /** 
 
     on the server side in PHP (above called "script.php") do: 
 
     $numberArray= json_decode($_POST['numberArrayString']); // create PHP array from stringify-json string 
 
    **/ 
 

 
    } 
 
    
 

 
    /** 
 
    on click: 
 
     collect numbers from the input fields and send them to the server 
 
    **/ 
 
    this.sendToServerButton.on("click", function(){ 
 
    var numbers = []; 
 
    $el.find("input").each(function(){ 
 
     var numberAsString = $(this).val(); 
 
     var number = parseInt(numberAsString); 
 
     numbers.push(number); 
 
    }); 
 
    t.sendToServer(numbers); 
 
    }); 
 

 
} 
 

 

 
var inputHandler = new InputHandler($(".inputs"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p> 
 
    Enter numbers in the input field. 
 
    Press enter to add additional numbers. 
 
</p> 
 
<div class="inputs"> 
 
    <button class="sendToServer">send to server</button><br> 
 
</div>