Ck2513
Ck2513

Reputation: 107

How to saving in HTML form variables in session?

I have following form structure for 7 different sites:

<div class="row">
<!-- Formular start -->
<form id="formular" action="datenbankanbindung.php" method="POST">
    <!--  Vorschläge für Bedarfe an Mitarbeiterinformation -->
    <div class="col-sm-12 col-md-12 col-lg-12">
        <div class="card">
            <div class="card-header"  data-background-color="purple">
                <h4 class="title">7. Vorschl&auml;ge für Bedarfe an Mitarbeiterinformation</h4>
                <p class="category"></p>
            </div>

            <div class="card-content">
                <!--7.1-->
                <div class="row">
                    <div class="col-sm-12 col-md-12 col-lg-4">
                        <div class="form-group label-floating optimaler-abstand">
                            <div class="label">
                                <label for="ThemenvorschlaegeFreitagsmail"> 
                                    <div class="aufzählung">7.1
                                    </div> 
                                    <div class="beschreibung">Themenvorschl&auml;ge Freitagsmail</div>
                                </label>
                                <textarea class="form-control" id="ThemenvorschlaegeFreitagsmail" name="name_ThemenvorschlaegeFreitagsmail" rows="1" maxlength="250"></textarea>
                            </div>
                        </div>
                    </div>
                    <!--7.2-->
                    <div class="col-sm-12 col-md-12 col-lg-4">
                        <div class="form-group label-floating optimaler-abstand">
                            <div class="label">
                                <label for="AenderungsbedarfeInformationsmedien"> 
                                    <div class="aufzählung">7.2
                                    </div> 
                                    <div class="beschreibung">&Auml;nderungsbedarfe in Informationsmedien des Kreises (Internet/Intranet), die nicht &uuml;ber die Beauftragten der Gesch&auml;fts- und Fachbereiche gel&ouml;st werden k&ouml;nnen.</div>
                                </label>
                                <textarea class="form-control" id="AenderungsbedarfeInformationsmedien" name="name_AenderungsbedarfeInformationsmedien" rows="1" maxlength="250"></textarea>
                            </div>
                        </div>
                    </div>
                    <!--7.3-->
                    <div class="col-sm-12 col-md-12 col-lg-4">
                        <div class="form-group label-floating optimaler-abstand">
                            <div class="label">
                                <label for="VorschlaegePressemitteilungen"> 
                                    <div class="aufzählung">7.3
                                    </div> 
                                    <div class="beschreibung">Vorschl&auml;ge für Pressemitteilungen</div>
                                </label>
                                <textarea class="form-control" id="VorschlaegePressemitteilungen" name="name_VorschlaegePressemitteilungen" rows="1" maxlength="250"></textarea>
                            </div>
                        </div>
                    </div>
                </div>  
                <!-- Button -->
                <div class="row">
                    <!--absenden-->
                    <div style="float:right">
                        <button class="btn btn-primary" type="submit" id="button">absenden</button>
                    </div>
                    <!--Eingaben speichern-->
                    <div style="float:right">
                        <button class="btn btn-primary" id="button" onclick="eingaben_speichern()">Eingaben speichern</button>
                    </div>
                </div>  
            </div>  
        </div>  
    </div>
</form> 

Now I want store all variables into a session that i can save them into my database at the end of the last site.

The only thing i do was pasting this code at the beginning of each site:

<?php
 session_start();
 foreach ($_POST as $key => $value) {
 $_SESSION['post'][$key] = $value;
 }
?>

and in my database.php I pastes this code:

<?php
  session_start();
   foreach ($_POST as $key => $value) {
     $_SESSION['post'][$key] = $value;
   }
  //function to extract array
  extract($_SESSION['post']); 
?>

But no variable was pasted into my database.

I have to say that the database and everything works fine because before I made 7 different sites I had one site with all form elements and it worked fine.

Could be this maybe a solution?

<?php
$_SESSION['name'] = "wert";
 ?>

Do I have to store every name of each form field into a session variable? Or is there a possibility to do this with a foreach?

EDIT: This is my database.php. When database.php is executed it wirtes me an empty row in my database.

<?php

    session_start();
    if (!empty($_POST)) {
        $_SESSION['post'] = $_POST; 
    }

    //blendet alle Meldungen (Notizen) aus.
    ini_set('display_errors','off'); 

    //Tabelle Landrat
    //Datenbankverbindung herstellen 
        function Connect()
        {
         $dbhost = "localhost";
         $dbuser = "root";
         $dbpass = "";
         $dbname = "landrat";

        $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
        //Kodierung auf UTF-8 stellen, da sonst Umlaute falsch dargestellt werden 
        $conn->set_charset("utf8");

        return $conn;
        }

    //Notizen beim Ausführen können vernachlässigt werden -> werden mit obiger Anweisung ausgeblendet
    //Variablen den einzelnen Formlarfeldern zuweisen und mit Datenbank verbinden
        $conn = Connect();

    //Datum
        $date = date("Y-m-d");

    //In welche Tabelle soll alles gespeichert werden? Alle Eingaben in die jeweiligen Spalten schreiben
        $query  = "INSERT into landrat_dashboard (name_Gleitzeitrahmen,name_Abweichungen,name_Mehrarbeitervolumen,name_Mehrarbeit1,name_Ausgleich,name_Mehrarbeit2,name_Personalmassnahmen,
        name_Ueberstunden_abzusehen,name_Klaerungsbedarfe1,name_Klaerungsbedarfe2,name_durchgefuehrt,name_abgelehnt,name_offen,name_Fortbildungsantraege,name_Antraege_genehmigt,name_Antraege_abgelehnt,
        name_Fortbildung,name_Fachbereichsleiterbesprechungen,name_Datum1,name_Datum2,name_Datum3,name_Datum4,name_Datum5,name_Themen, name_Fragestellungen,name_NeueMitarbeiter,name_BekannteFluktuation,
        name_Geschaeftsverteilungsaenderungen,name_Raumplanung,name_Verwaltungsverfahren,name_ITEinsatz,name_Kooperationen,name_ProjekttitelA,name_ProjektverantwortlicheA,name_ZeitplanA,name_BudgetA,name_ProjekttitelB,
        name_ProjektverantwortlicheB,name_ZeitplanB,name_BudgetB,name_ProjekttitelC,name_ProjektverantwortlicheC,name_ZeitplanC,name_BudgetC,name_ProjekttitelD, name_ProjektverantwortlicheD, 
        name_ZeitplanD,name_BudgetD,name_ProjekttitelE,name_ProjektverantwortlicheE,name_ZeitplanE,name_BudgetE,name_Kreisentwicklungskonzept,name_Kooperation1,name_Kooperation2,name_StatusberichtA,
        name_StatusberichtB,name_StatusberichtC,name_StatusberichtD,name_StatusberichtE,name_Fallzahlenentwicklungen,name_Haushaltsansaetze,name_AnzeichenAbweichung1,name_OffeneForderungen,
        name_Kreistag,name_AnzeichenAbweichung2,name_SonstigeVeranstaltungen,name_ThemenvorschlaegeFreitagsmail,name_AenderungsbedarfeInformationsmedien,name_VorschlaegePressemitteilungen,datum) 

        VALUES('" . $name_Gleitzeitrahmen . "','" . $Abweichungen . "','" . $Mehrarbeitervolumen . "','" . $Mehrarbeit1 . "','" . $Ausgleich . "','" . $Mehrarbeit2 . "','" . $Personalmaßnahmen . "','" 
            . $Überstunden_abzusehen . "','" . $Klärungsbedarfe1 . "','" . $Klärungsbedarfe2 . "','" . $durchgeführt . "','" . $abgelehnt . "','" . $offen . "','" . $Fortbildungsanträge . "','" 
            . $Anträge_genehmigt. "','" . $Anträge_abgelehnt . "','" . $Fortbildung . "','" . $Fachbereichsleiterbesprechungen . "','" . $Datum1 . "','" . $Datum2 . "','" . $Datum3 . "','" 
            . $Datum4 . "','" . $Datum5 . "','" . $Themen . "','" . $Fragestellungen . "','" . $NeueMitarbeiter . "','" . $BekannteFluktuation . "','" . $Geschäftsverteilungsänderungen . "','" 
            . $Raumplanung . "','" . $Verwaltungsverfahren . "','" . $ITEinsatz . "','" . $Kooperationen . "','" . $ProjekttitelA . "','" . $ProjektverantwortlicheA . "','" . $ZeitplanA . "','" 
            . $BudgetA . "','". $ProjekttitelB . "','" . $ProjektverantwortlicheB . "','" . $ZeitplanB . "','" . $BudgetB .  "','" . $ProjekttitelC . "','" . $ProjektverantwortlicheC . "','" 
            . $ZeitplanC . "','" . $BudgetC ."','" . $ProjekttitelD . "','" . $ProjektverantwortlicheD . "','" . $ZeitplanD . "','" . $BudgetD .  "','" . $ProjekttitelE . "','" 
            . $ProjektverantwortlicheE . "','" . $ZeitplanE . "','" . $BudgetE . "','" . $Kreisentwicklungskonzept . "','" . $Kooperation1 . "','" . $Kooperation2 . "','" . $StatusberichtA . "','" 
            . $StatusberichtB . "','" . $StatusberichtC . "','" . $StatusberichtD . "','" . $StatusberichtE . "','" . $Fallzahlenentwicklungen . "','" . $Haushaltsansätze ."','" . $AnzeichenAbweichung1 . "','" 
            . $OffeneForderungen . "','" . $Kreistag . "','" . $AnzeichenAbweichung2 . "','" . $SonstigeVeranstaltungen . "','" . $ThemenvorschlägeFreitagsmail .  "','" . $ÄnderungsbedarfeInformationsmedien . "','" 
            . $VorschlägePressemitteilungen . "','" . $date . "')";


        $success = $conn->query($query);

    //Bei Error
    if (!$success) {
        die("Couldn't enter data: ".$conn->error);
    }

    //Verbindung zur Datenbank schliessen
    $conn->close();
    ?> 

Upvotes: 0

Views: 287

Answers (1)

pavel
pavel

Reputation: 27082

You need to check if form was sent.

session_start();
if (!empty($_POST)) {
    $_SESSION['post'] = $_POST; // no foreach needed
}

Upvotes: 1

Related Questions