anzeigen von session-Variablen
Möchte ich, um alle session-Daten, sondern haben eine gewisse Kontrolle über Sie. das problem ist, ich kann nicht genau wissen, was in der session gespeichert, wie es die Daten aus einem Einkaufswagen.
hier ein Beispiel für eine variable in der session:
item_name_1 : Artikelname
item_quantity_1: 5
jedes Produkte hat einige Variablen mit einer Zahl. Wenn es 2 unterschiedliche Produkte in den Warenkorb gelegt, der zweite würde sein
item_number_2 und so weiter.
gibt es auch eine variable namens itemcount, die erzählt, wie viele verschiedene Produkte werden in den Warenkorb gelegt.
wie kann ich feststellen, php, alle Variablen beginnen mit item_name_ angezeigt werden sollen, zum Beispiel in den einzelnen divs, nachdem alle anderen Variablen, wie der Gesamtpreis?
dies ist, was ich derzeit nutze zu drucken, die session-Daten:
<?php
foreach ($_SESSION as $key=>$val)
echo $key. ": ".$val. "<br>";
?>
dies ist, was ich sehe:
Währung: EUR
Versand: 10
grandTotal: 70.5
itemCount: 4
item_name_1: Tomaten-Suppe
item_quantity_1: 1
item_price_1: 3.5
item_options_1:
item_name_2: Linsen Suppe
item_quantity_2: 14
item_price_2: 3.5
item_options_2:
item_name_3: Huhn Suppe
item_quantity_3: 1
item_price_3: 4.5
item_options_3:
item_name_4: Grüne Blätter, die Suppe
item_quantity_4: 1
item_price_4: 3.5
item_options_4:
Natürlich möchte ich es einfacher machen zu Lesen.
Kann ich verwenden echo $_SESSION['shipping'] für die Versandkosten setzen es, wo immer ich will, aber wie spreche ich die Produkte?
sagen, ich will jedem Produkt angezeigt werden, die innerhalb von div und /div zum Beispiel?
sorry für die noob Frage stellen.
danke
foreach($_POST as $k=>$v) { $_SESSION[$k]=$v; } dies ist, wie ich konvertieren, post-Daten zu sessioon
InformationsquelleAutor user1721135 | 2012-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie können nicht kontrollieren, wie die Daten gespeichert werden, um die Sitzung, die Sie schreiben, könnte eine einfache Hilfsfunktion, die ruft das Produkt der Daten in einem besser nutzbaren format.
Sollte man natürlich hinzufügen ordnungsgemäße Validierung um zu überprüfen, ob die Daten in die $_SESSION-array gesetzt ist, bevor Sie auf es.
Verwenden Sie es wie folgt
sorry syntax-Fehler in der array-Deklaration. bearbeitet die Antwort.
probieren Sie es jetzt wieder. Ich habe die Semikolon im array mit Kommas
thx, nicht immer parser Fehler nicht mehr. Frage, was muss ich tun, um das echo der Inhalt von $Produkt? es gibt mir nicht deklarierte variable Fehler, wenn ich echo $Produkte.
Aktualisiert code-Beispiel zur Verwendung der Funktion
InformationsquelleAutor dag
könnten Sie so etwas plumpes wie diese:
Offensichtlich verarbeiten Sie, was Sie tun, wenn das Spiel erfolgreich ist, aber Sie wollen. Dies ist nur um eine Vorstellung zu geben.
Durch die Art und Weise, zu prüfen, was andere sagen. Wenn Sie die Kontrolle über die session-vars, dann ist es eine bessere Idee to lagern Sie Sie in einer besser organisierten Art und Weise. Diese miesen Beispiel würde mit dem arbeiten, was Sie zur Verfügung gestellt obwohl.
Sie sind definitiv etwas falsch. Aber er fragte, wie, nicht, wie es besser zu machen. Ich würde es nicht verwenden-Sitzung.
diese Art der arbeiten, aber wie würde ich mich über die Kombination verschiedener Dinge, die aus dem gleichen Produkt? dies ist, was ich bis jetzt gemacht : <?php foreach($_SESSION AS $key => $val) if (preg_match("/item_name/i", $key)) echo '<div>'.$val.'</div>'; ?> <?php foreach($_SESSION AS $key => $val) if (preg_match("/item_quantity/i", $key)) echo '<div>'.$val.'</div>'; ?> wie könnte ich Sie kombinieren diese beiden?
sehen Sie, dag die Antwort
es herausgefunden. dies macht eigentlich genau das, was ich will, 10x
InformationsquelleAutor Kai Qing
Wenn Sie beginnen, Fragen sich: "wie gehe ich mit Variablen Variablennamen?" es ist ein gutes Zeichen, du bist in die falsche Richtung. Wie Sie gesehen haben, es ist schwer und unnatürlich Aussehen für
$_SESSION['item_number_$n']
. Was ist einfach, allerdings ist die Schleife durch den Inhalt eines Arrays, die, zum Glück, Sie dürfen zum speichern in die session (die, anders als wie es weiterhin zwischen Seite lädt, ist es nur ein normales array).Ist zu sagen, dass, anstatt zu versuchen, herauszufinden, wie man
$_SESSION['item_number_5']
Sie einfach nur Aussehen bei$_SESSION['shopping_cart'][5]
. Dies macht es leicht zu iterieren durch die Elemente, die Anzahl der Elemente, Elemente hinzufügen, Elemente entfernen und nur im Allgemeinen sauberer arbeiten mit allen über das Brett.InformationsquelleAutor Sean McSomething
Sollte man nicht wirklich verwenden von session-Variablen zu speichern, diese Art von Informationen sowieso. Sollten Sie die Speicherung einer id zur Referenz einen Einkaufswagen innerhalb von einer Datenbank in die session eher als das speichern alle Informationen, die über den Warenkorb direkt in session-Variablen.
InformationsquelleAutor EM-Creations