Hi Leutz,
brauche dringend eure Hilfe. Ganze folgende Krempel funktioniet lokal einwandfrei, allerdings nicht live!
es gibt u.a. 2 Klassen
form.php | session.php
session.php
form.php
jetzt liefert mir das form-array lokal das was es meiner Ansicht nach soll;
etwa
live im Netz aber leider
Weiss echt nicht weiter
mfg
derTrallala
brauche dringend eure Hilfe. Ganze folgende Krempel funktioniet lokal einwandfrei, allerdings nicht live!
es gibt u.a. 2 Klassen
form.php | session.php
session.php
PHP-Code:
...
include ("form.php");
include ("mailer.php");
class Session {
var $username;
var $userlevel;
var $language;
var $setLang;
var $loggedIn;
var $userinfo = array ();
var $url;
var $referrer;
var $shopping_cart;
var $couponUsage;
var $cc;
function Session($cc)
{
$this->startSession();
$this->cc = $cc;
$this->time = time();
}
/* startet session & bestimmt, ob der User bereits eingeloggt ist
und setzt die session-Varaiablen */
function startSession()
{
/* startet aktuelle Session */
session_start();
/* User möchte sich einloggen */
function login($user, $pass, $lang, $form)
{
$db1 = new dbconn(host, user, pass, name);
$field = "username";
if (!$user || strlen($subuser = trim($user)) == 0) {
$msg = $lang["error"]["no_username"];
$form->setError($field, $msg);
} elseif (!ereg("^([a-zA-Z0-9 ])+$", $user)) {
$msg = $lang["error"]["username_notalpha"];
$form->setError($field, $msg);
}
$field = "passwd";
if (!$pass) {
$msg = $lang["error"]["no_passwd"];
$form->setError($field, $msg);
}
/* Abbruch, wenn fehler aufgetreten sind */
if ($form->cnt_errors > 0) {
return FALSE;
}
/* Checks that username is in database and password is correct */
$subuser = stripslashes($user);
$result = $db1->checkPass($user, md5($pass));
/* Check error codes */
if ($result == 1) {
$field = "username";
$msg = $lang["error"]["username_notfound"];
$form->setError($field, $msg);
} else if ($result == 2) {
$field = "passwd";
$msg = $lang["error"]["invalid_pass"];
$form->setError($field, $msg);
}
/* Return if form errors exist */
if ($form->cnt_errors > 0) {
return FALSE;
}
//letzten login in session schreiben
$userinfo = $db1->getUserDetails($user, 10);
$this->last_log = $_SESSION['last_log'] = $userinfo['con_value'];
$db1->setLog($user);
/* Username and password correct, register session variables */
$userinfo = $db1->getUserDetails($user, 6);
$this->username = $_SESSION['uname'] = $userinfo['con_value'];
$userinfo = $db1->getUserDetails($user, 8);
$this->userlevel = $userinfo['con_value'];
/* Login war erfolgreich */
return TRUE;
}
...
}
;
$session = new Session($cc);
$form = new Form;
PHP-Code:
class Form
{
var $values = array();
var $errors = array();
var $cnt_errors;
/* Klassenkonstruktor */
function Form(){
if(isset($_SESSION['value']) && isset($_SESSION['error'])){
$this->values = $_SESSION['value'];
$this->errors = $_SESSION['error'];
$this->cnt_errors = count($this->errors);
unset($_SESSION['value']);
unset($_SESSION['error']);
}
else{
$this->cnt_errors = 0;
}
}
/* speichert Eingaben in value */
function setValue($field, $value){
$this->values[$field] = $value;
}
/* speichert Fehlermeldungen für bei Übermittlung von Formulardaten */
function setError($field, $msg){
$this->errors[$field] = $msg;
$this->cnt_errors = count($this->errors);
}
/* Liefert den Wert des entsprechenden Feldes*/
function getValue($field){
if(array_key_exists($field,$this->values)){
return htmlspecialchars(stripslashes($this->values[$field]));
}else{
return "";
}
}
/* Liefert den Fehler des entsprechenden Feldes*/
function getError($field){
if(array_key_exists($field,$this->errors)){
return $this->errors[$field];
}else{
return "";
}
}
/* Gibt das Array mit den Mittlungen zurück*/
function getErrorMessages(){
return $this->errors;
}
};
etwa
Form Object ( [values] => Array ( ) [errors] => Array ( [username] => Bitte einen Usernamen angeben [passwd] => Bitte ein Paßwort angeben ) [cnt_errors] => 2 )
form Object ( [values] => Array ( ) [errors] => Array ( ) [cnt_errors] => 0 )
mfg
derTrallala
Kommentar