kostenloser Webspace werbefrei: lima-city


Variablen verschwinden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ork

    ork hat kostenlosen Webspace.

    Hallo,

    ich habe bei mir Variablen, die zum Beipsiel die Zugangstag/date">daten für die Datenbank speichern.
    Diese sind in einer Datei model.inc.php gespeichert. Wenn ich sie jedoch nach ordentlichen includen aufrufen will, haben sie keinen Wert mehr.

    Das includen scheint nicht das Problem zu sein, da ich die Variablen noch aufrufen kann, solange sie nicht in eienr Verschachtelung sind.

    Was ist der Fehler?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sourcecode?

    kann eigentlich nur an dir liegen...
  4. Autor dieses Themas

    ork

    ork hat kostenlosen Webspace.

    <?php
    
            $cfg['Server']['host']          = "sag";
            $cfg['Server']['user']          = "ich";
            $cfg['Server']['password']      = "euch";
            $cfg['Server']['database']      = "nicht";
    
    ?>



    <?php
    
    
    class PageCreator {
    
            var $template;
            var $serverTest;
    
            function PageCreator() {
                    $this->template = file_get_contents( "view/template.tpl" );
                    $serverTest = new ServerTest( $cfg['Server']['host'], $cfg['Server']['user'], $cfg['Server']['password'], $cfg['Server']['database'] );
            }
    
    }
    
    ?>


    2. Beitrag
    Ein weiteres Problem ist aufgetreten, ich kann die Funktionen meiner Klasse nicht nutzen, alle aufgeführten funktionen existieren in der klasse, aber es kommt nur Call to undefiend funciton etc


    <?php
    
    class(...)
    
            function ServerTestModel() {
                    connectToDatabase( $this->host, $this->user, $this->database );
    
                    $this->cookie                = $_COOKIE['visit'];
    
                    /*
                     *  Tages- und Uhrzeitabhängiges
                     */
    
                    $this->date          = getDate();
                    $this->sunrise               = getSunrise(); 
                    $this->sunset                = geSunset();
                    $this->day           = getDay();
                    $this->text          = getGoodText();
    
    
                    /*
                     *  Clientseitiges
                     */
    
                    $this->browser               = getBrowser();
                    $this->visitorBehavior       = getVisitorBehavior(); 
                    $this->clientIP              = getClientIP();
                    $this->clientHost    = getClientHost();
                    $this->lastPage              = getLastPage();
                    
                    /*
                     *  Serverseitiges
                     */
    
                    $this->serverIP              = getServerIP();
                    $this->serverHost    = getServerHost();      
                    $this->documentRoot  = getDocumentRoot();
                    $this->scriptname    = getScriptname();
    
                    /*
                     *  Zufälliges
                     */
    
                    $this->randomQuote   = getRandomQuote();
                    $this->randomLink    = getRandomLink();      
                    $this->randomPassword        = getRandomPassword();
    
                    /*
                     *  Sonstiges
                     */
    
                    $this->weatherpixie  = getWeatherpixie();
            }
    
            /*
             *  Datenbank
             */
    
            function connectToDatabase( $host, $user, $password, $database ) {
                    $this->connection    = mysql_connect( $host, $user, $password ) OR die( "Das Verbinden zur Datenbank ist fehlgeschlagen." );
                    mysql_select_db( $database, $this->connection ) OR die( "Das Auswählen der Datenbank ist fehlgeschlagen." );
            }
    
    (...)
    
    }


    3. Beitrag
    Das Problem ist gelöst, habe einfach das this vergessen, aber warum verschwinden meine variablen?

    Beitrag geändert: 19.10.2008 16:13:54 von tct
  5. Du darfst auch gerne den Edit-Button unten rechts an deinen Beiträgen verwenden...

    Das Problem ist gelöst, habe einfach das this vergessen, aber warum verschwinden meine variablen?

    Du muss die Variablen erst in der Klasse verfügbar machen, indem du sie entweder beim Aufrufen übergibst, oder als einfach global definierst.
  6. Autor dieses Themas

    ork

    ork hat kostenlosen Webspace.

    wie definiere ich variablen als global? und wie kann ich folgendes machen:

    $this->objektreferenz->memberfunkion()?


    in etwa so
    <?php
    
    
    class PageCreator {
    
    	var $template;
    	var $model;
    
    	function PageCreator( $model ) {
    		$this->template = file_get_contents( "view/template.tpl" );
    		$this->model = model;
    	}
    
    	function editTemplate() {
    		$this->template = str_replace( "{var=softwarename}", $this->model->softwarename, $this->template );
    	}
    
    }
    
    ?>


    Beitrag geändert: 19.10.2008 16:24:47 von ork
  7. <?php
    
    $var1 = 'hallo ich ';
    $var2 = 'bin doof';
    
    function WerBinIch()
    {
      global $var1;
    
      echo $var1;
      echo $var2;
    }
    
    WerBinIch();
    ?>


    Teste mal dieses Skript, dann dürfte dir schnell klar werden, was es mit dem Schlüsselwort global auf sich hat.
  8. Autor dieses Themas

    ork

    ork hat kostenlosen Webspace.

    danke, hat funktioniert!
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!