Advertisement:

Amazon Mod Undefined index: host

Aloittaja ProfDrDenis, joulukuu 14, 2007, 11:34:02 AP

« edellinen - seuraava »

ProfDrDenis

Ich habe mir das Amazon Mod Vers. 1.0 (SMF 1.1.4) installiert und jetzt habe ich Fehlermeldungen:

8: Undefined index: host
Datei: /home/www/web309/html/forum/Sources/Subs.php
Zeile: 2394

In dem Source Code siehst aber sehr kompliziert aus  :(  Das ist ab Zeile 2393 bis 2402.

Was läuft da falsch und wie stelle ich es ab? Wie immer freue ich mich über eine Lösung.


// MATCH ANY AMAZON LINKS AND CREATE REPLACEMENTS
if (preg_match('/(.*)amazon\.(com|co.uk|de|fr|co.jp|ca)+/i', $parsed['host'])) {
$parsed['host'] = str_replace('www.','',$parsed['host']);
$parsed['host'] = str_replace('amazon.','',$parsed['host']);
// IF THE DOMAIN EXTENSION IS VALID
if(isset($temp[$parsed['host']])) {
$search[] = '<a href="'. $link. '"' ;
$replace[] = '<a href="'. str_replace($parsed['host'], $modSettings['amazonlinksassociatestore'], $link) . ((strpos($link,'?') === FALSE) ? '?' : '&') .  'tag='. $modSettings['amazonlinksassociateid'].'"' ;
}
}

mediman

Nichts dramatisches, ist weder Fehler noch Warnung, eigentlich eher eine Notice von PHP, die dir mitteilt, dass 'host' nicht definiert ist.

Prüfe 'host' per isset und gut ist.

André
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

ProfDrDenis

Das prüfen habe ich jetzt nicht verstanden  :(

mediman

My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

ProfDrDenis

#4
Danke ich probiere es mal aus.

Habe es nicht hinbekommen. Wo füge ich das genau ein? und stimmt die Anzahl der eckigen Klammern?

mediman

Eine Klammer weniger please.

Es würde aber auch reichen am Anfang der Funktion ein simples

$parsed['host'] = '';

zu schreiben
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

ProfDrDenis


mediman

My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

ProfDrDenis

#8
habe den Code  $parsed['host'] = '';  eingefügt. Hat aber zur Folge, dass meine Amazon ID nicht mehr als tag angehängt wird.  :(

Wenn ich es richtig verstehe, würde aber lediglich eine Fehlermeldung eliminiert oder? Irgendwas muss doch am oben angegebenen Source code falsch sein ?

mediman

PHP warnt von Amts wegen vor leeren bzw. undefinierten Variablen/Arrays und Co.

Sinn der Sache ist, dass, wenn PHP schlecht konfiguriert ist (Register Globals) oder über Injections die Variablen beschrieben werden können.

In deinem Code ist es nun so, dass $parsed['host'] nicht immer zur Verfügung steht, und demzufolge ein Warning erscheint.
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

ProfDrDenis

ok, so was ähnliches hatte ich mir schon gedacht. Was muss aber nun an dem Code geändert werden, damit der Fehler nicht mehr gemeldet wird?

ProfDrDenis

das Fehlerprotokoll läuft voll, keiner eine Idee wie das zu lösen ist?

Advertisement: