Liebe breadfish-Community,
Ich programmiere gerade das Control Panel für meinen Server und möchte dort eine externe Registrierung auf meinem Woltlab Forum über das Control Panel machen.
Auf meiner Seite sind eben 2 versteckte Felder (Username und Passwort) welche bereits gefüllt sind mit Variablen.
Dazu eben noch das Email-Feld wo man seine Email-Adresse eingeben muss.
Wenn ich nun auf den Registrieren Button klicke wird auf die register.php Datei weitergeleitet und dort soll eben alles geprüft werden und danach eben wieder eine Fehlermeldung oder eine Erfolgsmeldung kommen. Da ist jedoch mein Fehler.
Anstatt eine Meldung über einen Fehler oder über einen Erfolg zu bekommen werde ich immer auf meine index.php Datei weitergeleitet.
Hier meine register.php - Datei.
<?php
// define relative dir to wbb installation
if (!defined('RELATIVE_WBB_DIR')) define('RELATIVE_WBB_DIR', '../forum/');
// wbb imports
require_once(RELATIVE_WBB_DIR.'global.php');
// wcf imports
require_once(WCF_DIR.'lib/data/user/UserEditor.class.php');
/**
* Lesen der eingegebenen Daten.
*/
// Wir lesen den Benutzernamen aus den übergebenen Daten aus und entfernen unnötige Leerzeichen
if (isset($_POST['username'])) $this->username = StringUtil::trim($_POST['username']);
// Wir lesen die eMail-Adresse ein, welches der Benutzer eingegeben hat und entfernen unnötige Leerzeichen
if (isset($_POST['email'])) $this->email = StringUtil::trim($_POST['email']);
// Wir lesen das Kennwort aus, welches der Benutzer eingegeben hat
if (isset($_POST['password'])) $this->password = $_POST['password'];
/**
* Daten des Benutzers prüfen.
*/
// Prüfen, ob keine eMail-Adresse eingegeben wurde
if (empty($this->email)) {
$error = 1;
}
// Prüfen, ob die eMail-Adresse gültig ist
if (!UserUtil::isValidEmail($this->email)) {
$error = 2;
}
// Prüfen, ob die eMail-Adresse zur Verfügung steht
if (!UserUtil::isAvailableEmail($this->email)) {
$error = 3;
}
// Prüfen, ob der Benutzername gültig ist
if (!UserUtil::isValidUsername($this->username)) {
$error = 4;
}
if ($error > 0) {
// Benutzer auf die Seite weiterleiten wo dann je nach Art des Fehlers die Fehlermeldung kommt
header("Location: http://adresse/cp/forum.php?error=".$error.""); // adresse bleibt geheim
} else {
/**
* Den Benutzer registrieren, anmelden und zur Registrierungsseite weiterleiten
*/
// IP-Adresse des Benutzers speichern
$additionalFields['registrationIpAddress'] = WCF::getSession()->ipAddress;
// Variablen erstellen
$groupIDs = array();
$addDefaultGroups = true;
// Benutzer mit den eingegebenen Daten erstellen
$this->user = UserEditor::create($this->username, $this->email, $this->password, $groupIDs, array(), $additionalFields, array(),$addDefaultGroups);
// Benutzer auf die Seite weiterleiten wo dann die Erfolgsmeldung kommt
header ("Location: http://adresse/cp/forum.php?error=0"); // adresse bleibt geheim
}
?>
Alles anzeigen