hallo Zusammen,
ich bin Grade dabei eine Externe Seite für WBB zu Erstellen wo man den verschiedene Funktion benutzen kann ich scheitere aba ihren wie schon jetzt dran.
ich habe eine Funktion.php da ist das WBB Zeugs Hier drine:
PHP
<?
// define relative dir to wbb installation
if (!defined('RELATIVE_WBB_DIR')) define('RELATIVE_WBB_DIR', '/var/www/vhosts/pod-multiclan.de/samp-pod/lkw-kirmes/');
// wbb imports
require_once(RELATIVE_WBB_DIR.'global.php');
// wcf imports
require_once(WCF_DIR.'lib/system/session/UserSession.class.php');
require_once(WCF_DIR.'lib/system/auth/UserAuth.class.php');
class Login {
// Hier definieren wir Variablen mit Standard-Inhalten
// user object
public $user = null;
// given username
public $username = '';
// given password
public $password = '';
// error field
public $errorField = '';
// error text
public $errorText = '';
/**
* Lesen der eingegebenen Daten.
*/
public function readParameters() {
// 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 das Kennwort aus, welches der Benutzer eingegeben hat
if (isset($_POST['password'])) $this->password = $_POST['password'];
// Nun prüfen wir die Daten, geben einen Fehler aus oder melden den Benutzer an
$this->checkLoginData();
}
/**
* Daten des Benutzers prüfen.
*/
public function checkLoginData() {
// Wir prüfen die Daten in einem try/catch-Block, um den Ablauf durch Exceptions unterbrechen zu können
try {
// Prüfen, ob kein Benutzername eingegeben wurde
if (empty($this->username)) {
throw new UserInputException('username');
}
// Prüfen, ob kein Kennwort eingegeben wurde
if (empty($this->password)) {
throw new UserInputException('password');
}
// Prüfen des Kennwortes und ggf. Rückgabe eines neuen Objektes
$this->user = UserAuth::getInstance()->loginManually($this->username, $this->password);
// Es ist kein Fehler aufgetreten; Wir melden den Benutzer "richtig" an und leiten ihn weiter
$this->doLogin();
}
catch (UserInputException $e) {
// Setze das betroffene Eingabefeld, welches den Fehler verursacht hat
$this->errorField = $e->getField();
// Setze einen Fehlertext (alternativ könnte man noch abfragen, welcher Fehler aufgetreten ist und den Text entsprechend anpassen)
$this->errorText = 'Es ist ein Fehler aufgetreten. Bitte überprüfe das markierte Eingabefeld.';
// Abschließend geben wir das Formular erneut aus
$this->showForm();
}
}
/**
* Den Benutzer "richtig" anmelden und zur Loginseite weiterleiten.
*/
public function doLogin() {
// Setze Daten des Benutzern
UserAuth::getInstance()->storeAccessData($this->user, $this->username, $this->password);
// Session ändern
WCF::getSession()->changeUser($this->user);
// Benutzer weiterleiten
HeaderUtil::redirect('index.php');
exit;
}
/**
* Gibt ein einfaches Formular aus, mit dem sich ein Benutzer anmelden kann.
*/
public function showForm() {
// Wir prüfen zunächst, ob ein Fehler bekannt ist und geben den Fehlertext hier aus
if (!empty($this->errorText)) {
echo '<p style="color:red;font-weight:bold">' . $this->errorText . '</p>';
}
// Nun geben wir das eigentliche Formular aus
// Wir senden die Daten an die Datei "login.php" mit der Methode "post"
// Die Felder werden befüllt, sobald man Daten eingegeben hat, diese aber nicht anerkannt wurden
// Mit einer Abfrage markieren wir das Eingabefeld, welches den Fehler verursacht hat
?>
<form action="" method="post">
<p>Benutzername:<br /><input name="username" type="text" value="<?php echo $this->username ?>" size="30"<?php if ($this->errorField == 'username') { echo ' style="border:2px solid red"'; } ?> /></p>
<p>Kennwort:<br /><input name="password" type="password" value="<?php echo $this->password ?>" size="30"<?php if ($this->errorField == 'password') { echo ' style="border:2px solid red"'; } ?> /></p>
<p><br /><br /></p>
<p><input type="submit" value="Absenden"> <input type="reset" value="Abbrechen"></p>
</form>
<?php
}
}
?>
Alles anzeigen
in der Index.php ist das so:
PHP
<?
require_once('inc/funktion.php');
if (WCF::getUser()->userID != 0) {
switch($_GET['page']){
case'':
Header("Location: index.php?page=Spende"); exit;
break;
case'Text':
echo '<div id="top"><p>Du bist angemeldet als <strong>'.WCF::getUser()->username.'</strong>.</p></div>';
break;
}exit;
}
?>
Alles anzeigen
wen ich aba nun z.b domain.de Aufrufe sagt er mir imma das:
Code
Du bist angemeldet als ..::GiveCat::...
Fatal error: PHP notice in file /var/www/vhosts/pod-multiclan.de/fs2/dl/index.php (7): Undefined index: page
Information:
error message: PHP notice in file /var/www/vhosts/pod-multiclan.de/fs2/dl/index.php (7): Undefined index: page
error code: 0
file: /var/www/vhosts/pod-multiclan.de/samp-pod/lkw-kirmes/wcf/lib/system/WCF.class.php (281)
php version: 5.3.3-7+squeeze14
wcf version: 1.1.9 (Tempest)
date: Sun, 27 Jan 2013 13:54:46 +0000
request: /
referer:
Stacktrace:
#0 /var/www/vhosts/pod-multiclan.de/fs2/dl/index.php(7): WCF::handleError(8, 'Undefined index...', '/var/www/vhosts...', 7, Array)
#1 {main}
Alles anzeigen
wen ich aba http://domain.de/index.php?page=Test eingebe Ruft er sie Ganz normal auf.
kann mir dabei ihren wer helfen?
was ich machen muss das der fehler nicht mehr auftauchen tut?
lg kifkat