Forum

Moderiert von: spinne
Forum: Codeschnippsel
Sie schreiben eine Antwort zum Thema: Fehlermedlung
Gehe zu: OpenPHPNuke - das Open Source CMS Forum Index


über den Beitrag: Auch anonyme Benutzer können in diesem Forum neue Themen eröffnen und Antworten schreiben.
Benutzername:
Nachrichtensymbol:
                                                                                                                       

more...


HTML : An
BBCode : An
 


Klicken Sie auf die Smilies, um diesen in Ihre Nachricht einzufügen:

Very Happy Very Happy Smile Smile Sad Sad Surprised Surprised
Confused Confused Cool Cool Laughing Laughing Mad Mad
Razz Razz Embaressed Embaressed Crying (very sad) Crying (very sad) Evil or Very Mad Evil or Very Mad
Rolling Eyes Rolling Eyes Wink Wink Another pint of beer Another pint of beer ToolTimes at work ToolTimes at work
I have an idea I have an idea

more... 
Einstellungen:







 
Sicherheits-Code
Sicherheits-Code
Neu laden

Thema im Überblick

Autor
darksweetys
Registriert: 28.12.2005
Beiträge: 638


Sende eine Private Nachricht an darksweetys Besuche die Homepage von darksweetys
MSNM
Fehlermedlung

Geschrieben: 29.05.2010 12:21

Bis jetzt hat das ganze ganz gut funktioniert. Erst seit der neuen Version des Codes erscheint diese Meldung. Die Links werden ja auch angezeigt.

Ist jhalt ein Nachteil wenn man sich darauf verlassen muss das immer alles funktioniert .





DarkSweetys

Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Fehlermedlung

Geschrieben: 29.05.2010 10:20

&class=' . urlencode($config['HYPERLINK_CLASS']);

hier nutzt du $config ohne das es das geben würde.

Deiner Logik folgend müsste es es dann $this->config sein. Allerdings sehe ich da noch mehr Probleme. Hast du das nicht vorher ausprobiert?



Erst nachlesen, dann nachdenken, dann nachfragen...
http://www.catb.org/~esr/faqs/smart-questions.html

openPHPnuke Developer

Zitieren Druckerfreundliche Darstellung nach oben
darksweetys
Registriert: 28.12.2005
Beiträge: 638


Sende eine Private Nachricht an darksweetys Besuche die Homepage von darksweetys
MSNM
Fehlermedlung

Geschrieben: 29.05.2010 09:18

Ich habe einen PHP-Code in eine PHP-Box eingefügt der diverse Textlinks ausgeben soll. Leider erscheint bei der ausgabe eine Fehlermedlung:

----------------------
WARNING [8] Undefined variable: config
FOUND IN [system/phpbox/plugin/middlebox/phpbox/main.php(26) : eval()'d code]
FOUND AT 106
----------------------

Der Code:

---------------------
        <?php

//
//BACKLINKSELLER WEBSITE-CODE (ECHO) VERSION 1.7
//

//Ihre Domain-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['DOMAIN_ID'] = '987739737';

//Ihre Account-ID. (Diese ist standardmaessig richtig eingestellt)
$BACKLINK_SELLER['ACCOUNT_ID'] = '791384412';

//Wenn Sie folgenden Parameter auf TRUE setzen, dann
//werden alle Fehlermeldungen ausgegeben und Sie
//können somit leichter die Fehlerursache feststellen
$BACKLINK_SELLER['DEBUG_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)

//Wenn Sie diesen Parameter aktivieren, dann wird von unserem Server
//ein HTML-Code mit einem Beispiel-Textlink zurückgeben
//Somit können Sie die Verbindung mit unserem Server testen,
//auch wenn auf Ihrer Webseite noch keine Textlinks gebucht sind.
//ACHTUNG: BITTE VERGESSEN SIE NICHT, DIESE OPTION
//NACH DEM TEST WIEDER ZU DEAKTIVIEREN
$BACKLINK_SELLER['TEST_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)

//Benutzerdefinierte HTML-Code, der vor jedem Textlink hinzugefügt wird
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HTML_BEFORE_BACKLINK'] = '';

//Benutzerdefinierte HTML-Code, der nach jedem Textlink hinzugefügt wird
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HTML_AFTER_BACKLINK'] = '<br />';

//Hier kann die CSS-Class Bezeichnung definiert werden, welche
//bei jedem Hyperlink hinzugefügt wird. Zum Beispiel
//<a href='...' class='my_class_name'>...</a>
//(Diese Einstellung ist optional)
$BACKLINK_SELLER['HYPERLINK_CLASS'] = '';

//URL, die zu der Seite Ihrer Webpräsenz führt (z.B. http://www.example.com/my_page/)
//(Die Defaulteinstellung muss in den meisten Fällen nicht geändert werden)
$requestUri = $_SERVER['REQUEST_URI'];
if(substr($requestUri, 0, 1) == '/') {$requestUri = substr($requestUri, 1);} //remove leading slash
$requestUri = str_replace('http://www.darksweetys.com/', '', $requestUri); //make sure that request uri is without domain
$BACKLINK_SELLER['PAGE_URL'] = 'http://www.darksweetys.com/' . $requestUri;

//Mit einem aktivierten Caching wird der zurückgegebene HTML-Code
//in einer Datei für mindestens eine Stunde gespeichert.
//Bitte definieren Sie auch einen gültigen Dateipfad (siehe weiter unten)
//ACHTUNG: WIR EMPFEHLEN DAS CACHING ZU AKTIVIEREN, DA DIES DIE
//ZUGRIFFSZEITEN IHRER WEBSEITE ERHÖHT. AUSSERDEM BESEITIGT DAS AKTIVIERTE
//CACHING EINIGE TIMEOUT-PROBLEME, FALLS UNSER SERVER VORÜBERGEHEND NICHT ZUR VERFÜGUNG STEHT.
$BACKLINK_SELLER['CACHING_ENABLED_FLAG'] = false; //true (aktiviert) oder false (deaktiviert)

//Dateipfad zu der Caching-Datei.
//Für jede URL wird eine solche Datei angelegt
//ACHTUNG: DIESE DATEI MUSS SCHREIB- UND LESE-RECHTE BESITZEN.
//SIE KÖNNEN DIESE RECHTE ÜBER DIE CHMOD-EINSTELLUNG SETZEN.
//BITTE KONFIGURIEREN SIE AUCH EINEN UNTERVERZEICHNIS, IN DEM DIESE
//CACHE-DATEIEN ERSTELLT WERDEN - ANSONSTEN WERDEN DIESE DIREKT IM
//ROOT-VERZEICHNISS IHRER WEBPRESENZ ERSTELLT.
$BACKLINK_SELLER['CACHED_FILE_PATH'] = $_SERVER['DOCUMENT_ROOT'] . '/bs-987739737-' . md5($BACKLINK_SELLER['PAGE_URL']) . '.txt';

if(!defined("BACKLINK_SELLER")) {define("BACKLINK_SELLER", serialize($BACKLINK_SELLER));}
if(!in_array('BacklinkSeller', get_declared_classes())) //if not already declared
{
    class BacklinkSeller
    {
        var $config = null;
        function retrieveHTML()
        {
            $this->config = unserialize(BACKLINK_SELLER);
            $cachingDirectory = substr($this->config['CACHED_FILE_PATH'], 0, strrpos($this->config['CACHED_FILE_PATH'], '/') + 1);
            if($this->config['CACHING_ENABLED_FLAG'] && is_writable($cachingDirectory)) {return $this->retrieveHTMLWithCaching();}
            return $this->retrieveHTMLFromServer();
        }
        function retrieveHTMLWithCaching()
        {
            if($this->isCachedFileExpired())
            {
                $response = $this->retrieveHTMLFromServer();

                //if server is down then cache HTML response for max 48 hours
                if($response == 'UNABLE_TO_CONNECT' && $this->isCachedFileExpired(4)
                {
                    //backlinkseller server is still not available
                    //in this case we empty cached file
                    $this->writeHTMLToCachedFile('');
                }
                else
                {
                    //update cached file
                    $this->writeHTMLToCachedFile($response);
                }
            }
            return $this->loadHTMLFromCachedFile();
        }
        function retrieveHTMLFromServer()
        {
            $request = '/channel.php?domain_id=' . $this->config['DOMAIN_ID'] .
            '&account_id=' . $this->config['ACCOUNT_ID'] .
            '&html_before=' . urlencode($this->config['HTML_BEFORE_BACKLINK']) .
            '&html_after=' . urlencode($this->config['HTML_AFTER_BACKLINK']) .
            '&page=' . urlencode($this->config['PAGE_URL']) . '&xhtml=1' .
            '&user_ip=' . $_SERVER['REMOTE_ADDR'] .
            '&class=' . urlencode($config['HYPERLINK_CLASS']);
            if($this->config['TEST_FLAG']) {$request .= '&test=1';}
            @$socket = fsockopen('channel2.backlinkseller.de', 80, $errorNumber, $errorMessage, 5);
            if(!$socket) {return 'UNABLE_TO_CONNECT';}
            $response = null;
            stream_set_timeout($socket, 5);
            fwrite($socket, 'GET ' . $request . " HTTP/1.1rnHost: channel2.backlinkseller.dernrn");
            $response = fread($socket, 1000000);
            fclose($socket);
            if(strpos($response, "rnrn") !== false)
            {$response = trim(substr($response, strpos($response, "rnrn")));}
            if(!$this->config['DEBUG_FLAG']) //if debug is disabled
            {
                //if response contains any message and not HTML code as expected
                if(substr($response, 0, 7) == 'ERROR: ' || substr($response, 0, 4) == 'OK: ')
                {return '';} //do not display this message
            }
            $response = str_replace(array('"', "'"), array('"', "'"), $response); //remove quotes
            return $response;
        }
        function writeHTMLToCachedFile($html)
        {
            $handle = fopen($this->config['CACHED_FILE_PATH'], 'w');
            flock($handle, LOCK_EX);
            fwrite($handle, $html);
            flock($handle, LOCK_UN);
            fclose($handle);
        }
        function loadHTMLFromCachedFile()
        {
            if(file_exists($this->config['CACHED_FILE_PATH']))
            {return file_get_contents($this->config['CACHED_FILE_PATH']);}
            return '';
        }
        function isCachedFileExpired($hoursToLive = 1)
        {
            if(!file_exists($this->config['CACHED_FILE_PATH'])) {return true;}
            if(filemtime($this->config['CACHED_FILE_PATH']) < time() - (60 * 60 * $hoursToLive)){return true;}
            return false;
        }
    }
}

//output backlinkseller html with backlinks
$backlinkseller = new BacklinkSeller();
echo($backlinkseller->retrieveHTML());

?>
------------------------

Ist warscheinlich keine große Sache nur kann ich die Ursache nicht aus der Fehlermeldung erkennen.
Bin für nen Tipp dankbar 

      




DarkSweetys

Zitieren Druckerfreundliche Darstellung nach oben