2016-04-06 11 views
-1

Ich konnte keine Antworten auf diese Frage finden, die für mich funktionierte. Ich muss Werte zum array über input Feld hinzufügen. Ich habe versucht mit SESSION, aber es hat auch nicht funktioniert. Bei der Überprüfung des Arrays mit print_r jedes Mal, wenn das Array erneut mit index [0] gestartet wurde, wurden die früheren Benutzereingaben überschrieben, wodurch dem Ende kein neuer Wert hinzugefügt wurde. Aber das Hinzufügen neue Werte in Array Standardmethode, durch neuen Wert erklären funktioniert perfekt:Hinzufügen von Werten in das Array über Eingabeformular

$a = array(); 
$a[] = 5; 
$a[] = 'Hello'; 

usw.

Können Sie mir einen Hinweis geben?

Vielen Dank im Voraus Danny

+0

So etwas wie [Array Merge] (http://php.net/manual/en/function.array-merge.php)? – Chay22

+0

oder 'array_push' ..? [link] (http://php.net/manual/en/function.array-push.php) – Stuart

+0

oder Drücken Array mit Schlüsselname $ a ['k_name'] = "Wert"? –

Antwort

0

Hier gehen Sie. Starten Sie zuerst eine Sitzung. Dann erstellen Sie das Array, wenn es nicht im Session-Array vorhanden ist. Fügen Sie den Wert des angegebenen Feldes inputName hinzu. Der zweite prüft, ob der Wert bereits im Array ist und wenn ja, füge nicht noch einmal hinzu.

Später können Sie auf $_SESSION['myArray'] auf jeder Seite zugreifen.

Vergessen Sie nicht, die Sitzung auf jeder Seite von session_start(); zu starten, wo Sie es verwenden.

<?php 
session_start(); 
//If session array not exists create one 
if (empty($_SESSION['myArray'])) { 
    $_SESSION['myArray'] = array(); 
} 
if (!empty($_GET['inputName'])) { 
    $_SESSION['myArray'][] = $_GET['inputname']; 
} 

//If want to check is the value of inputName exists, and add only once: 
if (!empty($_GET['inputName']) && !in_array($_GET['inputName'], $_SESSOION['myArray'])) { 
    $_SESSION['myArray'][] = $_GET['inputname']; 
} 
?>  
HTML starts here. 
Verwandte Themen