Hilfe bei Undefined index:

Begonnen von asder, 09 Juli 2006, 03:27:57

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

asder

Ich erhalten bei diesem Code
if ($_REQUEST['name']!='Gallery' && $_REQUEST['name']!='Forum' && $_REQUEST['name']!='Kalender' && $_REQUEST['name']!='My_eGallery') {
blocks('left');
}

die Meldung:
ZitatNotice: Undefined index: name1 in /home/www/web1/html/PORTAL/themes/MFJ_subBlack/theme.php on line 202

Hab schon mal im I-Net gesucht, ob ich da gescheite Hinweise erhalte, aber leider nichts richtiges gefunden.
Hat jemand ne Idee?

jubilee

Dazu müsste man wissen, was da in der theme.php in diesem Theme
MFJ_subBlack steht.
Oder Du fragst bei Themeautor nach, was da schiefläuft.

MfG

RiotheRat

;) Es fehlt die Prüfung ob $_REQUEST['name'] überhaupt gesetzt ist. Bei zwei Konstellationen ist das sicher nicht der Fall ... beim Aufruf der Startseite und beim Aufruf der admin.php

:) Quick 'n Dirty:
if (!empty($REQUEST['name'])) {
   if ($_REQUEST['name']!='Gallery' && $_REQUEST['name']!='Forum' && $_REQUEST['name']!='Kalender' && $_REQUEST['name']!='My_eGallery') {
   blocks('left');
   }
}


So isses halt mit den Bedingungsprüfungen ...

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

asder

Hmm.
ZitatEs fehlt die Prüfung ob $_REQUEST['name'] überhaupt gesetzt ist.

das stimmt.
Nur:
wenn ich das so einbaue, dann ist zwar der Fehler weg, aber auch generell alle linken Blöcke :(

Das mit der Prüfung hab ich gestern schon zig mal gelesen, wußte halt nur nicht, wie ich das umsetzen kann.

Nun, so isses jetzt aber auch nicht gut :(

Aber trotzdem schon mal Danke für die Info. Vllt hat ja noch jemand ne Idee.

@jubilee: ich bind mal die theme.php ein.
es geht ja auch nur um diesen Schnipsel, eine Funktion, die ja theme-unabhängig sein müßte. (Zeile 199 ff )


[gelöscht durch Administrator]

RiotheRat

Kann nicht gehen ... ist ein Tippfehler meinerseits enthalten, es fehlt der Unterstrich  :D

if (!empty($_REQUEST['name'])) {

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

asder

moment, ich probier es :)

// START - Linke Bloecke weg (x Module)
if (!empty($_REQUEST['name'])) {
   if ($_REQUEST['name']!='Gallery' && $_REQUEST['name']!='Forum' && $_REQUEST['name']!='Kalender' && $_REQUEST['name']!='My_eGallery') {
   blocks('left');
   }
}
// END - Linke Bloecke weg (x Module)


nee, geht leider auch nicht. Wieder alle linken Blöcke weg, egal wo :(

jubilee

Wie jetzt ?
Nach Fehlermeldung geht es doch um einen Index 'name1'
ZitatNotice: Undefined index: name1
Oder war das ein Schreibfehler ?

asder

tschuldigung
ist ein Schreibfehler

Notice: Undefined index: name
in /home/www/web1/html/PORTAL/themes/MFJ_subBlack/theme.php on line 202


Aufgabe des Codes ist es, bei den definierten Modulen die linken Blöcke auszublenden.
Nur kommt halt der Fehler.
Mein Wunsch ist nun ein fehlerfreier Code.
Da es sich hier um einen "Undefined index:" Fehler handelt, gehe ich mal von einem genrellen Codefehler aus :)

oder so


BowlingX

mh, der index 'name' ist immer nicht definiert wernn du die Startseite aufrufst un der Parameter 'name' nicht in der URL vorhanden ist.
Wir haben es hier aber mit einem anderen Problem zu tun... Einmal zum testen $_REQUEST mit $_GET austauschen
David
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!

Andi

Moin :)

wenn eine Variable, bzw. ein Array-Index nicht definiert ist, aber für die Weiterverarbeitung unbedingt gebraucht wird, so wird der eben vorher definiert:

if (!isset($_REQUEST['name'])) {
    $_REQUEST['name']='';
}


schon kann man den ursprünglichen Codeschnippsel verwenden.
if ($_REQUEST['name']!='Gallery' && $_REQUEST['name']!='Forum' && $_REQUEST['name']!='Kalender' && $_REQUEST['name']!='My_eGallery') {
blocks('left');
}
schön´s Grüssle, Andi

asder

Hallo Andi,

so klappt es.
Danke schön.
Wärst du ne Frau, gäbs ein Küßchen, so mußt du dich leider nur mit einem Sympathie- und Dankespunkt vorlieb nehmen ;)

Im Ernst: So gefällts mir :) Danke!

BowlingX

Zitat
wenn eine Variable, bzw. ein Array-Index nicht definiert ist, aber für die Weiterverarbeitung unbedingt gebraucht wird, so wird der eben vorher definiert:

LOL, wieso einfach wenns auch kompliziert geht :D..wenn der Kopf nicht angewachsen wäre
Kein Support über Mail, (ungefragter) PN oder ICQ, ausschließlich direkt im Forum!