Datenübergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenübergabe

    moin

    ich habe ein problem:

    mein ziel ist es, daten einer anmeldung zu erfassen. dies würde ich gerne in etwa so machen:

    PHP-Code:
            echo "<form action=\"$_SERVER[PHP_SELF]\" method=POST>";

    // ausführen einer SQL Anfrage
    $query "SELECT * FROM Wettkampf";
    $result mysql_query($query)
    or die(
    "Anfrage fehlgeschlagen");
            
            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Anlass auswählen:</b></td>";
                echo 
    "<div align=\"left\"><td colspan=\"10\"><select>";
                
                while(
    $row mysql_fetch_array($resultMYSQL_ASSOC)) {
                echo 
    "<option value=\"$row[ID]\">$row[Name]</option>";
                }
                echo 
    "</select></div></td>";
                echo 
    "<input type=hidden name=\"wettkampfid\" value=\"$row[ID]\"></div></td>";
            echo 
    "</tr>";
            
    // Freigeben des Resultats
    mysql_free_result($result);

    $query "SELECT * FROM Verein WHERE RefNr = $Verein";
    $result mysql_query($query)
    or die(
    "Anfrage fehlgeschlagen");

            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Verein:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\"><input name=\"verein\" size=\"30\">";
                    echo 
    "<input type=hidden name=\"vereinname\" value=\"$_POST[verein]\"></div></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Name:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\"><input name=\"name\" size=\"30\">";
                    echo 
    "<input type=hidden name=\"namename\" value=\"$_POST[name]\"></div></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Vorname:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\"><input name=\"vorname\" size=\"30\">";
                    echo 
    "<input type=hidden name=\"vornamename\" value=\"$_POST[vorname]\"></div></td>";
            echo 
    "</tr>";
            ...
            echo 
    "<tr>";
                echo 
    "<td><h3>TurnerInnen</h3></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Nummer:</b></td>";
                echo 
    "<td align=\"left\" colspan=\"4\"><b>Name:</b></td>";
                echo 
    "<td align=\"left\" colspan=\"4\"><b>Vorname:</b></td>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Jahrgang:</b></td>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Kat.prüfung</b></td>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Ausweis:</b></td>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Abzeichen</b></td>";
                echo 
    "<td align=\"left\" colspan=\"2\"><b>Kategorie</b></td>";
            echo 
    "</tr>";    
        
            for(
    $i=1;$i<=$Turner;$i++)
            {        
                echo 
    "<tr>";
                    echo 
    "<td align=\"center\" colspan=\"2\"><b>$i</b></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"4\"><input name=\"namet\">";
                    echo 
    "<input type=hidden name=\"nametname\" value=\"$_POST[namet]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"4\"><input name=\"vornamet\">";
                    echo 
    "<input type=hidden name=\"vornametname\" value=\"$_POST[vornamet]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\"><input size=\"4\" name=\"jahrgangt\">";
                    echo 
    "<input type=hidden name=\"jahrgangtname\" value=\"$_POST[jahrgangt]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\"><input type=\"checkbox\" name=\"prufungt\">";
                    echo 
    "<input type=hidden name=\"prufungtname\" value=\"$_POST[prufungt]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\"><input type=\"checkbox\" name=\"ausweist\">";
                    echo 
    "<input type=hidden name=\"ausweistname\" value=\"$_POST[ausweist]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\"><input type=\"checkbox\" name=\"abzeichent\">";
                    echo 
    "<input type=hidden name=\"abzeichentname\" value=\"$_POST[abzeichent]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\"><input size=\"2\" name=\"kategoriet\">";
                    echo 
    "<input type=hidden name=\"kategorietname\" value=\"$_POST[kategoriet]\"></div></td>";
                echo 
    "</tr>";
                
                
    $nametarray[$i] = $_POST[namet];
                
    $vornametarray[$i] = $_POST[vornamet];
                
    $jahrgangtarray[$i] = $_POST[jahrgangt];
                
    $prufungtarray[$i] = $_POST[prufungt];
                
    $ausweistarray[$i] = $_POST[ausweist];
                
    $abzeichentarray[$i] = $_POST[abzeichent];
                
    $kategorietarray[$i] = $_POST[kategoriet];
                
            }
            
                
    $array1 implode("||"$nametarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array1\">";
                
    $array2 implode("||"$vornametarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array2\">";
                
    $array3 implode("||"$jahrgangtarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array3\">";
                
    $array4 implode("||"$prufungtarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array4\">";
                
    $array5 implode("||"$ausweistarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array5\">";
                
    $array6 implode("||"$abzeichentarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array6\">";
                
    $array7 implode("||"$kategorietarray); 
                echo 
    "<input type=hidden name=\"namearray\" value=\"$array7\">";
            
            echo 
    "</form>"
    zur verdeutlichung:

    oben hab ich ein forumular für die kontaktperson. da kann der anlass ausgewählt werden. der name eingetragen, adresse etc (hab ich teilweise zur übersichtlichkeit rausgelöscht!)
    danach kommen die daten für die teilnehmer. dieses forumular wird per for-schleife aufgebaut.
    die daten dann in ein array gespeichert und in einen string umgewandelt.

    PHP-Code:
    $namet explode("||"$array1);
    $vornamet explode("||"$array2);
    $jahrgangt explode("||"$array3);
    $prufungt explode("||"$array4);
    $ausweist explode("||"$array5);
    $abzeichent explode("||"$array6);
    $kategoriet explode("||"$array7);

            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Verein:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\">$_POST[verein]";
                    echo 
    "<input type=hidden name=\"vereinname\" value=\"$_POST[verein]\"></div></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Name:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\">$_POST[name]";
                    echo 
    "<input type=hidden name=\"namename\" value=\"$_POST[name]\"></div></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"right\" colspan=\"10\"><b>Vorname:</b></td>";
                    echo 
    "<div align=\"left\"><td colspan=\"10\">$_POST[vorname]";
                    echo 
    "<input type=hidden name=\"vornamename\" value=\"$_POST[vorname]\"></div></td>";
            echo 
    "</tr>";

            echo 
    "<tr>";
                echo 
    "<td><h3>TurnerInnen</h3></td>";
            echo 
    "</tr>";
            echo 
    "<tr>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Nummer:</b></td>";
                echo 
    "<td align=\"center\" colspan=\"4\"><b>Name:</b></td>";
                echo 
    "<td align=\"center\" colspan=\"4\"><b>Vorname:</b></td>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Jahrgang:</b></td>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Kat.prüfung</b></td>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Ausweis:</b></td>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Abzeichen</b></td>";
                echo 
    "<td align=\"center\" colspan=\"2\"><b>Kategorie</b></td>";
            echo 
    "</tr>";        
        
            for(
    $i=1;$i<=$Turner;$i++)
            {
            
    $namea $namet[$i];
            
    $vornamea $vornamet[$i];
            
    $jahrganga $jahrgangt[$i];
            
    $prufunga $prufungt[$i];
            
    $ausweisa $ausweist[$i];
            
    $abzeichena $abzeichent[$i];
            
    $kategoriea $kategoriet[$i];
                echo 
    "<tr>";
                    echo 
    "<td align=\"center\" colspan=\"2\"><b>$i</b></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"4\">$_POST[namea]";
                    echo 
    "<input type=hidden name=\"nametname\" value=\"$_POST[namea]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"4\">$_POST[vornamea]";
                    echo 
    "<input type=hidden name=\"vornametname\" value=\"$_POST[vornamea]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\">$_POST[jahrganga]";
                    echo 
    "<input type=hidden name=\"jahrgangtname\" value=\"$_POST[jahrganga]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\">$_POST[prufunga]";
                    echo 
    "<input type=hidden name=\"prufungtname\" value=\"$_POST[prufunga]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\">$_POST[ausweisa]";
                    echo 
    "<input type=hidden name=\"ausweistname\" value=\"$_POST[ausweisa]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\">$_POST[abzeichena]";
                    echo 
    "<input type=hidden name=\"abzeichentname\" value=\"$_POST[abzeichena]\"></div></td>";
                    echo 
    "<div align=\"center\"><td colspan=\"2\">$_POST[kategoriea]";
                    echo 
    "<input type=hidden name=\"kategorietname\" value=\"$_POST[kategoriea]\"></div></td>";
                echo 
    "</tr>";                

            } 
    hier sollte dann das ganze wieder in ein array und dann per for-schleife angezeigt werden. so als vorschau.

    PROBLEM:

    1. der anlass wird so net übernommen. ich weiss net wo das problem ist.

    2. das mit dem array geht so auch nicht. könnt ihr mir weiterhelfen?

    danke schön.

    Soc
    Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

  • #2
    1. Der Anlass wird nicht genommen, weil Du dem <select> keinen namen gegeben hast
    2. Du benutzt die ganzen gesetzten variablen doch gar nicht was soll da denn funktionieren? Woher kommt $Turner?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      $Turner kommt von nem formular vorher. das funkt soweit.

      wie meinst das, das ich die variablen net nutze?
      Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

      Kommentar


      • #4
        Wo werden die in deinem code benutzt?
        $namea = $namet[$i];
        $vornamea = $vornamet[$i];
        $jahrganga = $jahrgangt[$i];
        $prufunga = $prufungt[$i];
        $ausweisa = $ausweist[$i];
        $abzeichena = $abzeichent[$i];
        $kategoriea = $kategoriet[$i];
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Wenn ich dich richtig verstehe, ist der obere gepostete Code von dir das Eingabeformular. Aber wo kommen die Post Variablen her die du innerhalb des Formulares benutzt ? Wird das Formular nach abschicken gleich wieder aufgerufen ?

          PHP-Code:
          $nametarray[$i] = $_POST[namet];
                      
          $vornametarray[$i] = $_POST[vornamet];
                      
          $jahrgangtarray[$i] = $_POST[jahrgangt];
                      
          $prufungtarray[$i] = $_POST[prufungt];
                      
          $ausweistarray[$i] = $_POST[ausweist];
                      
          $abzeichentarray[$i] = $_POST[abzeichent];
                      
          $kategorietarray[$i] = $_POST[kategoriet];
                      
                  }
                  
                      
          $array1 implode("||"$nametarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array1\">";
                      
          $array2 implode("||"$vornametarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array2\">";
                      
          $array3 implode("||"$jahrgangtarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array3\">";
                      
          $array4 implode("||"$prufungtarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array4\">";
                      
          $array5 implode("||"$ausweistarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array5\">";
                      
          $array6 implode("||"$abzeichentarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array6\">";
                      
          $array7 implode("||"$kategorietarray); 
                      echo 
          "<input type=hidden name=\"namearray\" value=\"$array7\">";
                  
                  echo 
          "</form>"
          Du willst, im hier zitierten unteren Teil, Arrays über die Form verschicken deren Inahlte erst vorhanden sind, wenn das Formular bereits einmal abgeschickt wurde.

          Oder versteh ich da jetzt was falsch.
          Kannst du nochmal den Zusammenhang des Codes erklären ? Welche Variablen sind bereits gesetzt sobald die Form aufgerufen ? wird

          Kommentar


          • #6
            @ MelloPie

            PHP-Code:
                    for($i=1;$i<=$Turner;$i++)
                    {
                    
            $namea $namet[$i];
                    
            $vornamea $vornamet[$i];
                    
            $jahrganga $jahrgangt[$i];
                    
            $prufunga $prufungt[$i];
                    
            $ausweisa $ausweist[$i];
                    
            $abzeichena $abzeichent[$i];
                    
            $kategoriea $kategoriet[$i];
                        echo 
            "<tr>";
                            echo 
            "<td align=\"center\" colspan=\"2\"><b>$i</b></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"4\">$_POST[namea]";
                            echo 
            "<input type=hidden name=\"nametname\" value=\"$_POST[namea]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"4\">$_POST[vornamea]";
                            echo 
            "<input type=hidden name=\"vornametname\" value=\"$_POST[vornamea]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"2\">$_POST[jahrganga]";
                            echo 
            "<input type=hidden name=\"jahrgangtname\" value=\"$_POST[jahrganga]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"2\">$_POST[prufunga]";
                            echo 
            "<input type=hidden name=\"prufungtname\" value=\"$_POST[prufunga]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"2\">$_POST[ausweisa]";
                            echo 
            "<input type=hidden name=\"ausweistname\" value=\"$_POST[ausweisa]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"2\">$_POST[abzeichena]";
                            echo 
            "<input type=hidden name=\"abzeichentname\" value=\"$_POST[abzeichena]\"></div></td>";
                            echo 
            "<div align=\"center\"><td colspan=\"2\">$_POST[kategoriea]";
                            echo 
            "<input type=hidden name=\"kategorietname\" value=\"$_POST[kategoriea]\"></div></td>";
                        echo 
            "</tr>";                

                    } 
            ich dachte das ist das hier...
            Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

            Kommentar


            • #7
              @ ExInfernis

              das formular ist am anfang leer.
              dann werden die daten eingefüllt und mit dem vorschau-button (wird hier net gezeigt) sollte dann das forumular mit den gefüllten werten angezeigt werden.

              in der ersten for-schleife will ich das leere formular machen. und die daten in das array füllen...

              und dann in der zweiten for-schleife (im 2. formular) das ganze wieder ausgeben.

              Soc
              Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

              Kommentar


              • #8
                PHP-Code:
                $_POST[namea
                ist was anderes als
                PHP-Code:
                $namea 
                PHP-Code:
                $_POST[namea
                hat nur einen Wert, wenn diese Variable auch über POST verschickt wurde, sie deine Seite als POST-Variable übermittelt bekommt.

                Dein Code müsste also so lauten :

                PHP-Code:
                ...
                echo 
                "<tr>";
                                echo 
                "<td align=\"center\" colspan=\"2\"><b>$i</b></td>";
                                echo 
                "<div align=\"center\"><td colspan=\"4\">".$namea;
                                echo 
                "<input type=hidden name=\"nametname\" value=".$namea."></div></td>";
                                echo 
                "<div align=\"center\"><td colspan=\"4\">".$vornamea;

                ... 

                Kommentar


                • #9
                  PHP-Code:
                          echo "<tr>";
                              echo 
                  "<td align=\"right\" colspan=\"10\"><b>Anlass auswählen:</b></td>";
                              echo 
                  "<td align=\"left\" colspan =\"10\"><select name=\"Anlass\">";
                              
                  // ausführen einer SQL Anfrage            
                  $query "SELECT * FROM Wettkampf";
                  $result mysql_query($query)
                  or die(
                  "Anfrage fehlgeschlagen");

                              while(
                  $row mysql_fetch_array($resultMYSQL_ASSOC)) {
                              echo 
                  "<option value=\"$row[ID]\">$row[Name]</option>";
                              }
                              echo 
                  "<input type=hidden name=\"wettkampfid\" value=\"$row[ID]\"></div></td>";
                              echo 
                  "</select></div></td>";

                          echo 
                  "</tr>"
                  nach senden:

                  PHP-Code:
                          echo "<tr>";
                              echo 
                  "<td align=\"right\" colspan=\"10\"><b>Anlass auswählen:</b></td>";
                              
                  // ausführen einer SQL Anfrage
                  $query "SELECT * FROM Wettkampf";
                  $result mysql_query($query)
                  or die(
                  "Anfrage fehlgeschlagen");            
                                   
                               while (
                  $row mysql_fetch_array($resultMYSQL_ASSOC)) {
                                   
                  $selected = ($row[ID] == $wettkamfpid) ? "selected" "";
                                  echo 
                  "<option value=\"$row[id]\" $selected >$row[name]</option>";
                               }
                          echo 
                  "</tr>"
                  das mit den select geht leider noch net

                  und auch das mit ExInfernis' Code läuft net...
                  Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

                  Kommentar


                  • #10
                    das mit den select geht leider noch net
                    geht nicht?

                    - haste mal den erzeugten code angeschaut?
                    - nimm das array ausm string
                    - setzt die indizies mal in '
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      momentan versteh ich glaub nur bahnhof...

                      vielleicht soll ich mal drüber schlafen
                      Ich habe mir angewöhnt, von einem Auftreten der integralen Anomalie bis zum Auftreten der nächsten zu zählen. In diesem Fall wäre das die sechste Version.

                      Kommentar


                      • #12
                        Ich glaube du machst das ganze ein wenig zu kompliziert.

                        Das Formular wird angezeigt, der User gibt Daten ein und schickt sie ab. Die Daten werden als reines HTML ausgegeben und unterhalb dieser reinen HTML-Ausgabe auch nochmal im Formular, oder ??

                        Also ähnlich diesem Formular hier auf php-resource.de, Man klickt auf Vorschau, und die Daten werden angezeigt und darunter in ein Formular geladen, oder anders ?

                        Wenn ich richtig liege, hätte ich ein paar tips.

                        Der grobe Seitenaufbau :

                        PHP-Code:
                        function formular($array="")
                            {
                                
                        //-- Hier kommen die Formulartags rein
                                
                        ...
                                echo 
                        "<input name=\"preview\" type=\"submit\" value=\"preview\">"//-- Button für Preview
                                
                        echo "<input name=\"write\" type=\"submit\" value=\"write\">"//-- Button für Write
                                
                        ...
                            }

                        function 
                        show($array="")
                            {
                                
                        //-- Ausgabe der eingegebenen Daten in Schöner Tabelle
                            
                        }
                            
                        //--Eigentliche Seite beginnt nun hier

                        if(!$preview && !$write)//-- Buttons wurden noch nicht gedrückt
                            
                        {
                                
                        formular(''); //-- Leeres Formular wird angezeigt
                            
                        elseif($preview)
                            {
                                
                        //-- Speichern der $_POST Vars in Array
                                
                        $array[] ...
                                
                        //-- Ausgabe der Daten als HTML
                                
                        show($array);
                                
                        //-- Anzeigen des Formulares
                                
                        formular($array);
                            }
                        elseif(
                        $write)
                            {
                                
                        //--Schreiben der Daten
                                
                        write();
                            } 
                        So würde ich es versuchen, vielleicht auch nicht ideal, aber es müsste funktionieren.
                        Aber vielleicht kommt Dir im Traum heut Nacht der Geitesblitz und du löst deine Probleme morgen ganz easy.

                        N8

                        Kommentar

                        Lädt...
                        X