Webstatt.org - Community seit 2006 - 2012 (2024?)

Registrierungsmodul

Avatar user-317
07.03.2006 19:39

Muh,
Verzweifle hier gerade an meinem Registrierungsmodul :/
Irgendwie werden die Daten immer 3x in die MySQL Datenbank eingetragen, würde also für einen 3xigen Aufruf der Funktion sprechen. Aber ich seh´s einfach nicht :

// Do register
function do_register () {
global $_SETTINGS;
$main = build_sectiontitle ('registrieren', 'Registrierung erfolgreich abgeschlossen!'zwinkern;
$main .= loadtpl ($_SETTINGS['template_path'] . 'do_register.htm'zwinkern;
$email = loadtpl ($_SETTINGS['email_path'] . 'register.mail'zwinkern;

$username = secure($_POST['username'], 1, 1);
$email = secure($_POST['email'], 1, 1);
$password = generate_pw($username . $email);
$password2 = sha1($password);
$age = '' . $_POST['jahr'] . '-' . $_POST['monat'] . '-' . $_POST['tag'] . '';

$query = 'INSERT INTO `ptb_user` SET username="' . $username . '", userregmail="' . $email . '", usermail="' . $email . '", userpassword="' . $password2 . '", userage="' . $age . '", usergroup="1"';
$sql = mysql_query ($query) or die ('Datenbankfehler in Zeile ' . __LINE__ . ' : <div class="error"><b>' . mysql_error () . '</b></div>'zwinkern;

$_SESSION = array();

return $main;
}

// Registration control unit
function registrieren () {
global $_SETTINGS;
global $_ERROR;

if(@secure($_POST['do_register'], 1, 1) == $_SETTINGS['post_key']) {
if(empty($_POST['username']) OR empty($_POST['email'])) {
return show_registerform ($_ERROR['all_fields']);
} else {
if(!isset($_POST['bedingungen'])) {
return show_registerform ($_ERROR['bedingungen']);
} else {
return do_register ();
}
}
} else {
return show_registerform ();
}
}


Ich weiß dass das If-Geschachtele plöt ist, ist nur improvisiert hingekrizelt um´s testen zu können zwinkern

Avatar user-253
07.03.2006 19:48

Alleine aus diesem Codestück kann es nicht kommen.
Du kannst das Problem umgehen aber nicht lösen, wenn du bei do_register abfragst, ob der User schon vorhanden ist.

Ansonsten sind viel mehr die globalen Variablen schrecklich als die verschachtelten IF Abfragen.

Wenn du mehr Code zeigst suche ich weiter nach dem "Fehler"


Michael

Avatar user-317
07.03.2006 19:51

Mh, alles klar. user-158n weiß ich jetzt zumindest wo ich nicht mehr suchen muss.

Avatar user-317
11.03.2006 14:27

Mh, ich finde einfach nix :/
Erbarmt sich eventuell mal jemand wenn er Zeit hat und schaut sich das ganze mal an?
Klick mir

Avatar user-255
11.03.2006 15:18

Hab auf den ersten Blick auch nichts verdächtiges gefunden, aber verwende mal require_once() statt include() bzw. require(), vielleicht behebt das sogar das Problem. zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-317
11.03.2006 15:21

Mh, danke das du dir das mal angeguckt hast. Leider lag es nicht daran :/

Avatar user-255
11.03.2006 16:10

Dann wirst du ohne die guten alten Debug-Ausgaben nicht weiterkommen. zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-317
11.03.2006 16:24

Ich bin aber auch ein Hornöchsle xD
Habs rausbekommen, danke für die Hilfe.