php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.01.2012, 18:12  
Neuer Benutzer
 
Registriert seit: 12.12.2011
Beiträge: 2
PHP-Kenntnisse:
Anfänger
spom befindet sich auf einem aufstrebenden Ast
Standard Notice: Undefined index

Hallo zusammen.

Ich habe folgendes Problem:
Ich versuche meine Website neu zusammen zu basteln, mit wenig php Kenntnissen.
Ich will vorerst 3 Menüpunkte haben, also 3 Seiten. Alles soll aber über die index.php Datei angezeigt werden. Das sieht bis jetzt so aus:
PHP-Code:
<?php
    
if($_GET["l"] == "home") { echo 'Home' ; }
    elseif(
$_GET['l'] == "clients") { echo 'Clients'; }
    elseif(
$_GET['l'] == "kontakt") { echo 'Kontakt'; }
    else echo 
'Home ohne Variable';
    
?>
die Menübuttons verlinken dann zum beispiel auf "index.php?l=kontakt"
Es wird auch schön alles angezeigt, so wie ich das haben will!
Allerdings habe ich ein Problem, wenn ich nur auch index.php gehe... Ich bekomme folgendes angezeigt, wenn ich xampp nutze:

Notice: Undefined index: l in C:\xampp\htdocs\spomsoreeTK\index.php on line 16

Notice: Undefined index: l in C:\xampp\htdocs\spomsoreeTK\index.php on line 17

Notice: Undefined index: l in C:\xampp\htdocs\spomsoreeTK\index.php on line 18
Home ohne Variable


Wenn ich das ganze auf bplaced hochlade zeigt er nur "Home ohne Variable" an.
Was mach ich falsch?

Vielen Dank schon an alle, die mir etwas weiter helfen können. Lg spom
spom ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.01.2012, 18:15  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$_GET["l"
Nun ja, was ist wenn gar kein Get-Parameter gesetzt ist? Dann ist der Index 1 undefiniert.
Immer zuerst prüfen ob der Index existiert, bevor man ihn verwendet.

Tipp: isset()
ChrisvA ist offline   Mit Zitat antworten
Alt 31.01.2012, 18:16  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Du versuchst auf eine Variable zuzugreifen und mit einem Wert zu vergleichen, obwohl sie gar nicht existiert.

http://php.net/manual/de/function.isset.php

Edit: Zu langsam ...
Trainmaster ist gerade online   Mit Zitat antworten
Alt 31.01.2012, 18:19  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du $_GET["l"] nicht per URL angibst, ist es auch nicht da
Immer erst prüfen:
PHP-Code:
if (isset($_GET["l"]) and is_string($_GET["l"])) {
 switch (
$_GET["l"]) { //ev. strtolower($_GET["l"]);
  
case "home": echo "Home"; break;
  case 
"clients": echo "Clients"; break;
  case 
"kontakt": echo "Kontakt"; break;
  default: echo 
"Home ungültig";
 }
} else {
 echo 
"Home nicht angegeben";

Edit:
Mist, zu langsam
DEdK4ever ist offline   Mit Zitat antworten
Alt 31.01.2012, 18:45  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Noch eleganter wäre übrigens ein Array mit assotiativen Schlüsseln.
Dann muss man nur noch
PHP-Code:
include($sites[$_GET['1']].'.php'
machen und man spart sich endlose switch Case Sachen.
Natürlich davor nicht vergessen ob der Key im $sites existiert.
ChrisvA ist offline   Mit Zitat antworten
Alt 01.02.2012, 08:06  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von DEdK4ever Beitrag anzeigen
Immer erst prüfen:
PHP-Code:
if (isset($_GET["l"]) and is_string($_GET["l"])) {
 switch (
$_GET["l"]) { //ev. strtolower($_GET["l"]);
  
case "home": echo "Home"; break;
  case 
"clients": echo "Clients"; break;
  case 
"kontakt": echo "Kontakt"; break;
  default: echo 
"Home ungültig";
 }
} else {
 echo 
"Home nicht angegeben";

Zitat:
Zitat von ChrisvA Beitrag anzeigen
Noch eleganter wäre übrigens ein Array mit assotiativen Schlüsseln.
Dann muss man nur noch
PHP-Code:
include($sites[$_GET['1']].'.php'
machen und man spart sich endlose switch Case Sachen.
Jo, fast.

PHP-Code:
$allowed = array('home''page1','page2');

$page = isset($_GET['l']) ? $_GET['l'] : false;
include 
in_array($page$allowed) ? $page.'.php' 'error.php'
We call it whitelisting.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP Notice: Undefined index HCA PHP Einsteiger 5 30.12.2011 18:03
[Erledigt] Undefined offset Fehlermeldung - Array füllt sich in Etappen ProCoder2025 PHP Einsteiger 5 28.11.2011 23:33
[Erledigt] Notice - Undefined index, nur ein schönheitsfehler? strike008 PHP Einsteiger 20 08.10.2011 23:06
Notice: Undefined index: wickerman PHP Einsteiger 6 29.06.2011 16:00
Notice: Undefined index themk# PHP Tipps 2010 16 12.11.2010 15:41
[Erledigt] Notice: Undefined index: Rutor PHP Tipps 2010 4 11.02.2010 17:35
Notice: Undefined index: Jens P. PHP Tipps 2009 7 10.01.2010 14:48
Notice: Undefined property Thoresus PHP Tipps 2009 2 17.08.2009 23:30
php datei löschen djscaleo PHP Tipps 2008 21 14.11.2008 15:47
Undefined variable Undefined property: block xxJJxx PHP Tipps 2008 16 05.08.2008 15:30
Notice: Undefined index Kein Genie PHP Tipps 2008 5 23.04.2008 17:40
Notice: Undefined index: eintrag Jojo1 PHP Tipps 2005 6 16.04.2005 12:41
Notice: Undefined index: senden in ...... Skazi PHP Tipps 2005 10 28.03.2005 03:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
undefined index: l in, \notice: undefined index\, notice: undefined index: kontakt.php in

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum