+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: auf bestimmte Werte in foreach zugreifen

  1. #1
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674

    auf bestimmte Werte in foreach zugreifen

    Hallo,

    die Situation ist folgende:
    Ich habe 4 Dokumente mit je einem Formular die mittels einer Session weitergegeben werden. Nach den 4 Doks mit den Forms folgen weitere 4 PHP-Programme die je die Benutzereingaben pro Seite ausgeben.

    Seite 1 | Seite 2 | Seite 3 | Seite 4 | Ausgabe Seite 1 | Ausgabe Seite 2 usw.

    In jedem PHP-Programm werden die Benutzereingaben mit einer foreach-Schleife durchlaufen und ausgegeben. D. h. ich habe 4 verschiedene Schleifen.

    Nun zum Problem.
    Es handelt sich um einen kleinen Test. In welchem man natürlich falsche Eingaben machen kann. Nun möchte ich gerne auf der neunten Seite sowas wie eine Gesamtbewertung (Punktesystem) machen. Dazu muss ich aber auf alle richtigen Antworten der vorhergegangen Schleifen zugreifen können.
    Und da ist der Hacken, mir fällt nix ein wie ich das machen könnte.

    Hoffe ihr habt ne Idee wie ich da ran kann. Danke, Grüsse Sascha
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  2. #2
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.805
    Kleiner Denkanstoss:

    Array erstellen
    Aufgabennummer als Index, "Status" ob richtig oder falsch beantwortet als Wert.
    So würd ich das lösen.
    Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
    -Dieter Nuhr

  3. #3
    TP-Senior Angelmaker ist auf einem guten Weg
    Registriert seit
    Jul 2006
    Ort
    Köln
    Beiträge
    247
    <?php start_session();
    case ($_GET['navigation']) ... // z.B. eine Navi Schleife

    // Fall seite 1
    $_SESSION['Seiten'][0][0]=$_POST['Seite1']['wert1'];
    $_SESSION['Seiten'][0][1]=$_POST['Seite1']['wert2'];
    // und so weiter und so fort. Danach auf Seite 9 durchs Array durch
    ?>

    Auf jeden Fall sollte man es Session basierend lösen, egal ob mit so einem werte Array wie hier oder wie in der Andromir vorgeschlagenen Version, daß jede Seite direkt auf "richtig/falsch" bewertet wird, weil man ansonsten nach dem Abschicken jedes Formulars die Werte der vorherigen Formulare "mit rumschleppt". Das ist Käse.

    Die Array Option in der nur die Werte festgehalten werden, hat den Vorteil, daß man nochmal zurückgehen kann ( wenn man denn diese Option, die recht aufwändig ist, programmieren will ) und das Programm noch die User eingegebenen Werte hat.

    Nuja, happy day und so.
    Ich habe keine Signatur. Dieser Satz kein Verb.

  4. #4
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    Danke mal für die Tipps ihr beiden. Ich mach mich da gleich mal ans Werk.
    Also Bisher hab ich es so gemacht das jedes Form pro Seite auch eine eigene Schleife erhalten hat und somit wird jede Seite direkt auf richtig / falsch geprüft. Das auf der letzten Seite soll ja nur nochmal eine globale Zusammenfassung sein.

    Danke, sollte das nicht so richtig wollen lass ich nochmal von mir hören. Aber zuerst probiere ich es mal aus.
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  5. #5
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    so, da bin ich wieder. Leider bekomme ich die Kurve nicht so richtig.

    Es sind vorerst ma 2 Probleme die ich habe.
    Für jede Seite existiert ein Session-array. Somit habe ich vier Sessions
    $_SESSION['voc']
    $_SESSION['vocV']
    $_SESSION['antwort']
    $_SESSION['text']
    Habe ich denn nun die Möglichkeit diese vier Sessions zu einer zusammenzufassen damit auf der letzten Seite der Zugriff etwas leichter wird. Denn nun brauche ich ja, im gegensatz zu den vorhergegangen Seiten, alle richtigen Antworten aller Sessions in der selben foreach-Schleife.

    die nächste Frage. Wie kann ich die richtigen Antworten zählen lassen damit ich einen Wert erhalte mit dem man rechnen kann. Ich habe es mit count() versucht, erhalte aber bei z. B. drei richtigen Antworten anstatt die Zahl 3, nur dreimal die 1.
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  6. #6
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    PHP-Code:
    $voc =& $_SESSION['voc'];
    $vocV =& $_SESSION['vocV'];
    $antwort =& $_SESSION['antwort'];
    $text =& $_SESSION['text'];

    echo 
    count($voc); 
    geht alles prima, und als Referenz belastet es nicht.


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  7. #7
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    O.K. Ich hab das gleich mal ausprobiert. So werden alle Inhalte des arrays gezählt. Ich brauche aber ja nur die richtigen Antworten. Ich habe das mal so versucht.

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    session_start();

    if(
    $_SESSION['voc'] || $_SESSION['vocV'] || $_SESSION['antwort'] || $_SESSION['text'])
    {
        
    $total = array(
            
    => array('antwort' => 'Car'),
            
    => array('antwort' => 'House'),
            
    => array('antwort' => 'Book'),
            
    => array('antwort' => 'Name'),
            
    => array('antwort' => 'Window'),
            
    => array('antwort' => 'Street'),
            
    => array('antwort' => 'Movie'),
            
    => array('antwort' => 'Time'),
            
    => array('antwort' => 'Father'),
            
    => array('antwort' => 'Animal'),
           
    10 => array('antwort' => 'Mesa'),
           
    11 => array('antwort' => 'Cabeça'),
           
    12 => array('antwort' => 'Terra'),
           
    13 => array('antwort' => 'Cama'),
           
    14 => array('antwort' => 'Mulher'),
           
    15 => array('antwort' => 'Irmão'),
           
    16 => array('antwort' => 'Céu'),
           
    17 => array('antwort' => 'Cabelo'),
           
    18 => array('antwort' => 'Fogo'),
           
    19 => array('antwort' => 'Estrela'),
           
    20 => array('antwort' => 'go'),
           
    21 => array('antwort' => 'see'),
           
    22 => array('antwort' => 'have'),
           
    23 => array('antwort' => 'do'),
           
    24 => array('antwort' => 'can'),
           
    25 => array('antwort' => 'run'),
           
    26 => array('antwort' => 'come'),
           
    27 => array('antwort' => 'fly'),
           
    28 => array('antwort' => 'cry'),
           
    29 => array('antwort' => 'listen'),
           
    30 => array('antwort' => 'pegar'),
           
    31 => array('antwort' => 'amar'),    
           
    32 => array('antwort' => 'precisar'),
           
    33 => array('antwort' => 'fumar'),
           
    34 => array('antwort' => 'comer'),
           
    35 => array('antwort' => 'saber'),
           
    36 => array('antwort' => 'esquecer'),
           
    37 => array('antwort' => 'deixar'),
           
    38 => array('antwort' => 'tentar'),
           
    39 => array('antwort' => 'cortar'),
           
    40 => array('antwort' => 'The telephone is ringing.'),
           
    41 => array('antwort' => 'Of course can I help you.'),
           
    42 => array('antwort' => 'No, they aren\'t.'),
           
    43 => array('antwort' => 'I am 18 years old.'),
           
    44 => array('antwort' => 'Yes, I\'d like to.'),
           
    45 => array('antwort' => 'He studies in New York.'),
           
    46 => array('antwort' => 'fife'),
           
    47 => array('antwort' => 'No, I\'ll go there by car.'),
           
    48 => array('antwort' => 'I\'ll'),
           
    49 => array('antwort' => 'fiveteen'),
           
    50 => array('antwort' => 'good'),
           
    51 => array('antwort' => 'birthday'),
           
    52 => array('antwort' => 'years'),
           
    53 => array('antwort' => 'classmates'),
           
    54 => array('antwort' => 'parents'),
           
    55 => array('antwort' => 'bike'),
           
    56 => array('antwort' => 'bake'),    
           
    57 => array('antwort' => 'drinking')
        );
        
        foreach(
    $total as $key => $value)
        {
            
    $voc =& $_SESSION['voc'][$key];
            
    $vocV =& $_SESSION['vocV'][$key];
            
    $antwort =& $_SESSION['antwort'][$key];
            
    $text =& $_SESSION['text'][$key];
            
            if(isset(
    $voc[$key]))
            {
                if(
    $voc == $value['antwort'])
                {
                    echo 
    count($voc);
                }
            }
        }
    }
    ?>
    Aber ich komme wieder nur bei drei richtigen auf drei Einsen anstatt eine 3.
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  8. #8
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    Also ich nerve jetzt einfach nochmal. Da ich das ca. 600 Zeilen lange Script jetzt umgeschrieben habe, aber irgendwie trozdem nicht dahinter komme.
    Konkret gefragt:
    Wie bekomme ich das Array [test] durch eine foreach-Schleife?
    Code:
    Array
    (
        [test] => Array
            (
                [1] => Array
                    (
                        [0] => car
                        [1] => house
                        [2] => book
                        [3] => name
                        [4] => window
                        [5] => street
                        [6] => movie
                        [7] => time
                        [8] => father
                        [9] => animal
                        [10] => 
                        [11] => 
                        [12] => 
                        [13] => 
                        [14] => 
                        [15] => 
                        [16] => 
                        [17] => 
                        [18] => 
                        [19] => 
                    )
    
                [2] => Array
                    (
                        [20] => go
                        [21] => see
                        [22] => have
                        [23] => do
                        [24] => can
                        [25] => run
                        [26] => come
                        [27] => fly
                        [28] => cry
                        [29] => listen
                        [30] => 
                        [31] => 
                        [32] => 
                        [33] => 
                        [34] => 
                        [35] => 
                        [36] => 
                        [37] => 
                        [38] => 
                        [39] => 
                    )
    
                [3] => Array
                    (
                        [40] => The telephone is ringing.
                        [41] => Of course can I help you.
                        [42] => No, they aren\'t.
                        [43] => I am 18 years old.
                        [44] => Yes, I\'d like to.
                        [45] => He studies in New York.
                        [46] => fife
                        [47] => No, I\'ll go there by car.
                        [48] => I\'ll
                        [49] => fiveteen
                    )
    
            )
    
    )
    Bin echt fast schon am verzweifeln und kurz davor das ganze Ding hinzuschmeissen. Meine bisheriger Versuch sehen so aus.
    PHP-Code:
    <?php

    session_start
    ();
    echo 
    "<pre>" print_r($_SESSIONtrue) . "</pre>";

    if(isset(
    $_SESSION['test']))
    {
        if(
    get_magic_quotes_gpc() && isset($_SESSION['test']))
        {
            
    $_SESSION['test'] = array_map('stripslashes'$_SESSION['test']);
        }
        
        
    // Alle Aufgaben in einem Array ($aufgaben) sammeln
        // Der Wert des Arrays ($aufgaben) ist ein neues Array welches Fragen/Antworten und einen Prüfschlüssel['richtig']
        
    $aufgaben = array( 
        
            
    => array(
                
    'frage' => 'Carro',
                
    'antwort' => array('Car'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Casa',
                
    'antwort' => array('House'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Livro',
                
    'antwort' => array('Book'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Nome',
                
    'antwort' => array('Name'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Janela',
                
    'antwort' => array('Window'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Rua',
                
    'antwort' => array('Street'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Filme',
                
    'antwort' => array('Movie'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Tempo',
                
    'antwort' => array('Time'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Pai',
                
    'antwort' => array('Father'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Animal',
                
    'antwort' => array('Animal'),
                
    'richtig' => 0
            
    ),
            
            
    10 => array(
                
    'frage' => 'Table',
                
    'antwort' => array('Mesa'),
                
    'richtig' => 0
            
    ),
            
            
    11 => array(
                
    'frage' => 'Head',
                
    'antwort' => array('Cabeça'),
                
    'richtig' => 0
            
    ),
            
            
    12 => array(
                
    'frage' => 'Earth',
                
    'antwort' => array('Terra'),
                
    'richtig' => 0
            
    ),
            
            
    13 => array(
                
    'frage' => 'Bed',
                
    'antwort' => array('Cama'),
                
    'richtig' => 0
            
    ),
            
            
    14 => array(
                
    'frage' => 'Woman',
                
    'antwort' => array('Mulher'),
                
    'richtig' => 0
            
    ),
            
            
    15 => array(
                
    'frage' => 'Brother',
                
    'antwort' => array('Irmão'),
                
    'richtig' => 0
            
    ),
            
            
    16 => array(
                
    'frage' => 'Sky',
                
    'antwort' => array('Céu'),
                
    'richtig' => 0
            
    ),
            
            
    17 => array(
                
    'frage' => 'Hair',
                
    'antwort' => array('Cabelo'),
                
    'richtig' => 0
            
    ),
            
            
    18 => array(
                
    'frage' => 'Fire',
                
    'antwort' => array('Fogo'),
                
    'richtig' => 0
            
    ),
            
            
    19 => array(
                
    'frage' => 'Star',
                
    'antwort' => array('Estrela'),
                
    'richtig' => 0
            
    ),
        
            
        );
        
        
    // Nummerierung auf 0 setzten
        
    $nr 0;
        
    // Foreach um das Array $aufgaben zu durchlaufen
        
    foreach($aufgaben as $keyaufgaben => $valueaufgaben)
        {
            
    // Bei jeder Frage Nummer um eins erhöhen
            // Frage Ausgeben
            
    $nr $nr 1;
            echo 
    '<b>' " $nr. " .  $valueaufgaben['frage'] . '</b><br />';
            
            
    // Foreach um die Arrays ( = Values von $aufgaben) zu durchlaufen
            // Diese Arrays sind die Werte des Arrays $aufgaben
            // $valueaufgaben['antworten'] = array_expression
            
    foreach($valueaufgaben['antwort'] as $keyantworten => $valueantworten)
            {
                
    // Arrays ohne Inhalt, richtige Antwort ausgeben
                
    if(empty($_SESSION['test'][$keyaufgaben]) && $valueaufgaben['richtig'] == $keyantworten)
                {
                    echo 
    '<font color="#ff0000">' $valueantworten '</font> You haven´t answered this question!<p />';
                }
                
    // Postarray auf Inhalt prüfen
                // $keyaufgaben greift auf die einzelnen Aufgaben (Frage/Antwort/Vergleichswert 'richtig') zu
                // $keyantworten greift auf das Array mit den einzelnen Antworten der Aufgaben zu 
                
    if(isset($_SESSION['test'][$keyaufgaben][$keyantworten]))
                {
                    
    // Wenn Post dem Wert der Arrays mit dem Index 'antworten' entspricht
                    // und der Index 'antworten' mit dem Wert des Index 'richtig' übereinstimmt
                    // Richtige Antwort in grün ausgeben
                    
    if($_SESSION['test'][$keyaufgaben] == $valueantworten && $valueaufgaben['richtig'] == $keyantworten)
                    {
                        echo 
    '<font color="#00cc00">' $_SESSION['test'][$keyaufgaben] . "</font><p />";
                    }
                    
    // Wenn Post einen anderen Wert des Index 'antworten' entspricht
                    // Falsche Antwort in rot ausgeben
                    // Hier wird die falsche Antwort ausgegeben, der key['richtig'] wird nicht mit den $keyantworten verglichen
                    
    elseif($_SESSION['test'][$keyaufgaben] == $valueantworten)
                    {
                        echo 
    '<font color="#ff0000">' $_SESSION['test'][$keyaufgaben] . '</font><p />';
                    }
                }
            }
        }
    }
    ?>
    Ich habe das Array $aufgaben etwas gekürzt. Das Problem ist das ich nicht weiss wie ich in der foreach-Schleife $_SESSION['test'][1], $_SESSION['test'][2] und $_SESSION['test'][3] einbinden kann.
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  9. #9
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    entweder direkt
    PHP-Code:
    foreach ($_SESSION['test'][1] as $key => $value) {} 
    oder verschachtelt

    PHP-Code:
    foreach ($_SESSION['test'] as $subarray) {
      foreach (
    $subarray as $key => $value) {}


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  10. #10
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    Zitat Zitat von steffenk Beitrag anzeigen
    entweder direkt
    PHP-Code:
    foreach ($_SESSION['test'][1] as $key => $value) {} 
    oder verschachtelt

    PHP-Code:
    foreach ($_SESSION['test'] as $subarray) {
      foreach (
    $subarray as $key => $value) {}

    Habe ich nun versucht aber das Ergebniss lautet
    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\restotal.php on line 319
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  11. #11
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    dann ist es kein array, also vorher abfragen:
    PHP-Code:
    if (is_array($_SESSION['test'])) {
      foreach (
    $_SESSION['test'] as $subarray) {
        if (
    is_array($subarray)) {
           foreach (
    $subarray as $key => $value) {} 
        }
      }


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  12. #12
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    Also steffen, zuerst mal ein dickes Danke für die Hilfestellung. Aber ich glaube ich brauche noch etwas bis ich´s hab. Das ist gerade echt ne Herausforderung für mich.

    Wenn ich es nun so schreibe.
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    session_start();

    if(isset(
    $_SESSION['test']))
    {
        if(
    get_magic_quotes_gpc() && isset($_SESSION['test']))
        {
            
    $_SESSION['test'] = array_map('stripslashes'$_SESSION['test']);
        }
        
        
    // Alle Aufgaben in einem Array ($aufgaben) sammeln
        // Der Wert des Arrays ($aufgaben) ist ein neues Array welches Fragen/Antworten und einen Prüfschlüssel['richtig']
        
    $aufgaben = array( 
        
            
    => array(
                
    'frage' => 'Carro',
                
    'antwort' => array('Car'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Casa',
                
    'antwort' => array('House'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Livro',
                
    'antwort' => array('Book'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Nome',
                
    'antwort' => array('Name'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Janela',
                
    'antwort' => array('Window'),
                
    'richtig' => 0
            
    ),
            
            
    => array(
                
    'frage' => 'Rua',
                
    'antwort' => array('Street'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Filme',
                
    'antwort' => array('Movie'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Tempo',
                
    'antwort' => array('Time'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Pai',
                
    'antwort' => array('Father'),
                
    'richtig' => 0
            
    ),
        
            
    => array(
                
    'frage' => 'Animal',
                
    'antwort' => array('Animal'),
                
    'richtig' => 0
            
    ),
            
        );
        
        if (
    is_array($_SESSION['test'])) 
        {
            foreach (
    $_SESSION['test'] as $subarray
            {            
                echo 
    $_SESSION['test'] . "<br/>";
                
                      if (
    is_array($subarray)) 
                    {
                           foreach (
    $subarray as $key => $value
                        {        
                            echo 
    $subarray['$key'];
                        } 
                    }
            }
        }
    }        
    ?>
    ...erhalte ich als Ausgabe dreimal das Wort Array. Nun nehme ich mal an das es sich hierbei um die $_SESSION['test'][1], [2] und [3] handelt. Alerdings erhalte ich beim $subarray keine Ausgabe. Wenn ich es richtig verstanden habe stellt $subarray nun die Arrays innerhalb der $_SESSION['test']-arrays dar, oder? Ich post mal noch ein Formular, das von der ersten Seite. Im Grunde habe ich alle gleich aufgebaut, also auf der zweiten Seite geht es dan mit name="test[20]" weiter und auf der dritten dann mit name="test[40]" usw.

    PHP-Code:
    <?php
    ini_set
    'session.use_only_cookies''1' );
    ini_set'session.use_trans_sid''0' );

    session_start();
    if(isset(
    $_POST['submit']))
    {
        for(
    $i=0$i count($_POST['test']); $i++)
        {
            
    header('location: index2.php');
        }    
    }
    $_SESSION['test'][1] = $_POST['test'];
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>

    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <meta name="author" content="Sascha Dreher" />

        <title>English Test / Page 1</title>
    </head>

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

        <h1>Page 1 / Vocabulary / Nouns</h1>
        Portuguese - Inglês<p></p>
         1. Carro - <input type="text" name="test[0]" value="<?php echo $_POST['test']; ?>"  /><br />
         2. Casa - <input type="text" name="test[1]" value="<?php echo $_POST['test']; ?>"  /><br />
         3. Livro - <input type="text" name="test[2]" value="<?php echo $_POST['test']; ?>" /><br />
         4. Nome - <input type="text" name="test[3]" value="<?php echo $_POST['test']; ?>" /><br />
         5. Janela - <input type="text" name="test[4]" value="<?php echo $_POST['test']; ?>" /><br />
         6. Rua - <input type="text" name="test[5]" value="<?php echo $_POST['test']; ?>" /><br />
         7. Filme - <input type="text" name="test[6]" value="<?php echo $_POST['test']; ?>" /><br />
         8. Tempo - <input type="text" name="test[7]" value="<?php echo $_POST['test']; ?>" /><br />
         9. Pai - <input type="text" name="test[8]" value="<?php echo $_POST['test']; ?>" /><br />
        10. Animal - <input type="text" name="test[9]" value="<?php echo $_POST['test']; ?>" /><br />
        
        <p></p><br />
        Inglês - Portuguese<p></p>
        
        11. Table - <input type="text" name="test[10]" value="<?php echo $_POST['test']; ?>" /><br />
        12. Head - <input type="text" name="test[11]" value="<?php echo $_POST['test']; ?>" /><br />
        13. Earth - <input type="text" name="test[12]" value="<?php echo $_POST['test']; ?>" /><br />
        14. Bed - <input type="text" name="test[13]" value="<?php echo $_POST['test']; ?>" /><br />
        15. Woman - <input type="text" name="test[14]" value="<?php echo $_POST['test']; ?>" /><br />
        16. Brother - <input type="text" name="test[15]" value="<?php echo $_POST['test']; ?>" /><br />
        17. Sky - <input type="text" name="test[16]" value="<?php echo $_POST['test']; ?>" /><br />
        18. Hair - <input type="text" name="test[17]" value="<?php echo $_POST['test']; ?>" /><br />
        19. Fire - <input type="text" name="test[18]" value="<?php echo $_POST['test']; ?>" /><br />
        20. Star - <input type="text" name="test[19]" value="<?php echo $_POST['test']; ?>" /><br />
        
        
        <input type="submit" name="submit" value="proxima pagina" />
            
    </form>
    </body>
    </html>
    Nun muss ich auf der letzten Seite, eben auf die richtigen Antworten zugreifen und das von allen Seiten. Die Inhalte kommen ja an, hab´s ja mit print_r getestet. Ich schaffe es nur nicht auf alle zuzugreifen. In meinen bestimmt schon 30 verschiedenen versuchen, konnte ich nur das letzte Array ausgeben, weil die vorigen überschrieben wurden.
    Sorry, ich hoff ihr habt noch ein bissle Gedult mit mir?
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  13. #13
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    PHP-Code:
    $_SESSION['test'][1] = $_POST['test']; 
    das ist Unsinn, und der Grund des Überschreibens. Wenn schon, dann
    PHP-Code:
    $_SESSION['test'][] = $_POST['test']; 
    PHP-Code:
    foreach ($_SESSION['test'] as $subarray
            {            
                
    #echo $_SESSION['test'] . "<br/>"; ?????
                
                      
    if (is_array($subarray)) 
                    {
                           foreach (
    $subarray as $key => $value
                        {        
                            
    #echo $subarray['$key']; ?????
                             
    echo 'Key: ' $key ' Wert: ' $value '<br />';
                             
    // oder wenn value auch wieder ein Array ist
                             
    echo 'Key: ' $key ' Wert: ' print_r($valuetrue) . '<br />';
                        } 
                    }
            }
        } 


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  14. #14
    TP-Insider Sascha79 hilft, wo's geht Sascha79 hilft, wo's geht Avatar von Sascha79
    Registriert seit
    Jul 2008
    Ort
    Tübingen
    Beiträge
    674
    Hey steffen,

    also nochmals Danke für deine Mühe, aber es will einfach nicht und bevor es mir jetzt noch den letzte Nerv raubt, lege ich die Sache vorerst mal auf die Seite und versuche es dann vielleicht in ein, zwei Wochen nochmal.

    Das Problem ist immernoch das, das $subarray nix ausspuckt.
    Ich hab den Test hier mal hochgeladen damit ihr ihn euch mal anschauen könnt. Mein kleiner Englischtest

    Ihr könnt das Form auch ohne Inhalt abschicken. Klick euch mal durch dann könnt ihr euch mal die Ausgabe wie sie bis jetzt ist anschauen.
    Das ist noch das erste Script. Es beinhaltet also vier verschieden Sessions. Es ist allerdings noch nicht mit CSS bearbeitet.
    Das Leben ist schön -
    Lehren ist die schönste Methode zu lernen.

  15. #15
    TP-Moderator Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Adromir lebt für das TP und seine User Avatar von Adromir
    Registriert seit
    Jun 2004
    Ort
    Hannover
    Beiträge
    4.805
    Es muss ja auch
    PHP-Code:
    foreach ($_SESSION['test']['0'] as $subarray
    sein, wenn ich mich jetzt nicht total irre

    Ansonsten mach doch mal nach dem Abschicken ein

    echo '<pre>'.$_SESSION['test'].'<>';

    Um zu sehen, ob das Array korrekt aufgebaut ist..
    Geändert von Adromir (22.03.2009 um 22:30 Uhr)
    Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
    -Dieter Nuhr

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Ähnliche Themen

  1. foreach problematik
    Von Xorakh im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 14.11.2008, 15:21
  2. foreach - Invalid argument supplied for foreach()
    Von Markus1979 im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 22.07.2008, 16:26
  3. nur bestimmte Werte verarbeiten, Wert aufteilen?
    Von Tokoloko im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 01.06.2006, 16:36
  4. foreach und reg_exp
    Von Daniel N. im Forum Traum-Dynamik
    Antworten: 9
    Letzter Beitrag: 07.09.2005, 20:31
  5. Mit Netscape 4 auf select-box Werte zugreifen?
    Von nicor im Forum HTML & CSS
    Antworten: 1
    Letzter Beitrag: 09.05.2002, 14:21

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51