tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
338
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Luke85 Luke85 ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    37
    Hallo alle miteinander,

    es geht nun mit großen Schritten nach Vorne.
    Habe mir Session-Tutorials angeschaut und durchgelesen und habe grundlegende Fragen zgl. diesen.
    Ich habe hier mal vorerst ein zweiseitiges Formular, in denen die Eingaben weitergegeben werden müssen, sollen aber nicht sichtbar sein, da die Ausgabe erst am Ende erfolgt mit allen Auswahlen der jeweiligen Formularen.

    Habe mir zwei Seiten erstellt, Arrays namen vergeben und in die Session eingebaut.

    1. Seite
    PHP-Code:
    <?PHP
    session_start
    ();

    $_SESSION['01_daten_auswaehlen_allgemein'] = $_POST;


    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Daten auswaehlen</title>

    <link href="formatierung.css" rel="stylesheet" type="text/css" />

    </head>

    <body>
    <?php
    //  ***************************************** Verbindung zur DB und Fehlermeldungsassistent ***************************************** \\
    // Einbinden der Verbindungsdaten
        
    include("db.inc");
    // Verbindung zum Datenbankserver herstellen
        
    $link=mysql_pconnect($dbserver$dbuser$dbpasswd);
        if (
    $link == FALSE)
        {
            echo 
    "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden. Bitte versuchen Sie es später noch einmal.\n";
            echo 
    "</BODY></HTML>\n"// HTML Dokument abschliessen
            
    exit ();
        }

    // Datenbank auswaehlen
        
    $dblink=mysql_select_db($dbname);
        if (
    $dblink == FALSE)
        {
            echo 
    "<p><b>Leider kann die Datenbank nicht geöffnet werden. Bitte versuchen Sie es später noch einmal.\n";
            echo 
    "</BODY></HTML>\n"// HTML Dokument abschliessen
            
    exit (); // PHP-Script beenden
        
    }
    //  ********************************************************************************************************************************* \\

    ?>

    <p class="Stil1">1. Schritt: Stellen Sie die Parameterauswahl für Allgemeine Parameter zusammen</p>

            <form name="01_daten_auswaehlen_allgemein" action="02_daten_auswaehlen_dcV3.php" method="post">
            <p class="Stil2">Produktnummer angeben: 
            <input name="<?=$_SESSION['prdNr'];?>"  type="text" size="30" maxlength="50" value="prdNr"/>
            /
            <input name="<?=$_SESSION['prdNr_zus'];?>" type="text" size="5"  maxlength="50" value="zus"/>
            /
            <input name="<?=$_SESSION['prdNr_ext'];?>" type="text" size="30" maxlength="50" value="ext"/>
            </p>

      <p class="Stil2">Wählen Sie die gewünschten Parameter aus:</p>

    <?
        $query1 
    "SELECT allgemein_parameter FROM eingabe_allgemein";
        
    $result1 mysql_query($query1) or die (mysql_error());
        while(
    $row=mysql_fetch_assoc($result1))
        {
    ?>
            <table width="405" border="1" cellspacing="0" cellpadding="3" class="Stil2">
            <tr>
            <td width="5"><input type="checkbox" name="<?=$_SESSION['prdpara'];?>" value="<?=$row['allgemein_parameter'];?>"></td>
            <td width="400"><input type="text" name="<?=$_SESSION['wert'];?>" value="<?=$row['allgemein_parameter'];?>" readonly="readonly" size="60"></td>
            </tr>
            </table>
    <?
        
    }
    ?>
            <input type="submit" name="gesendet" value="Weiter">
            </form>

    </body>
    </html>
    2. Seite
    PHP-Code:
    <?PHP
    session_start
    ();


    echo     
    $_SESSION['01_daten_auswaehlen_allgemein'][$prdNr] = $_POST;
            
    $_SESSION['01_daten_auswaehlen_allgemein'][$prdNr_zus] = $_POST;
            
    $_SESSION['01_daten_auswaehlen_allgemein'][$prdNr_ext] = $_POST;
            
    $_SESSION['01_daten_auswaehlen_allgemein'][$prdpara] = $_POST;
            
    $_SESSION['01_daten_auswaehlen_allgemein'][$wert] = $_POST;

    foreach (
    $_SESSION as $key => $value) {
    echo 
    $key."=".$value."<br>";
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Daten auswaehlen</title>



    <link href="formatierung.css" rel="stylesheet" type="text/css" />

    </head>

    <body>
    <?php
    //  ***************************************** Verbindung zur DB und Fehlermeldungsassistent ***************************************** \\
    // Einbinden der Verbindungsdaten
        
    include("db.inc");
    // Verbindung zum Datenbankserver herstellen
        
    $link=mysql_pconnect($dbserver$dbuser$dbpasswd);
        if (
    $link == FALSE)
        {
            echo 
    "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden. Bitte versuchen Sie es später noch einmal.\n";
            echo 
    "</BODY></HTML>\n"// HTML Dokument abschliessen
            
    exit ();
        }

    // Datenbank auswaehlen
        
    $dblink=mysql_select_db($dbname);
        if (
    $dblink == FALSE)
        {
            echo 
    "<p><b>Leider kann die Datenbank nicht geöffnet werden. Bitte versuchen Sie es später noch einmal.\n";
            echo 
    "</BODY></HTML>\n"// HTML Dokument abschliessen
            
    exit (); // PHP-Script beenden
        
    }
    //  ********************************************************************************************************************************* \\
    ?>
    <p class="Stil1">2. Schritt: Stellen Sie die Parameterauswahl für DC Parameter zusammen</p>

            <form name="01_daten_auswaehlen_allgemein" action="01_daten_auswaehlenV2.php" method="post">
            <p class="Stil2">Produktnummer angeben: 
            <input name="<?=$_SESSION['prdNr'];?>"  type="text" size="30" maxlength="50" value="prdNr"/>
            /
            <input name="<?=$_SESSION['prdNr_zus'];?>" type="text" size="5"  maxlength="50" value="zus"/>
            /
            <input name="<?=$_SESSION['prdNr_ext'];?>" type="text" size="30" maxlength="50" value="ext"/>
            </p>

    <p class="Stil2">Wählen Sie die gewünschten Parameter aus:</p>
    <?
        $query2 
    "SELECT dc_parameter FROM eingabe_dc";
        
    $result2 mysql_query($query2) or die (mysql_error());
        while(
    $row=mysql_fetch_assoc($result2))
        {
    ?>
            <table width="405" border="1" cellspacing="0" cellpadding="3" class="Stil2">
            <tr>
            <td width="5"><input type="checkbox" name="<?=$_SESSION['prdpara'];?>" value="<?=$row['dc_parameter'];?>"></td>
            <td width="400"><input type="text" name="<?=$_SESSION['wert'];?>" value="<?=$row['dc_parameter'];?>" readonly="readonly" size="60"></td>
            </tr>
            </table>
    <?
        
    }
    ?>
            <input type="submit" name="gesendet" value="Weiter">
            </form>

    </body>
    </html>
    Meine Ausgabe sieht wie folgt aus:
    Arrayid=a8a0272e2821ae60e3952198e95fe450
    01_daten_auswaehlen_allgemein=Array


    Ich speichere alle Felder in einer Session und geben diese dann einzeln im anderen Formular wieder aus.
    Ist dieser Ansatz richtig oder für die Füß? Oder muss eine andere Lösung her?

    Gruß, Luke.
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du kannst gleich das gesamte $_POST-Array kopieren und musst nicht alle Werte einzeln kopieren.
    PHP-Code:
    if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
        
    $_SESSION['01_daten_auswaehlen_allgemein'] = $_POST;

     
    Markus Wulftange

  3. #3
    Luke85 Luke85 ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    37
    Aah super danke .
    Wie fange ich denn mit der Foreach-Schleife die einzelnen ausgewählten Parameter ab, denn momentan ist die Ausgabe ja total falsch. Und dazugibt er mir die Session-ID aus, was ja gar nicht vorkommen darf.
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wenn du nur die Elemente des $_SESSION['01_daten_auswaehlen_allgemein']-Arrays haben möchtest, musst du auch nur dieses angeben.
     
    Markus Wulftange

  5. #5
    Luke85 Luke85 ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    37
    Habe nach einem erholsamen Wochenende mal das Skript wieder herausgekramt. Bin weiter gekommen, doch stoppe gerade wahrscheinlich an einer simplen Lösung. Folgende Skripte sind vorhanden:

    01_daten_auswaehlen_allgemein.php
    PHP-Code:
    <?php
    if (!isset($_POST['gesendet'])) {
    ?>
    <p class="Stil1">1. Schritt: Stellen Sie die Parameterauswahl für Allgemeine Parameter zusammen</p>

    <form name="01_daten_auswaehlen_allgemein" action="02_daten_auswaehlen_allgemein_auslesen.php" method="post">
            <p class="Stil2">Produktnummer angeben: 
            <input name="<?=$_SESSION['prdNr'];?>"  type="text" size="30" maxlength="50"/>
            /
            <input name="<?=$_SESSION['prdNr_zus'];?>" type="text" size="5"  maxlength="50"/>
            /
            <input name="<?=$_SESSION['prdNr_ext'];?>" type="text" size="30" maxlength="50"/>
            </p>

      <p class="Stil2">Wählen Sie die gewünschten Parameter aus:</p>

    <?
        $query1 
    "SELECT allgemein_parameter FROM eingabe_allgemein";
        
    $result1 mysql_query($query1) or die (mysql_error());
        while(
    $row=mysql_fetch_assoc($result1))
        {
    ?>
            <table width="405" border="0" cellspacing="0" cellpadding="3" class="Stil2">
            <tr>
            <td width="5"><input type="checkbox" name="<?= $_SESSION['allgemein_parameter'];?>" value="<?=$row['allgemein_parameter'];?>"></td>
            <td width="400"><input type="text" value="<?=$row['allgemein_parameter'];?>" readonly="readonly" size="60"></td>

            </tr>
            </table>
    <?
        
    }

    }
    ?>

    <input type="submit" name="gesendet" value="Weiter">
    </form>
    02_daten_auswaehlen_allgemein_auslesen.php
    PHP-Code:
    <?PHP
    error_reporting
    (E_ALL);

    session_start();
    require(
    "db.inc.php");


    if( 
    $_SERVER['REQUEST_METHOD'] == 'POST' ) {
        
    $_SESSION['01_daten_auswaehlen_allgemein'] = $_POST;

        echo 
    "Sie haben Folgende Auswahl getroffen: ";
        echo 
    "<br><br>";
        
        foreach(
    $_SESSION["01_daten_auswaehlen_allgemein"] as $zahl)
        {            
            echo 
    $zahl." <br>";    
        }    
    }
    ?>
    Treffe ich eine Auswahl anhand der Checkboxen im ersten Formular, wird nur eine Auswahl im zweiten Formular ausgegeben. Wie löse ich das Problem?

    Gruß, Luke.
     

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Ich weise dich mal auf die Antwort auf die Frage Wie kann ich Array aus einem HTML-Formular erstellen? der PHP.net-FAQ hin.
     
    Markus Wulftange

Ähnliche Themen

  1. Grundlegende Fragen zu Firmenlogo animieren
    Von Jeannie007 im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 30.06.10, 15:54
  2. [Brainfuck] Grundlegende Fragen
    Von Irgendjemand_1 im Forum Sonstige Sprachen
    Antworten: 4
    Letzter Beitrag: 01.06.08, 02:24
  3. Grundlegende Fragen zu "Session"
    Von Luke85 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 14.11.07, 11:27
  4. Grundlegende Fragen zu asp.Net (v2)
    Von Suchfunktion im Forum ASP
    Antworten: 2
    Letzter Beitrag: 26.01.06, 23:02
  5. Ein paar Grundlegende Fragen
    Von KooF im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 15.03.05, 08:24