Antworten auf deine Fragen:
Neues Thema erstellen

Formular

ovbb

es gibt für alles eine weg

Hallo liebe Community!

Habe mir vor einiger Zeit ein Formular erstellt welches ich in PHP verarbeitet habe.

Jetzt möchte ich gerne dieses einseitige Formular erweitern.

leider stellt es mich gedanklich an einen Punkt für den ich so schnell keien Lösung parat habe.

Möchte gerne eine Anmeldung machen auf welcher auf der 1. Seite die ganzen Teilnehmer erfasst werden d.h. kurz erklärt:

- Teilnehmer-Koordinaten werden eingetragen
- User muss diese durch Button "Teilnehmer speichern" in einerm Array speichern
- Seite geht auf leeres Formularfeld
- nächsten Teilnehmer eintragen und speichern oder eben weiter zu Schritt 2

genau an diesem Moment stellt sich meine Frage.

Wie kann ich das bewerkstelligen, dass ich somit zwei Unterschiedliche Aktionen für die Formulardaten auf einer Formularseite habe.

lg, ovbb
 

gp812

Newbster

AW: Formular

formular.php?action=1
oder
formular.php?action=2
PHP:
<?
if($_GET['action'] == 1)
{
tu was
}
if($_GET['action'] == 2)
{
tu was anderes
}
?>

Ohne GET kannst du eine beliebige Variable vor dem includen definieren


PHP:
<?
$ACTION = 1 oder 2
 include 'formular.php';

if($ACTION == 1)
{
tu was
}
if($ACTION == 2)
{
tu was anderes
}
?>
 

Chickenshooter

Alter Mann

AW: Formular

Moin,

ich gehe davon aus das der Array mit den Nutzerdaten

auch noch bis zum Schritt x in deiner Anmeldung erhaltenbleiben soll!

Wenn ja mit Session und/oder Cookies arbeiten.

Desweiteren würde ich das Speichern eines einzelnen Nutzers mit Ajax

und PHP realisieren.

Mit Ajax die Daten per GET an Deine formular.php übergeben und dann

so wie gp812 beschrieben hat mit if/else oder mit switch den übergebenen

GET wert checken und den Array weiter befüllen, Ajax hat den Vorteil das

die Seite nicht neu geladen wird.
 

ovbb

es gibt für alles eine weg

AW: Formular

sozusagen ruf ich durch den Button-klick das Formular nochmal auf und führe dann die definierte Aktion aus. Entweder ich sehe dann das Formular nochmal um neue Daten einzufügen oder ich gehe eben auf die nächste Seite.

hm ... aber die Aktion muss ich ja im HTML in der Form
PHP:
<form action="xy.php" method="POST" name="MyForm1">
gestartet werden.
Diese bezieht sich ja dann auf den Button
PHP:
<input type="submit" name="next" value="Teilnehmer speichern" />
den ich klicken kann. Sollte ja so stimmen.

Idee: Wenn ich das, wie von gp812 geschrieben, verwende kann ich ja ggf. die Voraussetzung schaffen dass die Teilnehmer gespeichert werden müssen bevor man zu Schritt 2 weiter geht. Dies müsst ja dann das Problem lösen da ich durch klicken von Button 2 dann
PHP:
formular.php?action=2
aufrufe.


Um dies zu verwirklichen muss ich wahrschinlcih dann 2 Form-Tags starten wobei der 2. Button ja nur da ist um zu überprüfen ob im Array was steht und dann eben die Schritt2.php aufruft.



@chickenshooter

Das Array wollte ich deswegen benützen damit ich ja falls jemand n-Teilnehmer einträgt ich auch die ganzen Daten mitspeichern kann bzw. muss ich die ja bis zum Schritt x mitschleifen da ich die ja erst im letzten Schritt in die DB einspielen wollte.

Die Daten wollte ich als Array im $_SESSION-Array ablegen damit mir die Daten bis zum Sessionende erhalten bleiben und ich sie dann in jedem Schritt auslesen könnte.

eine 2-Dimensionales Array der Form $_Session["Formularfeldname"] mit i=1; i++ als Laufnummer des gerade eingetragenen Teilnehmers.

Nach Schritt 2 (das wird die Adresse sein) noch im Schritt 3 die AGB's und im Schritt 4 die Bestätigung und alles andere ausgeführt wird.
 
Zuletzt bearbeitet:

ovbb

es gibt für alles eine weg

AW: Formular

Hallo

Mitlerweile hab ich mit eurer Hilfe fast alles lösen können.

Leider hab ich zZ noch ein Problem mit dem Abspeichern in die DB

PHP:
<?PHP
include_once "function.php";
require("mysql_connect.php");
if(empty($_SESSION["checkid"]))    {
    $_SESSION["checkid"] = md5(microtime());
}

if(preg_match('/^[a-f0-9]{32}$/',$_SESSION['checkid']))
{
    $dbCon = @MYSQL_CONNECT($DB_HOST,$DB_USER,$DB_PASS) 
            or die("Datenbank momentan nicht erreichbar");
    $db_check = @MYSQL_SELECT_DB($DB_NAME) 
            or die("Datenbank momentan nicht erreichbar");

    if ($_SESSION["rechnungsart"] == "privat"){
        if(pruefen_p() == true)
        {
            $sqlInsert = ("INSERT INTO bruecke_privat (
                                        anrede, 
                                        titel,
                                        vorname,
                                        nachname,
                                        strasse,
                                        ort,
                                        plz,
                                        land,
                                        telefon,
                                        fax,
                                        email,
                                        gesamtpreis,
                                        checkid)
                                                    VALUES (
                                                    '".$_SESSION["anrede_r_p"]."', 
                                                    '".$_SESSION["titel_r_p"]."', 
                                                    '".$_SESSION["vorname_r_p"]."',
                                                    '".$_SESSION["nachname_r_p"]."',
                                                    '".$_SESSION["strasse_r_p"]."',
                                                    '".$_SESSION["ort_r_p"]."',
                                                    '".$_SESSION["plz_r_p"]."',
                                                    '".$_SESSION["land_r_p"]."',
                                                    '".$_SESSION["telefon_r_p"]."',
                                                    '".$_SESSION["fax_r_p"]."',
                                                    '".$_SESSION["email_r_p"]."',
                                                    '".getSumme()."',
                                                    '".$_SESSION["checkid"]."')");
    
            for ($v=0;$v<$_SESSION["counter"];$v++){
                $sqlInsert2 = ("INSERT INTO bruecke_teilnemer (
                                            anrede, 
                                            titel, 
                                            vorname,
                                            nachname,
                                            email,
                                            tagung,
                                            heuriger,
                                            abendessen,
                                            exkursion,
                                            gesamt,
                                            checkid)
                                                        VALUES 
                                                        (
                                                        '".$_SESSION["anrede".$v]."', 
                                                        '".$_SESSION["titel".$v]."',  
                                                        '".$_SESSION["vorname".$v]."', 
                                                        '".$_SESSION["nachname".$v]."',
                                                        '".$_SESSION["firma".$v]."', 
                                                        '".$_SESSION["email".$v]."', 
                                                        '".$_SESSION["tagung".$v]."', 
                                                        '".$_SESSION["heuriger".$v]."', 
                                                        '".$_SESSION["abendessen".$v]."', 
                                                        '".$_SESSION["exkurion".$v]."', 
                                                        '".$_SESSION["gesamt".$v]."',                                                    
                                                        '".$_SESSION["checkid"]."')");
            }
        }
    }
    if ($_SESSION["rechnungsart"] == "firma"){
        if(pruefen_p() == true)
        {
            $sqlInsert = ("INSERT INTO bruecke_firma (
                                        firma,
                                        abteilung,
                                        strasse,
                                        plz,
                                        ort,
                                        land,
                                        telefon,
                                        fax,
                                        email,
                                        anrede_a,
                                        titel_a,
                                        vorname_a,
                                        nachname_a,
                                        telefon_a,
                                        email_a,
                                        gesamtpreis,
                                        checkid)
                                                    VALUES 
                                                    (
                                                    '".$_SESSION["firma_2_r"]."',
                                                    '".$_SESSION["abteilung_r"]."',
                                                    '".$_SESSION["strasse_r"]."',
                                                    '".$_SESSION["plz_r"]."',
                                                    '".$_SESSION["ort_r"]."',
                                                    '".$_SESSION["land_r"]."',
                                                    '".$_SESSION["tel_r"]."',
                                                    '".$_SESSION["fax_r"]."', 
                                                    '".$_SESSION["email_2_r"]."', 
                                                    '".$_SESSION["anrede_a_r"]."',
                                                    '".$_SESSION["titel_a_r"]."',
                                                    '".$_SESSION["vorname_a_r"]."',
                                                    '".$_SESSION["nachname_a_r"]."',
                                                    '".$_SESSION["tel_a_r"]."',
                                                    '".$_SESSION["email_a_r"]."',
                                                    '".getSumme()."',
                                                    '".$_SESSION["checkid"]."')");
    
            for ($v=0;$v<$_SESSION["counter"];$v++){
                $sqlInsert = ("INSERT INTO bruecke_teilnehmer (
                                            anrede, 
                                            titel, 
                                            vorname,
                                            nachname,
                                            email,
                                            tagung,
                                            heuriger,
                                            abendessen,
                                            exkursion,
                                            gesamt,
                                            checkid)
                                                        VALUES (
                                                        '".$_SESSION["anrede".$v]."', 
                                                        '".$_SESSION["titel".$v]."',  
                                                        '".$_SESSION["vorname".$v]."', 
                                                        '".$_SESSION["nachname".$v]."',
                                                        '".$_SESSION["firma".$v]."', 
                                                        '".$_SESSION["email".$v]."', 
                                                        '".$_SESSION["tagung".$v]."', 
                                                        '".$_SESSION["heuriger".$v]."', 
                                                        '".$_SESSION["abendessen".$v]."', 
                                                        '".$_SESSION["exkurion".$v]."', 
                                                        '".$_SESSION["gesamt".$v]."',                                                    
                                                        '".$_SESSION["checkid"]."')"
                );
            }
        }
    }
    echo "<h2>";
    echo "<pre>";
    echo $sqlInsert."<br>";

    echo $sqlInsert2;
    echo "</pre>";
    echo "</h2>";
}
else
{
    $errorMessage2 = 'Checksumme wurde manipuliert oder ist fehlerhaft!';
}
?>
er Speichert mir das erste Insert richtig in dieDB aber beim Zweiten (for-Schleife) macht er nichts.

woran könnte das leigen?

Muss ich die Schleife ander setzen, damit er auch alle abarbeitet?

Danke

NB:

diegespeicherten Daten leigen in dieser Form vor

[preis_tagung] => 140
[preis_heuriger] => 40
[preis_abendessen] => 30
[preis_exkursion] => 10
[checkID] => 62a54ba33cbe768ee24ae6158f022d1e
[rechnungsart] => firma
[counter] => 1
[anrede0] => Herr
[titel0] => Titel
[vorname0] => Vorname
[nachname0] => Nachname
[firma0] => Firma
[email0] => email@email.de
[tagung0] => 140
[heuriger0] => 40
[abendessen0] =>
[exkursion0] => 10
[gesamt] => 190
[gesendet] =>
[firma_2_r] => Firma Rechgung
[abteilung_r] => EDV
[strasse_r] => Strasse Rechung
[ort_r] => Ort Rechung
[plz_r] => Plz Rechung
[land_r] => Land Rechung
[tel_r] => Tel Rechung
[fax_r] => Fax Rechung
[email_2_r] => Email Rechung
[anrede_a_r] => Herr
[titel_a_r] => Titel AP
[vorname_a_r] => Vorname AP
[nachname_a_r] => Nachname AP
[tel_a_r] => Telefon AP
[email_a_r] => emailap@amail.ap
[radio] => firma

Edit 2: Wenn ich mir die Inserts ausgeben lasse dann füght er dort die richtigen Werte ein.
Bekommen tu ich aber immer nur 2 Inserts ... auch wenn ich 2 oder mehr Teilnehmer habe.

Diese werden dann mittels Laufvariable [vorname0] von 0 bis xx unterteilt und so abgespeichert.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben