Notice: Undefined index... wie bekomme ich das weg?
Alex
- php
Hallo,
ich habe das Problem, dass bei mir folgende Meldung angezeigt wird:
Notice: Undefined index: Nickname in .....
Wie bekomme ich diese Notice weg?
Ich möchte folgendes machen:
Wenn ein User eingeloggt ist - soll nur der Logout Link erscheinen, ist der Besucher nicht eingeloggt, so soll nur die login sowie Registration erscheinen. Das geht soweit, nur habe ich leider diesen Notice Fehler.
Code
<?PHP
if($_SESSION['Nickname'] == '') {
echo "<a href=\"index.php?page=login.php\">Login</a>\n";
echo "<a href=\"index.php?page=registrierung.php\">Registrierung</a>\n";
} else {
echo "<a href=\"index.php?page=logout.php\">Logout</a>\n";
}
?>
<?php
Wie der Notice anzeigt, ist das Problem bei if($_SESSION['Nickname'] == '')
Diese benutze ich auch in der Login.php
echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
Gruß
Hi!
Notice: Undefined index: Nickname in .....
Wie bekomme ich diese Notice weg?
Indem du vorher mit isset() prüfst, ob das Element existiert und erst dann darauf zugreifst.
Lo!
[latex]Mae govannen![/latex]
Indem du vorher mit isset() prüfst, ob das Element existiert und erst dann darauf zugreifst.
Bei seinem Code
if($_SESSION['Nickname'] == '') {
könnte empty()
gegebenenfalls das Mittel der Wahl sein.
Stur lächeln und winken, Männer!
Kai
könnte
empty()
gegebenenfalls das Mittel der Wahl
Ja funktioniert - vielen Dank!!
Hi,
ich habe das Problem, dass bei mir folgende Meldung angezeigt wird:
Notice: Undefined index: Nickname in .....
Wie bekomme ich diese Notice weg?
In dem du prüfst, ob ein Eintrag in einem Array (bzw. generell, eine „Variable“) existiert, bevor du auf ihn zugreifst - Stichwort isset/empty.
echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
Dass der Nutzername keine HTML-eigenen Sonderzeichen enthält, hast du das an anderer Stelle bereits sichergestellt?
Ansonsten: http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
MfG ChrisB
Dass der Nutzername keine HTML-eigenen Sonderzeichen enthält, hast du das an anderer Stelle bereits sichergestellt?
Ansonsten: http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
Hi, habe ich noch nicht gemacht - werde es aber noch einbauen. Danke für den Tipp.
@@Alex:
nuqneH
<?PHP
if($_SESSION['Nickname'] == '') {
echo "<a href="index.php?page=login.php">Login</a>\n";
echo "<a href="index.php?page=registrierung.php">Registrierung</a>\n";
} else {
echo "<a href="index.php?page=logout.php">Logout</a>\n";
}
?>
Anstatt dieses Geraffels mit echo
, Escapen von Anführungszeichen und '\n
' bietet sich diese alternative Syntax an:
<?php [code lang=php]if($_SESSION['Nickname'] == ''):
?>
<a href="index.php?page=login.php">Login</a>
<a href="index.php?page=registrierung.php">Registrierung</a>
<?php else:
?>
<a href="index.php?page=logout.php">Logout</a>
<?php endif;
?>[/code]
Qapla'