eigenes Formular erstellen --> Eintrag in Datenbank

Gesperrt
schnoupf
Beiträge: 9
Registriert: Mi 20. Mai 2009, 18:52
Kontaktdaten:

eigenes Formular erstellen --> Eintrag in Datenbank

Beitrag von schnoupf » Mi 27. Mai 2009, 21:41

Hallo Forum,

ich bin Neuling in Contenido und habe nun ein Layout, Modul und Templates erstellt.
Ich möchte nun ein eigenes Modul erstellen, dass ein Anmeldeforumlar beinhaltet.

Dazu habe ich also ein Modul-Template erstellt (mit vorwiegend Textfeldern).
Nun möchte ich beim Klick des Anmelde- Butttons die Userdaten in eine Datenbank schreiben.

Hier der Code für das Modul-Template:

Code: Alles auswählen

<span class="headline">{headline}</span>
<form action="{form_action}" method="post">
    <div class="form_outer">
            <div class="form_inner">
                Firma
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="firma" type="text" /> 
            </div>
            <div class="form_inner">
                Straße
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="strasse" type="text" />
            </div>
            <div class="form_inner">
                PLZ</div>
            <div class="form_inner">
                <input class="textfeld_normal" name="plz" maxlength="5" type="text" />
            </div>
            <div class="form_inner">
                Ort
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="ort" type="text" />
            </div>
            <div class="form_inner">
                Website
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="website" type="text" />
            </div>
            <div class="form_inner">
                </div>
            <div class="form_inner">
                
            </div>
            <div class="form_inner">
                Name
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="name" type="text" />
            </div>
            <div class="form_inner">
                Vorname</div>
            <div class="form_inner">
                <input class="textfeld_normal" name="vorname" type="text" />
            </div>
            <div class="form_inner">
                Telefon
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="telefon" type="text" />
            </div>
            <div class="form_inner">
                Fax
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="fax" type="text" />
            </div>
            <div class="form_inner">
                Email
            </div>
            <div class="form_inner">
                <input class="textfeld_normal" name="email" type="text" />
            </div>
            <div class="form_inner">
                Benutzername</div>
            <div class="form_inner">
                <input class="textfeld_normal" name="benutzername" type="text" />
            </div>
            <div class="form_inner">
                Passwort</div>
            <div class="form_inner">
                <input class="textfeld_normal" name="passwort" type="password" />
            </div>
            <div class="form_inner">
                Passwort Wiederholung</div>
            <div class="form_inner">
                <input class="textfeld_normal" name="passwort2" type="password" />
            </div>
            <div class="form_inner">
            |
            </div>
            <div class="form_inner">
                <input class="login_button" type="submit" value="Senden" />
            </div>
        </div>
</form>
und hier der Code für das Modul:

Code: Alles auswählen

<?php

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}

$tpl->reset();

$sFormAction = $_SERVER['PHP_


$tpl->set('s', 'form_action', $sFormAction );
$tpl->generate('templates/register_new_company.html');

?>
Nun will ich z.B. das Textfeld Email auslesen. Leider fehlt mir hier die richtige vorgehensweise. Ich kann ja schlecht in die front_content.php schreiben und dort mittels

Code: Alles auswählen

$email = $_GET["email"];
echo "Email $email";SELF'];
die Variable auslesen.

Die zweite Frage wäre dann der Datenbankzugriff, verwendet man hier am besten die mitgelieferten Contenido Klassen oder erstellt man sich seine eigenen Funktionen für den DB-ZUgriff?

Wie ist hier das praktische vorgehen bei Contenido?

Das Formular wird in der Ausgabe richtig angezeigt nur beim Klick auf Anmelden macht er einen redirect auf die Stammseite der Webseite...

Vielen Dank für eure Hilfe

Gruss Ben

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: eigenes Formular erstellen --> Eintrag in Datenbank

Beitrag von GaMbIt_ » Do 28. Mai 2009, 00:35

Hmmm naja.. Du kannst aber im Modul die GET Variablen abfragen...

Also wenn Du Formulardaten an die eigene Seite sendest kommen diese Daten auch an... alles halb so wild...

Für einen Datenbankzugriff verwendet man üblicherweise die Contenido eigenen Klassen und Funktionen...
Wie sonst könnte man z.B. Zugangsdaten zantral halten...

Beim Post der Daten aus dem Formular fehlt anscheinend was...
Aber das $_SERVER Array brauchst Du garnicht...

$aFormAction = 'front_content.php?idcat='. $idcat .'&idart='. $idart .'&client='. $client .';

jetzt kannst Du die Post Daten an diese Adresse schicken...
Nützliche Contenido Infos gibts hier: Contenido Wiki

schnoupf
Beiträge: 9
Registriert: Mi 20. Mai 2009, 18:52
Kontaktdaten:

Re: eigenes Formular erstellen --> Eintrag in Datenbank

Beitrag von schnoupf » Do 28. Mai 2009, 17:30

hm genau da liegt mein problem, ich hab beispielsweise obiges formular, hierbei werden ja die daten per POST übermittelt.
also sollte ich doch ohne weiteres in meinem modul-code mittels

Code: Alles auswählen

$test = $_POST["email"] 
die email adresse auslesen können.
selbst bei modifikation der front_content.php mit obigem code liest er die variable nicht aus.
auch mit $_GET["email"] wird nichts ausgegeben.

Hat hierzu jemand eine Idee?

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: eigenes Formular erstellen --> Eintrag in Datenbank

Beitrag von GaMbIt_ » Do 28. Mai 2009, 19:13

öhhh... Post Daten .. sorry...

mit

Code: Alles auswählen

$post = 'front_content.php?idcat='. $idcat .'&idart='. $idart .'&client='. $client .';

<form method="post" action="$post">
  <input type="text" name="e-mail" />
  <input type="submit" value="klick mich"/>
</form>

if(isset($_POST['e-mail'])) {
  $_POST['e-mail'];
}
else {
  echo 'keine e-Mail da...';
}
sollte es doch gehen...
Nützliche Contenido Infos gibts hier: Contenido Wiki

schnoupf
Beiträge: 9
Registriert: Mi 20. Mai 2009, 18:52
Kontaktdaten:

Re: eigenes Formular erstellen --> Eintrag in Datenbank

Beitrag von schnoupf » Fr 29. Mai 2009, 14:47

hatte ich alles probiert ging aber nicht...

das problem ist gelöst lag aber an was das ich hier gar nicht erst in betracht gezogen hatte. in meinem layout was bereits ein <form>- tag das wurde wohl bevorzugt behandelt.

jetzt geht alles...
vielen Dank!

Gesperrt