Hilfe dringend benötigt /session-array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe dringend benötigt /session-array

    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
    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(hostuserpassname);

            
    $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($usermd5($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($user10);
            
    $this->last_log $_SESSION['last_log'] = $userinfo['con_value'];

            
    $db1->setLog($user);

            
    /* Username and password correct, register session variables */
            
    $userinfo $db1->getUserDetails($user6);
            
    $this->username $_SESSION['uname'] = $userinfo['con_value'];
            
    $userinfo $db1->getUserDetails($user8);
            
    $this->userlevel $userinfo['con_value'];

            
    /* Login war erfolgreich */
            
    return TRUE;
            }
    ...
    }
    ;
    $session = new Session($cc);
    $form = new Form
    form.php
    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;
       }
    }; 
    jetzt liefert mir das form-array lokal das was es meiner Ansicht nach soll;
    etwa
    Form Object ( [values] => Array ( ) [errors] => Array ( [username] => Bitte einen Usernamen angeben [passwd] => Bitte ein Paßwort angeben ) [cnt_errors] => 2 )
    live im Netz aber leider
    form Object ( [values] => Array ( ) [errors] => Array ( ) [cnt_errors] => 0 )
    Weiss echt nicht weiter

    mfg
    derTrallala
    Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

  • #2
    Re: Hilfe dringend benötigt /session-array

    Original geschrieben von Timo Trallala
    PHP-Code:
    }; 




    und wie sieht es mit Problemlokalisierung aus? Klasse reduzieren, bis sie so klein wie möglich ist...

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar

    Lädt...
    X