Ankündigung

Einklappen
Keine Ankündigung bisher.

Formularauswertung in SQL Datenbank speichern

Einklappen

Neue Werbung 2019

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

  • #31
    Danke für den Code Black Scorp.

    und auf der Letzten Seite dann

    PHP-Code:
    session_start();
    if(
    $_SERVER['REQUEST_METHOD'] === 'POST'){
    if(!isset(
    $_SESSION['post'])){
    $_SESSION['post'] = [];
    }
    $_SESSION['post'][]=$_POST;
    }


    $completePost = array_merge(... $_SESSION['post']);

    Nochmal zum Verständnis, dass ich den Code auch verstanden habe (bringt ja nichts den zu copy pasten wenn ich den nicht verstehe). Also eine Session wird gestartet. Der Server überprüft, ob die Request Methode vom Typ POST ist.
    In der nächsten if anweisung wird nochmal überprüft, ob eine SESSION schon existiert, in dem Fall wenn nicht soll eine SESSION['post'] als Array gespeichert werden.
    Das verstehe ich glaube ich nicht ganz
    PHP-Code:
    $_SESSION['post'][]=$_POST
    ein AArray bekommt nun noch ein Post Array?


    PHP-Code:
    $completePost array_merge(... $_SESSION['post']); 
    und hier speicher ich die einzelnen Arrays von den verschiedenen Seiten in die Variable $completePost

    Kommentar


    • #32
      Du musst uns schon auch den Code zeigen,der zu diesem Ergebnis führt, damit wir dir mitteilen können was du evtl falsch gemacht hast.
      Formulare und Scripte, beides ist notwendig.
      Entschuldige bitte.

      Also das befindet sich in der index.php (quasi Formularseite 1)
      PHP-Code:
      <?php
      session_start
      ();
      $_SESSION['post1'] = $_POST;

      ?>

      <!DOCTYPE html> //die Formularfelder braucht ihr vermutlich nicht
      <html>
      auf der index2.php (Formularseite 2) muss die Bennenung noch ändern; habe ich jetzt ein var_dump eingebaut
      PHP-Code:
      <?php

      session_start
      ();
      $_SESSION['post2'];
      var_dump($_SESSION);

      ?>
      Jetzt dachte ich er kann mir die Ergebnisse von Seite 1 mitanzeigen quasi oder muss ich noch auf den formmailer.php verweisen?

      PHP-Code:
      <?php



      session_start
      ();
      $gesamtesPost array_merge($_POST$_SESSION['seite1'], $_SESSION['post2'], $_SESSION['post3'], $_SESSION['post4'], $_SESSION['post5']);


            if(isset(
      $_POST['absenden']))
            {





              require (
      "inc/confiq.php");

              
      $firmenname $_POST['Firmenname'];
              
      $straße $_POST['StrHaus'];
              
      $plz $_POST['PLZOrt'];
              
      $ansprechpartner $_POST['Ansprechpartner'];
              
      $tel $_POST['Tel'];
              
      $email $_POST['EMail'];

              
      $mitarbeiter $_POST['Mitarbeiter'];
              
      $personaljn $_POST['PersonalJN'];
              
      $umsatz $_POST['Umsatz'];
              
      $kapazität $_POST['Kapa'];

              
      //Abfrage Array für Sortieranlagen
              
      $anzahl1 count ($_POST['Sortieranlage']);

                if (
      $anzahl1 == 1)
                {
                  
      $sortieranlage = ($_POST['Sortieranlage'][0]);
                }
                elseif (
      $anzahl1 1)
                {
                  
      $sa = array();

                  foreach (
      $_POST['Sortieranlage'] as $sortieran)
                  {
                    
      $sa[] = ($sortieran);
                  }
                  
      $sortieranlage implode (','$sa);
                }

              
      //Abfrage Array für Abfälle
              
      $anzahl2 count ($_POST['Abfälle']);

              if (
      $anzahl2 == 1)
              {
                
      $abfall = ($_POST['Abfälle'][0]);
              }
              elseif (
      $anzahl2 1)
              {
                
      $ab = array ();

                foreach (
      $_POST['Abfälle'] as $abfa)
                {
                  
      $ab[] = ($abfa);
                }
                
      $abfall implode (','$ab);
              }

              
      $abfallmengen $_POST['Abfallmengen'];

              
      $hausmüll $_POST['t/a Hausmüll (AS 200301)'];
              
      $hebundesland $_POST['HeBundesland'];
              
      $habundesland $_POST['HaBundesland'];
              
      $hbundesland $_POST['HBundesland'];
              
      $hausland $_POST['HAusland'];

              
      $gewerbeabfälle200301 $_POST['t/a hausmüllähnliche Gewerbeabfälle (AS 200301)'];
              
      $gebundesland $_POST['GeBundesland'];
              
      $gabundesland $_POST['GaBundesland'];
              
      $gbundesland $_POST['GBundesland'];
              
      $gausland $_POST['GAusland'];

              
      $gemsiedlungsabfälle $_POST['gemischte Siedlungsabfälle'];
              
      $sebundesland $_POST['SeBundesland'];
              
      $sabundesland $_POST['SaBundesland'];
              
      $sbundesland $_POST['SBundesland'];
              
      $sausland $_POST['SAusland'];

              
      $gemischtesiedlungsabfälle203099 $_POST['gemischte Siedlungsabfälle (AS 203099)'];
              
      $siebundesland $_POST['SieBundesland'];
              
      $siabundesland $_POST['SiaBundesland'];
              
      $sibundesland $_POST['SiBundesland'];
              
      $siausland $_POST['SiAusland'];

              
      $sortierreste191212 $_POST['Sortierreste (AS 191212)'];
              
      $soebundesland $_POST['SoeBundesland'];
              
      $soabundesland $_POST['SoaBundesland'];
              
      $sobundesland $_POST['SoBundesland'];
              
      $soausland $_POST['SoAusland'];

              
      $verpackungen15 $_POST['Verpackungen (AVV-Kapitel 15)'];
              
      $vebundesland $_POST['VeBundesland'];
              
      $vabundesland $_POST['VaBundesland'];
              
      $vbundesland $_POST['VBundesland'];
              
      $vausland $_POST['VAusland'];


              
      $gesamtabfallmengen2008 $_POST['Gesamtabfallmengen2008'];
              
      $sink2008 $_POST['sink2008'];
              
      $gewerbeabfälle2008 $_POST['hausmüllähnliche Gewerbeabfälle2008'];
              
      $stei2008 $_POST['stei2008'];

              
      //Abfrage Array für Veränderung
              
      $anzahl3 count($_POST['Veränderung']);

              if (
      $anzahl3 == 1)
              {
                
      $veränderung = ($_POST['Veränderung'][0]);
              }
              elseif (
      $anzahl3 1)
              {
                
      $ver = array ();
                foreach (
      $_POST['Veränderung'] as $veränder)
                {
                  
      $ver[] = ($veränder);
                }
                
      $veränderung implode(','$ver);
              }

              
      $gesamtabfallmengen2009 $_POST['Gesamtabfallmengen2009'];
              
      $sink2009 $_POST['sink2009'];
              
      $gewerbeabfälle2009 $_POST['hausmüllähnliche Gewerbeabfälle2009'];
              
      $stei2009 $_POST['stei2009'];

              
      //Abfrage Array für Veränderung2
              
      $anzahl4 count($_POST['Veränderung2']);

              if (
      $anzahl4 == 1)
              {
                
      $veränderung2 = ($_POST['Veränderung2'][0]);
              }
              elseif (
      $anzahl4 1)
              {
                
      $ver2 = array ();
                foreach (
      $_POST['Veränderung2'] as $veränder2)
                {
                  
      $ver2[] = ($veränder2);
                }
                
      $veränderung2 implode(','$ver2);
              }

              
      $gesamtabfallmengen2010 $_POST['Gesamtabfallmengen2010'];
              
      $sink2010 $_POST['sink2010'];
              
      $gewerbeabfälle2010 $_POST['hausmüllähnliche Gewerbeabfälle2010'];
              
      $stei2010 $_POST['stei2010'];

              
      //Abfrage Array für Veränderung3
              
      $anzahl5 count($_POST['Veränderung3']);

              if (
      $anzahl5 == 1)
              {
                
      $veränderung3 = ($_POST['Veränderung3'][0]);
              }
              elseif (
      $anzahl5 1)
              {
                
      $ver3 = array ();
                foreach (
      $_POST['Veränderung3'] as $veränder3)
                {
                  
      $ver3[] = ($veränder3);
                }
                
      $veränderung3 implode(','$ver3);
              }

              
      $wertstoffe $_POST['Wertstoffe'];
              
      $brennstoffe $_POST['Brennstoffe'];
              
      $sortierreste $_POST['Sortierreste'];
              
      $sortierrestever $_POST['SortierresteVer'];
              
      $beseitigung $_POST['Beseitigung'];
              
      $sortierung $_POST['Sortierung'];
              
      $verbrennung $_POST['Verbrennung'];


              
      $kunststoffe $_POST['Kunststoffe'];
              
      $kunststoffetext $_POST['Kunststoffet'];

              
      $kunststoffeum $_POST['KunststoffeUm'];
              
      $kunststoffeumtext $_POST['KunststoffeUmt'];

              
      $kunststoffhohl $_POST['KunststoffeHohl'];
              
      $kunststoffehohltext $_POST['KunststoffeHohlt'];

              
      $kunststoffesons $_POST['KunststoffeSons'];
              
      $kunststoffesonstext $_POST['KunststoffeSonst'];

              
      $papier $_POST['Papier'];
              
      $papiertext $_POST['Papiert'];

              
      $metalle $_POST['Metalle'];
              
      $metalletext $_POST['Metallet'];

              
      $holz $_POST['Holz'];
              
      $holztext $_POST['Holzt'];

              
      $teppiche $_POST['Teppiche'];
              
      $teppichetext $_POST['Teppichet'];

              
      $mfraktion $_POST['mFraktion'];
              
      $mfraktiontext $_POST['mFraktiont'];

              
      $wwertstoffe1 $_POST['wWertstoffe1'];
              
      $wwertstoffe1text $_POST['wWertstoffe1t'];

              
      $wwertstoffe2 $_POST['wWertstoffe2'];
              
      $wwertstoffe2text $_POST['wWertstoffe2t'];

              
      $wwertstoffe3 $_POST['wWertstoffe3'];
              
      $wwertstoffe3text $_POST['wWertstoffe3t'];


              
      $lf $_POST['langfristvertrage'];
              
      $sm $_POST['Spotmengen'];

              
      $datum date("Y-m-d H:i:s");

              
      $stmt $db->prepare("INSERT INTO auswertung ('firmenname', 'straßehausnummer', 'plzort', 'ansprechpartner', 'telefonnummer', 'email', 'mitarbeiter', 'personal', 'umsatz', 'genehmigtekapazität',
              'sortieranlage', 'hausmüllähnlichegewerbeabfälle(AS 200301)', 'Abfallmengen im Jahr 2007 in t/a', 'Hausmüll (AS 200301) in t/a', 'Hausmüll (AS 200301) eigenes Bundesland in %', 'Hausmüll (AS 200301) anderes Bundesland in %', 'Hausmüll (AS 200301) Bundesland',
              'Hausmüll (AS 200301) Ausland', 'hausmüllähnliche Gewerbeabfälle (AS 200301 in t/a)', 'hausmüllähnliche Gewerbeabfälle (AS 200301 in t/a) eigenes Bundesland in %', 'hausmüllähnliche Gewerbeabfälle (AS 200301 in t/a) anderes Bundesland in %', 'hausmüllähnliche Gewerbeabfälle (AS 200301 in t/a) Bundesland',
              'hausmüllähnliche Gewerbeabfälle (AS 200301 in t/a) Ausland in %', 'gemischte Siedlungsabfälle (AS 200301) in t/a', 'gemischte Siedlungsabfälle (AS 200301) eigenes Bundesland in %',
              'gemischte Siedlungsabfälle (AS 200301) anderes Bundesland in %', 'gemischte Siedlungsabfälle (AS 200301) Bundesland', 'gemischte Siedlungsabfälle (AS 200301) Ausland in %', 'gemischte Siedlungsabfälle (AS 203099) in t/a', 'gemischte Siedlungsabfälle (AS 203099) eigenes Bundesland in %', 'gemischte Siedlungsabfälle (AS 203099) anderes Bundesland in %', 'gemischte Siedlungsabfälle (AS 203099) Bundesland', 'gemischte Siedlungsabfälle (AS 203099) Ausland in %',
              'Sortierreste (AS 191212) in t/a', 'Sortierreste (AS 191212) eigenes Bundesland in %', 'Sortierreste (AS 191212) anderes Bundesland in %', 'Sortierreste (AS 191212) Bundesland', 'Sortierreste (AS 191212) Ausland in %', 'Verpackungen (AVV- Kapitel 15) in t/a', 'Verpackungen (AVV- Kapitel 15) eigenes Bundesland in %', 'Verpackungen (AVV- Kapitel 15) anderes Bundesland in %', 'Verpackungen (AVV- Kapitel 15) Bundesland', 'Verpackungen (AVV- Kapitel 15) Ausland in %',
              'Gesamtabfallmengen 2008', 'Gesamtabfallmengen 2008 in %', 'hausmüllähnliche Gewerbeabfälle 2008', 'hausmüllähnliche Gewerbeabfälle 2008 in %', 'Hauptgrund der Veränderung 2008', 'Gesamtabfallmengen 2009', 'Gesamtabfallmengen 2009 in %',
              'hausmüllähnliche Gewerbeabfälle 2009', 'hausmüllähnliche Gewerbeabfälle 2009 in %', 'Hauptgrund der Veränderung 2009', 'Gesamtabfallmengen 2010', 'Gesamtabfallmengen 2010 in %', 'hausmüllähnliche Gewerbeabfälle 2010', 'hausmüllähnliche Gewerbeabfälle 2010 in %', 'Hauptgrund der Veränderung 2010', 'Output Wertstoffe in t/a', 'Output Brennstoffe (AS 191210) zur energetischen Verwertung in t/a', 'Output Sortierreste (AS 191212) zu Sortieranlage in t/a',
              'Output Sortierreste (AS 191212) zur energetischen Verwertung in t/a', 'Output Beseitigung in t/a', 'Output Sortierung in t/a', 'Output Verbrennung in t/a', 'Kunststoffe (Folien)', 'Kunststoffe (Folien) in %', 'Kunststoffe (Umreifungsbänder)', 'Kunststoffe (Umreifungsbänder) in %', 'Kunststoffe (Hohlkörper)',
              'Kunststoffe (Hohlkörper) in %', 'Kunststoffe (sonstige)', 'Kunststoffe (sonstige) in %', 'Papier/Pappe/Kartonagen', 'Papier/Pappe/Kartonagen in %', 'Metalle', 'Metalle in %', 'Holz', 'Holz in %', 'Teppiche', 'Teppiche in %',
              'mineralische Fraktion', 'mineralische Fraktion in %', 'weitere Wertstoffe 1', 'Wertstoffe 1 in %', 'weitere Wertstoffe 2', 'Wertstoffe 2 in %',
              'weitere Wertstoffe 3', 'Wertstoffe 3 in %', 'Langfristverträge', 'Spotmengen', 'Datum') VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
              ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?)"
      );

              
      $stmt->bind_param("sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss"$firmenname$straße$plz$ansprechpartner$tel$email$mitarbeiter$personaljn$umsatz$kapazität$sortieranlage$abfall$abfallmengen$hausmüll$hebundesland$habundesland$hbundesland$hausland$gewerbeabfälle200301$gebundesland$gabundesland$gbundesland$gausland,
              
      $gemsiedlungsabfälle$sebundesland$sabundesland$sbundesland$sausland$gemischtesiedlungsabfälle203099$siebundesland$siabundesland$sibundesland$siausland$sortierreste191212$soebundesland$soabundesland$sobundesland$sausland$verpackungen15$vebundesland$vabundesland$vbundesland,
              
      $vausland$gesamtabfallmengen2008$sink2008$gewerbeabfälle2008$stei2008$veränderung$gesamtabfallmengen2009$sink2009$gewerbeabfälle2009$stei2009$veränderung2$gesamtabfallmengen2010$sink2010$gewerbeabfälle2010$stei2010$veränderung3$wertstoffe$brennstoffe$sortierreste$sortierrestever$beseitigung$sortierung$verbrennung,
              
      $kunststoffe$kunststoffetext$kunststoffeum$kunststoffeumtext$kunststoffhohl$kunststoffehohltext$kunststoffesons$kunststoffesonstext$papier$papiertext$metalle$metalletext$holz$holztext,
              
      $teppiche$teppichetext$mfraktion$mfraktiontext$wwertstoffe1$wwertstoffe1text$wwertstoffe2$wwertstoffe2text$wwertstoffe3$wwertstoffe3text$lf$sm$datum);

              
      $stmt->execute();
              
      $stmt->close();




            }


      ?>

      Kommentar


      • #33
        Der Code hängt jede neue Formulareingabe an die Sessionvariable an, da stehen dann alle drin. Am Ende werden einfach alle zusammengelegt und gleiche Eingaben überschrieben.

        Wobei ich mich frage, ob man das Ergebnis hier nicht einfach vorausnehmen kann und einfach jede Formulareingabe merged, eine Verknüpfung zu einer bestimmten Seite existiert ja nicht mehr, und die Formularfelder müssen ja eh unique sein. In etwa:

        PHP-Code:
        session_start();
        if(
        $_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST)){
                
        $_SESSION['post'] = array_merge($_SESSION['post'] ?? [], $_POST);

        So hättest du nach jeder Formulareingabe immer das fertige Ergebnis.
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #34
          Jetzt dachte ich er kann mir die Ergebnisse von Seite 1 mitanzeigen quasi oder muss ich noch auf den formmailer.php verweisen?
          Das sind ja alles unterschiedliche Scripte, vllt machst du dir mal einen Plan was genau du erreichen willst, so wie ich das verstehe:

          formular1.php => Formulardaten sammeln
          formular2.php => sammeln
          ...
          formmailer.php => in Datenbank schreiben

          Anzeigen lassen kannst du dir die Daten ja jeder Zeit, wenn du session_start() aufgerufen hast.

          Das hier

          Code:
          $_SESSION['post1'] = $_POST;
          führt natürlich dazu, dass du die Daten in der Session einfach leer überschreibst, deswegen hat BlackScorp ja die Bedingungen mit eingebaut. Aber das siehst du auch, wenn du dir $_POST mit var_dump() ausgeben lässt.
          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

          Kommentar


          • #35
            formular1.php => Formulardaten sammeln
            formular2.php => sammeln
            ...
            formmailer.php => in Datenbank schreiben
            Korrekt, das würde ich gerne erreichen, nur am Daten zwischenspeichern hapert es leider
            Hätte aber dann nicht klappen müssen mit var_dump($_SESSION) für Seite 2?

            Kommentar


            • #36
              Was heisst "klappen müssen"? post1 muss halt leer sein, weil du das auf Seite 1 blind überschreibst, und mit post2 machst du gar nichts.
              [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

              Kommentar


              • #37
                Was heisst "klappen müssen"? post1 muss halt leer sein, weil du das auf Seite 1 blind überschreibst, und mit post2 machst du gar nichts.
                Hatte nen Denkfehler drinn... du hast Recht.

                Kommentar


                • #38
                  Zitat von yanikimo Beitrag anzeigen
                  Danke für den Code Black Scorp.



                  Nochmal zum Verständnis, dass ich den Code auch verstanden habe (bringt ja nichts den zu copy pasten wenn ich den nicht verstehe). Also eine Session wird gestartet. Der Server überprüft, ob die Request Methode vom Typ POST ist.
                  In der nächsten if anweisung wird nochmal überprüft, ob eine SESSION schon existiert, in dem Fall wenn nicht soll eine SESSION['post'] als Array gespeichert werden.
                  Das verstehe ich glaube ich nicht ganz
                  PHP-Code:
                  $_SESSION['post'][]=$_POST
                  ein AArray bekommt nun noch ein Post Array?


                  PHP-Code:
                  $completePost array_merge(... $_SESSION['post']); 
                  und hier speicher ich die einzelnen Arrays von den verschiedenen Seiten in die Variable $completePost
                  also aktuell schreibst du ja rein $_SESSION['post1'] , $_SESSION['post2'] usw.. das musst du ja pro seite machen und am ende fügst du alles zu einem array zusammen, es ist sehr unflexibel weil du immer drauf achten must dass post1 befüllt wird usw, stattdessen kannst du

                  $_SESSION['post'][0] = $_POST;
                  $_SESSION['post'][1] = $_POST;

                  schreiben, ein mehrdimensionales array also. die kurzvariante davon ist


                  $_SESSION['post'][] = $_POST;
                  $_SESSION['post'][] = $_POST;

                  hat den Vorteil dass du deine Formen hintereinander schalten willst wie es dir gerade passt.

                  auf der letzten Seite hast du dann in print_r($_SESSION['post']); ein Array mit Arrays mit den Werten von $_POST , damit du diese Dimension auflösen kannst, musst du das so machen
                  $completePost = array_merge(... $_SESSION['post']);

                  das sind die Grundlagen, jetzt ist es so dass du ja nicht einfach ein array Wert an eine Variable anhängen kannst.

                  desswegen prüfe ich vorher, ist denn $_SESSION['post'] in der session definiert? wenn nein, dann erstelle ein leeres array damit man im nächsten Schritt dann ein Wert anhängt.

                  hoffe das ist verständlich

                  vielleicht wäre es so klarer

                  PHP-Code:
                  session_start(); //starte die session damit die $_SESSION variable befüllt wird
                  if($_SERVER['REQUEST_METHOD'] === 'POST'){ //wenn wir eine POST Anfrage haben
                      
                  if(!isset($_SESSION['post']) || !is_array($_SESSION['post'])){ //wenn ich vorher noch NIE das array erstellt habe, lege ein leeres an
                          
                  $_SESSION['post'] = [];
                      }
                  $_SESSION['post'][]=$_POST//hänge ein weiteres Array an das bestehende dran
                  }


                  $completePost array_merge(... $_SESSION['post']); //vereine alle arrays aus dem $_SESSION['post'] zu einem einzigen array 
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                  Kommentar


                  • #39
                    BlackScorp Super verstanden, vielen Dank. Ich probiere es gleich einmal umzusetzen. Wie kann ich der formmailer.php das gesamte Array übergeben.
                    oder brauche ich das garnicht, weil session_start(); die Werte übernimmt bzw dem formmailer.php übergibt?

                    PHP-Code:
                    $completePost array_merge(... $_SESSION['post']); 
                    Was sind die ... in array_merge, wird damit gesagt merge einfach alle Arrays? Sry für die Fragen ...

                    Kommentar


                    • #40
                      also in formmailer.php kannst du folgendes machen

                      PHP-Code:
                      <?php
                      session_start
                      (); //starte die session damit die $_SESSION variable befüllt wird
                      //Hier wie gewohn das POST array in die SESSION speichern
                      if($_SERVER['REQUEST_METHOD'] === 'POST'){ //wenn wir eine POST Anfrage haben
                          
                      if(!isset($_SESSION['post']) || !is_array($_SESSION['post'])){ //wenn ich vorher noch NIE das array erstellt habe, lege ein leeres an
                              
                      $_SESSION['post'] = [];
                          }
                      $_SESSION['post'][]=$_POST//hänge ein weiteres Array an das bestehende dran
                      }
                       
                      //jetzt ALLE FORMEN zusammenfassen zu einem $_POST
                      $_POST array_merge(... $_SESSION['post']);

                            if(isset(
                      $_POST['absenden']))
                            {

                              require (
                      "inc/confiq.php");
                      //weiterer code...
                      zu den drei punkten das ist eine "neue" Syntax, das gibt es seit php 5.6 https://www.php.net/manual/de/functi...iable-arg-list
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                      Kommentar


                      • #41
                        array_merge, sowie alle PHP-Funktionen, die dir unbekannt erscheinen, kannst du im Handbuch nachschlagen einfach in das Suchfeld auf php.de eintragen und dort nachlesen.


                        Dann fehlen die weitere Grundlagen, denn deine NAME Attribute aus dem Formular haben Bezeichner die Probleme machen.
                        PHP-Code:
                        $gewerbeabfälle200301 $_POST['t/a hausmüllähnliche Gewerbeabfälle (AS 200301)']; 
                        Wird niemals so ankommen.
                        PHP macht daraus
                        PHP-Code:
                        t/a_hausmüllähnliche_Gewerbeabfälle_(AS_200301
                        und da hast du noch Glück, solltest du immer die gleiche Zeichencodierung haben, sonst wird das noch schlimmer enden.

                        Es gibt einige Zeichen, die PHP mit dem Unterstrich ersetzt, dazu gehören unter anderem
                        Code:
                        chr(32) ( ) (Leerzeichen)
                        chr(46) (.) (Punkt)
                        chr(91) ([) (öffnende eckige Klammern)
                        chr(128) - chr(159) (diverse andere Zeichen)
                        Am besten nimmst du für die Namen der Parameter nur die Zeichen a-z und den Unterstrich, ohne Sonderzeichen und ohne Grossschreibung.

                        Kommentar


                        • #42
                          BlackScorp habe den Code jetzt eingefügt

                          PHP-Code:
                          <?php
                          session_start
                          (); //starte die session damit die $_SESSION variable befüllt wird
                          if($_SERVER['REQUEST_METHOD'] === 'POST'){ //wenn wir eine POST Anfrage haben
                              
                          if(!isset($_SESSION['post']) || !is_array($_SESSION['post'])){ //wenn ich vorher noch NIE das array erstellt habe, lege ein leeres an
                                  
                          $_SESSION['post'] = [];
                              }
                          $_SESSION['post'][]=$_POST//hänge ein weiteres Array an das bestehende dran
                          }


                          $completePost array_merge(... $_SESSION['post']); //vereine alle arrays aus dem $_SESSION['post'] zu einem einzigen array


                          ?>

                          <!DOCTYPE html>
                          <html>
                          und bekomme folgende Fehlermeldungen

                          Notice: Undefined index: post in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11

                          Warning: Only arrays and Traversables can be unpacked in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11

                          Warning: array_merge() expects at least 1 parameter, 0 given in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11



                          protestix ach du je, okay dann werde ich das jetzt wohl ändern müssen, danke für den Tipp

                          Kommentar


                          • #43
                            Zitat von yanikimo Beitrag anzeigen
                            BlackScorp habe den Code jetzt eingefügt

                            PHP-Code:
                            <?php
                            session_start
                            (); //starte die session damit die $_SESSION variable befüllt wird
                            if($_SERVER['REQUEST_METHOD'] === 'POST'){ //wenn wir eine POST Anfrage haben
                            if(!isset($_SESSION['post']) || !is_array($_SESSION['post'])){ //wenn ich vorher noch NIE das array erstellt habe, lege ein leeres an
                            $_SESSION['post'] = [];
                            }
                            $_SESSION['post'][]=$_POST//hänge ein weiteres Array an das bestehende dran
                            }


                            $completePost array_merge(... $_SESSION['post']); //vereine alle arrays aus dem $_SESSION['post'] zu einem einzigen array


                            ?>

                            <!DOCTYPE html>
                            <html>
                            und bekomme folgende Fehlermeldungen

                            Notice: Undefined index: post in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11

                            Warning: Only arrays and Traversables can be unpacked in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11

                            Warning: array_merge() expects at least 1 parameter, 0 given in C:\xampp\htdocs\Uec Fragebogen\index5.php on line 11

                            ja, du musst schon deine ganzen formulare nach einander ausfüllen bevor du zur letzten form hinkommst und die anderen Formen müssen natürlich auch diesen Part mit session start usw haben. denkst du die variablen befüllen sich von alleine?


                            also noch mal alles von vorn:

                            sessionForm.php
                            PHP-Code:
                            <?php
                            if(!isset($_SESSION['post']) || !is_array($_SESSION['post'])){ //wenn ich vorher noch NIE das array erstellt habe, lege ein leeres an
                            $_SESSION['post'] = [];
                            }
                            if(
                            $_SERVER['REQUEST_METHOD'] === 'POST'){ //wenn wir eine POST Anfrage haben
                            $_SESSION['post'][]=$_POST//hänge ein weiteres Array an das bestehende dran
                            }
                            formular1.php
                            PHP-Code:
                            <?php
                            session_start
                            ();
                            require_once 
                            __DIR__.'/sessionForm.php';
                            ?>
                            dein HTML
                            formular2.php
                            PHP-Code:
                            <?php
                            session_start
                            ();
                            require_once 
                            __DIR__.'/sessionForm.php';
                            ?>
                            dein HTML
                            formular1337.php
                            PHP-Code:
                            <?php
                            session_start
                            ();
                            require_once 
                            __DIR__.'/sessionForm.php';
                            ?>
                            dein HTML
                            formmailer.php
                            PHP-Code:
                            <?php
                            session_start
                            ();
                            require_once 
                            __DIR__.'/sessionForm.php';
                            $_POST array_merge(... $_SESSION['post']);

                            //hier $_POST verabeiten
                            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                            Kommentar


                            • #44
                              ja, du musst schon deine ganzen formulare nach einander ausfüllen bevor du zur letzten form hinkommst und die anderen Formen müssen natürlich auch diesen Part mit session start usw haben. denkst du die variablen befüllen sich von alleine?
                              oh je ist mir das peinlich
                              danke für deine Geduld, ich änder noch fix die Zeichencodierung und probiere es erneut ^^

                              Kommentar


                              • #45
                                Zitat von yanikimo Beitrag anzeigen

                                oh je ist mir das peinlich
                                danke für deine Geduld, ich änder noch fix die Zeichencodierung und probiere es erneut ^^
                                schau was ich davor geschrieben habe, ich habe den code in eine extra datei ausgelagert und dann in jeder Form einfach includet.

                                Kannst ja auf meinem Youtube Kanal vorbeischauen, vielleicht lernst du dort das Eine oder Andere
                                apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                                Kommentar

                                Lädt...
                                X