php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.04.2006, 10:19  
Erfahrener Benutzer
 
Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse:
Anfänger
Buschdieb
Standard Seite nicht ohne design aufrufen

Hi!

ich hab mal wieder ein kleines Problem...

Ich habe eine index.php in der ich das menu und alle anderen seiten wie z.B. News, Kontakt include. Nun ist mein Problem.. Wenn ich die Seite Kontakt mit dem richitgen Dateinamen anspreche... öffnest sich nur diese ohne das design was auf der index.php liegt)

Code:
switch($page)
{
    case Kontakt:        include("kontakt.php");
                      break;

    case News:        include("news.php");
                      break;
    default:       include("news.php");
                      break;                 
}?>

index.php?page=Kontakt

hat jemand eine idee wenn ich die seite kontakt (kontakt.php) öffne, sie mit der index.php geöffnet wird. (index.php?page=Kontakt)

Danke![/code]
__________________
fragen ist kostenlos!

Buschdieb.com
Buschdieb ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.04.2006, 10:31  
Gast
 
Beiträge: n/a
Standard

Wann haben hier endlich alle gelernt, error_reporting(E_ALL); an den Anfang eines Scriptes zu schreiben. PHP möchte dir garantiert etwas sagen, aber du hörst nicht hin!

switch($_GET['page'])
case "Kontakt":
case "News":

Auch nicht zu verachten:

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.


Gruß
phpfan
 
Alt 21.04.2006, 10:33  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von phpfan
$_GET['page']
hierzu noch 'n Link : http://faq.kwm-web.info/doku.php?id=...gister_globals
M3g4Star ist offline  
Alt 21.04.2006, 10:41  
Erfahrener Benutzer
 
Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse:
Anfänger
Buschdieb
Standard

sorry hab den code nur unvollständig gepostet..

Code:
<?php $page=$_GET['page'];
switch($_GET['page']) 
{

    case Referenzen:        include("referenzen.php");
                      break;
    case Bestellrichtlinien:       include("bestellrichtlinien.php");
                      break;
     case Bestellung:       include("bestellung.php");
                      break;
     case Kontakt:       include("kontaktformular.php");
                      break;
	 case Kontakt_auswerten:       include("kontaktformular-auswerten.php");
                      break;
     case Impressum:       include("impressum.php");
                      break;
	 case Toplist:       include("toplist/index.php");
                      break;
     case Links:       include("links.php");
                      break;
     case Sonstiges:       include("sonstiges.php");
                      break;
     case admin:       include("newsletter-admin.php");
                      break;
	case news_archiv:       include("news_archiv.php");
                      break;
    default:       include("news.php");
                      break;                 
}?>
__________________
fragen ist kostenlos!

Buschdieb.com
Buschdieb ist offline  
Alt 21.04.2006, 11:09  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Buschdieb
sorry hab den code nur unvollständig gepostet..
Kopschüttel

Ändert aber nichts an meiner ersten Antwort.

Gruß
phpfan
 
Alt 21.04.2006, 11:29  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wo definierst du die Konstanten, die du in den case's benutzt?

error_reporting(E_ALL) hast du immernoch nicht eingebaut...
Zergling-new ist offline  
Alt 21.04.2006, 13:27  
Erfahrener Benutzer
 
Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse:
Anfänger
Buschdieb
Standard

Hab jetzt error_reporting(E_ALL) eingebaut udn jetzt kommen ganz viele fehlermeldungen..
was meint ihr denn mit den Konstanten? Das sagt mir gar nix!

Danke

Notice: Use of undefined constant Referenzen - assumed 'Referenzen' in /www/htdocs/XXX/web/index.php on line 101

Notice: Use of undefined constant Bestellrichtlinien - assumed 'Bestellrichtlinien' in /www/htdocs/XXX/web/index.php on line 103

Notice: Use of undefined constant Bestellung - assumed 'Bestellung' in /www/XXX/buschd/web/index.php on line 105

Notice: Use of undefined constant Kontakt - assumed 'Kontakt' in /www/htdocs/XXX/web/index.php on line 107

Notice: Use of undefined constant Kontakt_auswerten - assumed 'Kontakt_auswerten' in /www/htdocs/XXX/web/index.php on line 109

Notice: Use of undefined constant Impressum - assumed 'Impressum' in /www/htdocs/XXX/web/index.php on line 111

Notice: Use of undefined constant Toplist - assumed 'Toplist' in /www/htdocs/XXX/web/index.php on line 113

Notice: Use of undefined constant Links - assumed 'Links' in /www/htdocs/XXX/web/index.php on line 115

Notice: Use of undefined constant Sonstiges - assumed 'Sonstiges' in /www/htdocs/XXX/web/index.php on line 117

Notice: Use of undefined constant admin - assumed 'admin' in /www/htdocs/XXX/web/index.php on line 119

Notice: Use of undefined constant news_archiv - assumed 'news_archiv' in /www/htdocs/XXX/web/index.php on line 121

Notice: Undefined variable: mysqlserver in /www/htdocs/XXX/web/config.php on line 8
__________________
fragen ist kostenlos!

Buschdieb.com
Buschdieb ist offline  
Alt 21.04.2006, 13:36  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Wieso sollte man überhaupt kontakt.php direkt aufrufen? Ich hab das ähnlich gemacht, also das ich nur die Index-Datei habe und von dort aus die anderen Aufrufe. Da hab ich dann allerdings den Zugriff auf alle anderen php-Dateien gesperrt (.htaccess). Falls du nun wirklich die kontakt.php direkt so aufrufen willst, kannste das gute mod_rewrite (Apache-Modul) verwenden

Code:
RewriteEngine on
RewriteRule ^(index|kontakt|zweite|dritte|undnocheine){1}\.php(\?{1}(.*))?$ $index.php?page=$1&$2 [L]
Kurze Erläuterung: 1. Zeile aktiviert das Ding (logisch). Die zweite Zeile such vom Beginn (^) der URL (ab dem Teil nach "domain.tld/") nach genau eins der Wörter in der Klammer, danach nach ".php" und falls noch Argumente übergeben werden, werdense eben auch mit übernommen.

Ich habe grad kein Plan, obs klappt, es war aus dem Kopf ma so hingeschrieben. Infos findet man auch (ua) hier
KingCrunch ist offline  
Alt 21.04.2006, 13:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Konstante
"keine Konstante"
Zergling-new ist offline  
Alt 21.04.2006, 13:41  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ich würd es nicht unbedingt über mod_rewrite lösen.
1. Hat man nich überall mod_rewrite.
2. Muss jedes mal die .htaccess Datei geändert werden wenn eine neue Seite hinzukommt.

Du solltest in der Index.php am Anfang eine Konstante definieren

PHP-Code:
<?php
define
('meine_konst',1);
?>
Und in der Kontakt.php fragst du dann ab ob die Konstante gesetzt ist. Wenn ja dann weißt du das die Kontakt.php in die Index.php included wurde wenn nicht ist die Kontakt.php seperat aufgerufen worden.

PHP-Code:
<?php
if(!defined('meine_konst'))
{
    
// Tu was du willst z.b.
    
exit;
    
// ODER auf die Index.php weiterleiten
    
header('Location: Index.php');
}

// Ansonsten geht dann der normale Code weiter. 
?>

Das definieren der Konstante solltest du GANZ am Anfang der Index.php machen bevor irgendeine Seite includet wird auch soetwas wie Config.php.

Die Abfrage ob die Konstante definiert ist kannst du in JEDE Datei schreiben die NICHT seperat aufgerufen werden soll.

Das phpBB Forum macht es z.B. genauso.
Flor1an 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
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Neue Seite aufrufen mike-loewe PHP Tipps 2008 6 17.01.2008 10:24
Eintrag in DB und Wechsel zu anderer Seite Darson PHP Tipps 2008 25 14.01.2008 16:46
Mit JS separate Seite im Hintergrund aufrufen. scooter HTML, Usability und Barrierefreiheit 2 25.04.2006 15:47
Design Beitragsarchiv 26 04.06.2005 20:56
Seite bei einer wahren Bedingung Aufrufen nieselfriem PHP Tipps 2005 5 30.05.2005 16:49
PHP Seite einbinden in PHP Seite PHP Tipps 2005 8 22.05.2005 19:55
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Funktion aufrufen im selben Script aufrufen PHP Tipps 2005 5 23.02.2005 21:21
Seite aus script aufrufen nixdorf PHP Tipps 2005 2 15.02.2005 21:18
seite einmal aufrufen dann nicht mehr PHP Tipps 2004 4 04.08.2004 23:07
Templates (?) - dynamische Seite - Problem PHP Tipps 2004 0 15.07.2004 16:45
[Erledigt] Tabelle auf einer Seite auslesen und in meiner Seite wiederg PHP Tipps 2004 2 14.07.2004 08:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php seite ohne design, bestellung.php

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