Ich versuche ein einfaces Formular in Contenido zu schreiben, aber irgendwie komme ich nicht klar. Das Formular selbst wird von einem Template geladen und gezeigt. Das Form Action Feld wird von der Module übergeben als Variable. Alles wird prima gezeigt, aber wenn ich auf dem Button drücke, kommt die Startseite (idart 1). Vielleicht mache ich was falsch, aber ich kann nicht verstehen was. Unten ist mein Code.
TEMPLATE:
Code: Alles auswählen
<center><form action="{ACTION}" method="get" id="frm" enctype="multipart/form-data" >
<table class="tbl2" width=100% cellpadding=2>
... felder ...
<tr>
<td><input type="text" name="username" /></td>
<td><input type="password" name="password" /></td>
<td><input type="password" name="password2" /></td>
</tr>
</table>
<input type="hidden" name="send" value="1" />
<input type="submit" />
</center>
</form>
Code: Alles auswählen
print_r($_POST);
print_r($_GET);
// create Template object
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
if($_POST["username"] == ""){
$sFormAction = $sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid");
$tpl->set("s", 'ACTION', $sFormAction);
$tpl->set("s", 'form_action', $sFormAction);
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/members_anmeldung.html");
}
else{
// try to register user in DB
$sql = "SELECT * FROM ".$cfg["tab"]["frontendusers"]." WHERE username = ".$_POST["username"]." ";
$db->query($sql);
if ($db->next_record()) {
if($db->f("password") != md5($_POST["password"])){ back("Passwort stimmt nicht."); }
elseif($_POST["password"] != $_POST["password2"]){ back("Passwort stimmt nicht."); }
else{
$datum_array = explode(".",$_POST["geburtsdatum"]);
$datum = $datum_array[2]."-".$datum_array[1]."-".$datum_array[0];
$sql = "INSERT INTO `con_members` (`username` ,`password` ,`name` ,`vorname` ,`geburtsdatum` ,`wohnort` ,`email` ,`telefon` )
VALUES ('".$_POST["username"]."', '".md5($_POST["password"])."', '".$_POST["name"]."', '".$_POST["vorname"]."', '".$datum."', '".$_POST["wohnort"]."', '".$_POST["email"]."', '".$_POST["telefon"]."');";
$db->query($sql);
print '<b>Sie haben Sich erfolgreicht angemeldet. Jetzt können Sie einloggen.</b>';
}
}
else{
back("Benutzername existiert nicht.");
}
}
function back($msg){
print '<b>'.$msg.'</b><br><br><a href="javascript:history.go(-1)">Zurück</a>';
}