php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.12.2004, 14:03  
Gast
 
Beiträge: n/a
Standard unterkat bei switch erstellen, wie denn?

hallo zusammen,

ich habe eine switch aufforderung aus meine webseite gestellt:

Code:
	case book: 
    include "book.php"; 
    break; 
	
	
    case imprint: 
    include "imprint.php"; 
    break; 
	
	
	case login: 
    include "login.php"; 
    break; 


    default: 
    include_once "home.php"; 
    break;
(nur ein ausschnitt)
die seiten werden also so angezeigt:

Code:
index.php?id=imprint
kennt ihr ja sicher schon. die hauptseite includet eine seite namnes "imprint.php".

jetzt möchte ich eine unterkategorie erstellen, die in der link ausgabe später so aussieht:

Code:
index.php?id=imprint&cat=mehr
also es soll eine unterkategorie entstehen, die die seite "mehr.php" enthält.
wo soll ich jetzt die switch aufforderung für kategorie2 hintun? in die imprint.php, dass es von ihr aus includet wird? wenn nicht, bitte korrigieren und mir sagen WAS ich tun muss. wenn richtig, bitte auch sagen, wie es funzt. bitte am besten mit beispielen.

danke
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.12.2004, 14:09  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Damit es schön aussieht, würde ich das in die imprint.php tun. Also das, was du in deiner index.php schon einmal gemacht hast, quasi wiederholen, halt nur mit der Variable $_REQUEST['cat'] statt mit $_REQUEST['id'], also

Code:
switch ($_REQUEST['cat'])
{
case 'mehr':
include "mehr.php";
break;
}
btw. Im Case nach Möglichkeit wie in meinem Beispiel feste Strings nutzen. Du könntest sonst mit speziellen Seitennamen etwas Probleme kriegen, weil du derzeit auf Konstanten zugreifst, die eventuell schon definiert sind.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online  
Alt 29.12.2004, 14:10  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Mir ist nochwas eingefallen: Du kannst es etwas übersichtlicher zusammenfassen. Es geht dir ja nur darum, zu filtern was man sehen darf und was nicht. Also:

Code:
switch ($_REQUEST['id'])
{
  case 'book':
  case 'imprint':
  case 'login':
    include $_REQUEST['id'].'.php';
    break;
  default:
    echo "Böser putter Link";
    break;
}
Das kann man auch als Array machen. Die Möglichkeiten sind endlos
mepeisen ist gerade online  
Alt 29.12.2004, 14:28  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nur grob.
PHP-Code:
<?php
 

  
if( file_existsbasename($_REQUEST['id']) . '.php') )
  {
      require 
basename($_REQUEST['id']) . '.php';
  }
  else
  {
      
// wie mepeisen sagen würde ^^
      
echo 'böser putter link.';
  }
   

?>
schön mit file_exists() prüfen, ob die datei überhaupt existiert, nicht wahr?
imported_Ben ist offline  
Alt 29.12.2004, 14:40  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Wobei dann wieder die Prüfung weg ist, ob man überhaupt an diese Datei ran darf. Also am besten eine Kombination aus Bens Vorschlag und meinem Vorschlag und dann wöre es richtig gut
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online  
Alt 29.12.2004, 14:42  
Gast
 
Beiträge: n/a
Standard

ok, danke für alles.
aber ne kleine question noch:

wie mache ich ihm klar, dass er "home.php" (also die erste seite beim aufrufen) includen soll ?
 
Alt 29.12.2004, 14:47  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?php 


  
if( file_existsbasename($_REQUEST['id']) . '.php') ) 
  { 
      require 
basename($_REQUEST['id']) . '.php'
  } 
  else 
  { 
      require 
'home.php';
  } 
    

?>
@mepeisen.
meine lösung setzt voraus, dass alle dateien in dem verzeichnis eingebunden werden dürfen.
das mach ich immer so .. es gibt ordner für klassen, ordner für bilder, ordner für xyz und einen ordner für inhalt ... "data"
imported_Ben ist offline  
Alt 29.12.2004, 15:09  
Gast
 
Beiträge: n/a
Standard

um ehrlich zu sein, die unterkat geht nicht. die ganze page kommt dadurch durcheinander, obwohl sie damit nichts zu tun hat. mache ich aber die php-tags der UK weg, geht alles einwandfrei. entweder bin ich zu blöd oder ich mach was falsch.
 
Alt 29.12.2004, 15:12  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Was für Tags???

Wie genau sehen denn deine Scripte nun aus?
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online  
Alt 29.12.2004, 15:12  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du testest mein beispiel nicht.
in der z.b. imprint.php

steht dann
PHP-Code:
<?php 


  
if( file_existsbasename($_REQUEST['cat']) . '.php') ) 
  { 
      require 
basename($_REQUEST['cat']) . '.php'
  } 
  else 
  { 
      require 
'imprint_home.php'
  } 
    

?>
grüße ben.
imported_Ben ist offline  
 


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
Info Seite erstellen Galrian PHP Tipps 2008 1 18.01.2008 15:17
.htpasswd Datei erstellen obi Server, Hosting und Workstations 9 26.09.2006 13:27
Datei erstellen und schreiben - WICHTIG! MessengerNews! PHP Tipps 2006 12 13.08.2006 22:36
darf keine Datenbank erstellen in phpMyAdmin Datenbanken 2 20.10.2005 19:32
Login Bereich erstellen nicobischof PHP Tipps 2005-2 2 17.10.2005 21:40
Automatisch E-Mail Adressen erstellen lassen? Beitragsarchiv 5 24.08.2005 15:36
Eindeutiger Zähler erstellen geht nicht bendigo Datenbanken 1 18.08.2005 11:36
Wie in DOM eine Textbox erstellen? HTML, Usability und Barrierefreiheit 2 16.08.2005 13:12
2 switch abfragen in einer datei!? CHRIS PHP Tipps 2005-2 6 29.06.2005 20:17
Stammbaum erstellen Riot PHP Tipps 2005 17 13.05.2005 16:32
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
Dateien erstellen oder schreiben funktioniert nicht im Web PHP Tipps 2004-2 1 05.12.2004 19:39
while innerhalb von switch PHP Tipps 2004 2 10.09.2004 18:19
Textgrafik aus String erstellen Schaelle PHP Tipps 2004 2 08.08.2004 11:29
Ordner per Skript erstellen --> Rechte Problem PHP Tipps 2004 2 06.07.2004 14:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:07 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.