Arraydefinition und Formular

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Arraydefinition und Formular

    Hallo zusammen,

    Ich würde gerne per Formular + Button den Formularinhalt in ein Array schreiben.
    Danach würde ich gerne den Arrayinhalt ausgeben lassen.
    Logisch scheint hier alles richtig, aber irgendwie wird immer der erste Eintrag überschrieben:


    PHP-Quellcode

    1. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
    2. <input name="text" size="100" maxlength="100">
    3. <input type="submit" name="Okay" value="Okay">
    4. <?php array_push($meldung, $_GET['text']); ?>
    5. </form>
    6. <!--------- AUSGABE ----------------->
    7. <hr>
    8. <?php
    9. //echo array_sum($meldung) + "<br>";
    10. for($count = 0; $count <= array_sum($meldung)-1; $count++){
    11. echo $meldung[$count] . " ";
    12. echo "<br>--------------------------------------------------";
    13. }
    14. ?>
    Alles anzeigen


    Das Array wird auch außerhalb definiert und wird included, sodass es nicht überschrieben werden sollte.
    Da das Array (im Vorfeld) keine bestimme Länge hat, würde ich gerne mit array_sum($meldung)-1 die For-Schleife begrenzen.


    Weiß jemand, was hier schief gelaufen sein könnte?

    Danke
  • Hallo,

    danke.
    Die php Fehler sind soweit alle raus. Validiert ist der Code noch nicht, da er nur lokal verfügbar ist und ich ihn noch nicht hochgeladen habe.
    erkennt denn dein /ein geschultes Auge, dass mein Arrayfehler am HTML Code liegt, oder ist das nur ein zusätzliches Feature (das Validieren) ?

    Kann es sein, dass er aus dem indizierten array ein assozitives wurde und ich durch den Schlüssel "test" (Name des Formulars) immer wieder den 1. Eintrag lösche?

    Danke
  • ?? mit meiner Schleife klappt doch alles.
    Ich hatte deine Antwort so interpretiert, als hättest du das bestätigt.

    Ich habe das Thema wieder als "nicht beendet" markiert.
    Der Button müsste ganz unten, neben "Thema abonnieren" sein. Bin leider auch noch nicht so vertraut mit der Funktion, da ich das Feature erst kürzlich installiert habe

  • Der Button müsste ganz unten, neben "Thema abonnieren" sein. Bin leider auch noch nicht so vertraut mit der Funktion, da ich das Feature erst kürzlich installiert habe

    das war aber gestern noch nicht da :D


    Naja, es klappt an sich, allerdings wird nur 1 Wert in meinem Array gespeichert. Wenn ich einen neuen eingeben will, wird der Alte überschrieben. Daher dachte ich daran, dass daraus evtl. ein assoziatives Array gemacht wurde, und er den Wert mit dem Schlüssel "text" immer wieder überschreibt.


    Danke
  • Dann musst du die Daten entweder per GET oder per SESSION durchreichen, oder oder die Daten in einer DB speichern.
    Hier mal die Session Variante:

    Quellcode

    1. <?php
    2. session_start();
    3. $_SESSION['meldung'] = isset($_SESSION['meldung']) ? $_SESSION['meldung'] : array();
    4. if(isset($_GET['text'])) {
    5. $_SESSION['meldung'][] = $_GET['text'];
    6. }
    7. ?>
    8. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
    9. <input name="text" size="100" maxlength="100">
    10. <input type="submit" value="Okay">
    11. </form>
    12. <!--------- AUSGABE ----------------->
    13. <hr>
    14. <?php
    15. $meldung = $_SESSION['meldung'];
    16. for($count = 0; $count < count($meldung); $count++){
    17. echo $meldung[$count] . " ";
    18. echo "<br>--------------------------------------------------<br/>";
    19. }
    20. ?>
    Alles anzeigen