PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   index-System meiner neuen Homepage (http://www.selfphp.de/forum/showthread.php?t=20048)

Cokie 15.08.2008 17:21:12

index-System meiner neuen Homepage
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ersteinmal: Ich bin neu, habe mit PHP Anfängererfahrung gemacht. Mit MySQL-Datenbanken habe ich auch schon ein wenig experimentiert, aber weiter reicht mein Wissensstand leider nicht. :D

Nun ich bin grade dabei meine Homepage neu zu gestalten. Das Design steht im großen und ganzen schon, nur jetzt mach ich mir Gedanken über die Umsetzung. Ich wollte von purem HTML Abstand nehmen.

Nun ich habe schon verschiedene Methoden gesehen:
1.Methode:
index.php?site=startseite
index.php?site=impressum
2.Methode
Startseite: domain.de/index.php
Impressum: domain.de/impressum.php

Nun welche Methoden gibt es noch? Kann man aus der 1. und 2. einen Mix machen? Also das in der Adresszeile index.php?site=impressum steht und aber tatsächlich auf eine impressum.php verlinkt?

Nun ich kenne mich da nicht aus, vieleicht habt ihr ja noch ganz andere Dinger auf Lager. Meine Homepage wird vom Grundaufbau ungefähr so aussehen, damit die Navaigation verständlich ist habe ich mal eine kleine Animation hinzugefügt ;) (siehe Anhang)

Die verschiedenen Navigationsbilder (versch. Farben) werden in einer ext. CSS Datei festgehalten. Nun muss ich PHP-Text lediglich einen Vermerk schreiben, dass bei Seite 1 auf grün Seite 2 auf orange usw.. gemacht werden soll.
Nun ich habe schon einen kleinen Plan wie es aussehen soll, aber kein Plan von der Umsetzung.. :(

Ich hoffe ihr habt ein paar Tipps für mich,

Vielen Dank
Cokie

cortex 16.08.2008 12:59:23

AW: index-System meiner neuen Homepage
 
Zitat:

Zitat von Cokie (Beitrag 119615)
Nun ich habe schon verschiedene Methoden gesehen:
1.Methode:
index.php?site=startseite
index.php?site=impressum
2.Methode
Startseite: domain.de/index.php
Impressum: domain.de/impressum.php

das ist dasselbe. die ziel-uri ist lediglich per mod_rewrite umgeschrieben. für den anfang empfehle ich dir, ohne das rewrite-modul zu arbeiten (1. methode) um überhaupt erst einmal einen fuss auf den boden zu bekommen.

Zitat:

Zitat von Cokie (Beitrag 119615)
Also das in der Adresszeile index.php?site=impressum steht und aber tatsächlich auf eine impressum.php verlinkt?

du musst lediglich die entsprechende GET-var auswerten; in diesem falle:

$_GET[ 'site' ]

cx

Ckaos 25.08.2008 00:12:52

AW: index-System meiner neuen Homepage
 
Zitat:

Zitat von cortex (Beitrag 119637)
das ist dasselbe. die ziel-uri ist lediglich per mod_rewrite umgeschriebencx

würd ich so nich stehen lassen sondern vielleicht so:
"Kann sein das mod_rewrite benutzt wurde und es dadurch das selbe ist."
nämlich ein Templatesystem welches die z.B."index.php" missbraucht jeweils die
angeforderten Seiten zu laden. Dies ist nach neusten Richtlinien (siehe Design von Code trennen) üblich. mod_rewrite macht ja "nur" schöne url's ;)

Ich empfehle dir für den Anfang mit einzelnen phpfiles zu arbeiten solltest du das hinter
dir haben und erkennen was sich immer wiederholt (z.B. Datenbankabfragen) kannst du diese
auslagern und per include einbinden.

Solltest du das wiederum geübt haben gehe über zu den Templatesystemen. Die haben den Vorteil
das du deine Arbeit besser aufteilen kannst und sie im nachhinein leichter anpassen/verändern kannst.

code zum weiterdenken:

PHP-Code:

<?php
$page
=$_GET['page'];
if(!
$page){
$page="Start.php";
}else{
// ACHTUNG hier sollte Kontrollstruktur rein die $page überprüft sonst Codeinject möglich
$page=$page.".php";
}
include(
$page);
?>

Beachte bitte den Hinweis im Code!

mfg

cortex 25.08.2008 11:09:32

verbesserung
 
Zitat:

Zitat von Ckaos (Beitrag 119974)
würd ich so nich stehen lassen

du hast selbstverständlich recht - es besteht die möglichkeit. die frage deutete jedoch auf unkenntnis fundamentaler zusammenhänge hin; daher mein pauschales statement.

Zitat:

Zitat von Ckaos (Beitrag 119974)
mod_rewrite macht ja "nur" schöne url's

das rewrite-modul ist so mächtig, dass diese aussage nun auch wieder zu "einfach" ist. mod_rewrite isn't just a beautifier...

anm. 1 die von dir beschriebene folge einzelne files - includes - templatesystem greift imho zu kurz; für mich persönl. bedeutet diese reihenfolge keine evolution.

anm. 2 von einem missbrauch der index.php kann man sicher nicht reden, wenn man eine zentrale projektsteuerung über oop realisiert und gar keine anderen extern zugänglichen php-files vorhält.

cx

Cokie 28.08.2008 16:20:47

AW: index-System meiner neuen Homepage
 
öhm ja,.. ihr Pro's

und wie soll ich es nun machen? Was ist das einfachste? Ich hab jetzt sowas:

Ist nur erstmal ein Test:

PHP-Code:

<?php
//index.php
$title ='Cookies wundersch&ouml;ne Homepage - ';
$site 'start';

   echo (
"<title>$title$htmltitle</title><body bgcolor=\"$bgcolor\">");

if (
$_GET["site"] == 'start')
  {
   include(
'./main.php');
  }

if (
$_GET["site"] == 'surftipps')
  {
   include(
'./surftipps.php');
  }

if (
$_GET["site"] == 'impressum')
  {
    include(
'./impressum.php');
  }
if (
$_GET["site"] == false)
  {
    echo 
'Hier ist ein Fehler';
  }
?>

impressum sieht dann z.B. so aus:

PHP-Code:

<?php
   $bgcolor
="#CCCCFF";
   
$htmltitle ="Impressum";
   echo 
'
    <a href="index.php?site=start">Startseite</a><br/>
    <a href="index.php?site=surftipps">Surftipps</a><br/>
    <a href="index.php?site=impressum">&raquo;Impressum/dada.php</a>
        '
;
?>


Cokie 02.09.2008 20:19:53

AW: index-System meiner neuen Homepage
 
Hallo?

Indyk 03.09.2008 06:59:13

AW: index-System meiner neuen Homepage
 
Hallo Cokie,

a)
Ein Hochschieben des Threads wird nicht gerne gesehen, und wenn du wirklich hilfe erwartest dann ist es auch ein bisschen unhöflich um aufmerksamkeit zu betteln.

b)
lange if zweige können mit einer switch anweisung übersichtlicher gestaltet werden
in deinem fall wäre das dann z.b:
PHP-Code:

switch($_GET['site'])
{
   case 
'start':
      include 
'....';
   break;

   case 
'impressum':
      include 
'....';
   break;

   default:
      
inlucde '....';
   break;


c)
kann man da auch ein bisschen dynamischer gestalten indem du die zu includierenden php dateien so nennst wie die parameter. Beispiel:
PHP-Code:

if(isset($_GET['inc']))
{
   
// index.php?inc=imp
   
$dir 'include/'.$_GET['inc'].'.php';
   if(
file_exists($dir))
   {
      include 
$dir// include 'include/imp.php';
   
}
   else
   {
      echo 
'keine datei für diesen Parameter';
   }


dazu könntest du z.B. noch einen array haben in dem du alle gülltigen parameter abspeicherst z.B.:
PHP-Code:

$arr[0] = 'imp';
$arr[1] = 'start';
$arr[2] = 'surftipps';

if(isset....)
{
   if(
in_array($_GET['inc'])
   {
      
// darf includiert werden
      // (natürlich mit der abfrage ob die datei exisitert (wie oben beschrieben)      
   
}
   else
   {
      
// echo 'Sie haben keine rechte für diesen Parameter';
   
}


so ungefähr würde ich das in deine index.php einbauen , so habe ich es auch ne ganze weile gemacht bis ich angefangen hab mit objekten zu arbeiten.

Es ist vll. nicht der königsweg aber ich halte ihn für simpel und sicher.

Cokie 04.09.2008 17:12:42

AW: index-System meiner neuen Homepage
 
Zitat:

Zitat von Indyk (Beitrag 120148)
Ein Hochschieben des Threads wird nicht gerne gesehen, und wenn du wirklich hilfe erwartest dann ist es auch ein bisschen unhöflich um aufmerksamkeit zu betteln.

Wie sonst, soll ich auf das Thema erneut aufmerksam machen? Kann ja nicht monatelang warten bis mal eine Antwort kommt. Um so länger nichts geschrieben wurde umso mehr versackt das Thema im Nivana des Boards,... also wie sonst eine Antwort bekommen?

Nunja,.. Ich möchte dir vielmals Danken, dafür, dass du mir geantwortet hast.
Zu der switch-case-Abfrage,.. nun was hat das 'default' zu sagen?
Ansonsten hat das switch-case in meinem test auch ganz gut abgeschnitten... ^^

Zur dynamischen Variante ist mir noch ein bisschen zu kompliziert, ich werd mich aber mal durchfitzen ;)
Und die Array-Variante,.. mhh mit Arrays kann ich noch nicht viel anfangen ich werd mich demnächst mal damit beschäftigen.

Vielen Dank
Cokie

The Serious Sam 05.09.2008 01:03:27

AW: index-System meiner neuen Homepage
 
meine bevorzugte variante ist folgende:

PHP-Code:

<?php

$pages 
= array();

// In den klammer steht der link, alo z.B. ?site=forum und der wert ist die datei, die eingebunden werden soll in dem fall forum.php
$pages['news'] = 'news.php';
$pages['forum'] = 'forum.php';
$pages['impressum'] = 'impressum.php';

// kurze if-abfrage zur überprüfung
if(isset($_GET['site']) && isset($pages[$_GET['site']])) {
    include 
$pages[$_GET['site']];
} else {
    include 
'startseite.php';
}

?>


cortex 05.09.2008 09:13:16

index
 
Zitat:

Zitat von Cokie (Beitrag 120195)
Zu der switch-case-Abfrage,.. nun was hat das 'default' zu sagen?

aus dem php-handbuch:

Zitat:

Ein Spezialfall ist default. Dieser Fall trifft auf alles zu, was nicht von den voranstehenden case-Ausdrücken erfasst wurde und sollte als letzte case Anweisung angegeben werden.
http://de.php.net/manual/de/control-...res.switch.php

cx


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:50:55 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.