tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
304
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    xtramen01 xtramen01 ist offline Mitglied Brokat
    Registriert seit
    Mar 2008
    Beiträge
    263
    Hi Leute,

    ich habe ein Session Array das wie folgt ausschaut:

    Array ( [11] => Array ( [0] =>test 1 [1] => test 2 ) )
    Das Array fülle ich folgendermaßen:

    PHP-Code:
    if (isset($_POST['text_id'])) $_SESSION['text_eingabe'] = $_POST['text_id']; 
    Das Textfeld sieht so aus:

    HTML-Code:
    <input type="text" name="text_id[11][]">
    Wenn ich jetzt eine neue Artikelnummer habe z.b. 12 und sende das Formular ab, dann wird die Session nicht erweitert sondern komplett erneuert und der Eintrag mit der id 11 ist weg.

    Kann mir jemand auf die Sprünge helfen?
    Ich will die Session ergänzen und wenn ein Eintrag gesendet wird mit einer id, die in der Session schon existiert, diesen Eintrag überschreiben.

    Habe es so probiert. geht aber auch nicht
    PHP-Code:
    if(array_key_exists($_POST['products_id'], $_SESSION['text_eingabe'])){
           
    $_SESSION['text_eingabe'] = $_POST['text_id'];
        }else{
          
    $_SESSION['text_eingabe'][] = $_POST['text_id'];
        }
        } 
    Gruss und Danke
    Geändert von xtramen01 (26.08.10 um 23:59 Uhr)
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    das sollte so klappen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    if(!isset($_SESSION['text_eingabe']))$_SESSION['text_eingabe']=array();
    if (isset($_POST['text_id']) && is_array($_POST['text_id'])) 
    {
     foreach($_POST['text_id'] as $k=>$v)
     {
       $_SESSION['text_eingabe'][$k] = $v;
     }  
    }

    BTW: wozu hast du das leere Klammerpäärchen im Textfeldnamen?
     

  3. #3
    Registriert seit
    Oct 2008
    Beiträge
    6
    Einfacher wäre die Verwendung der Funktion array_push(...) gewesen: http://php.net/manual/de/function.array-push.php

    Code :
    1
    2
    3
    4
    5
    
    if(array_key_exists($_POST['products_id'], $_SESSION['text_eingabe'])) { 
      $_SESSION['text_eingabe'] = $_POST['text_id']; 
    }else{ 
      array_push($_SESSION['text_eingabe'], $_POST['text_id']); 
    }

    @Sven: Das leere Klammerpärchen könnte er haben, weil er mehrere Felder mit dem Namen text_id[11] hat und ein Array von allen text_id[11]-Felder übergeben bekommen möchte. - Ist aber nur eine Vermutung natürlich.
    Geändert von ManuelHegemann (01.09.10 um 11:26 Uhr)
     

Ähnliche Themen

  1. Einer JComboBox mittels JButton neuen Wert hinzufügen?
    Von Newbieee im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 25.10.06, 20:57
  2. Explorer-Kontextmenü neuen Eintrag hinzufügen
    Von AckiB im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 08.05.06, 15:52
  3. Variable neuen Wert hinzufügen
    Von KrustyDerClown im Forum XML Technologien
    Antworten: 4
    Letzter Beitrag: 31.08.05, 10:14
  4. Im IE neuen Html-Editor hinzufügen
    Von Jan-Frederik Stieler im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 14.06.05, 11:55
  5. Win2k Server - Neuen Dienst hinzufügen
    Von Johannes Postler im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 13.01.04, 18:48