php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2004, 14:43  
Gast
 
Beiträge: n/a
Standard Umleitung wenn Parameter direkt angesteuert wird

Seid gegrüßt, hier meine Frage:

Ich habe eine Website, in der per variablen und include immer nur in die index.php neue Inhalte eingefügt werden. (die url also dann immer index.php?xyz ist).
Ich will verhindern, dass die Datei xyz über eine Eingabe in das Adressfenster direkt angewählt werden kann (also http://meinedomain/ordner/xyz.php)

Nach meinem Verständnis muss die Datei xyz also "merken", ob sie über den include Befehl in die index.php Datei eingefügt wurde, oder per Eingabe im Adressfeld direkt angesteuert wurde. Falls sie direkt angesteuert wurde, müsste sie den Nutzer zu index.php?xyz umleiten.

Für mich ist das Problem ein gordischer Knoten, für euch wahrscheinlich nur ein Anlaß zu leichtem Schmunzeln. Für Ideen wäre ich daher sehr dankbar.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.08.2004, 15:00  
Gast
 
Beiträge: n/a
Standard

Mehrere Möglichkeiten, eine z.B:

in die index.php:
PHP-Code:
define("SET_INDEX",TRUE); 
in die xyz.php:
PHP-Code:
if(!is_defined("SET_INDEX")) {
    
header("Location: http://www.deine-url.de/index.php");
    exit;         

dazu:
http://de3.php.net/header
http://de3.php.net/define

der Header kann aber nur verändert werden, wenn du sicherstellst das es noch KEINE Ausgabe gegeben hat. Nichtmal ein leerzeichen. Zur Sicherheit dazu:
http://de3.php.net/ob_start

gruß
 
Alt 25.08.2004, 15:11  
Gast
 
Beiträge: n/a
Standard Funktioniert leider nicht

Erstmal ein beeindrucktes WOW für die schnelle Antwort, shoryuken. Leider funktioniert die Lösung nicht.

Die Fehlermeldung lautet: Fatal error: Call to undefined function: is_defined() in ...

Habe ich vielleicht die Sachen falsch in den head bzw. body gepackt?

Du erwähnst noch andere Möglichkeiten. Welche gibt es noch?
 
Alt 25.08.2004, 15:15  
Gast
 
Beiträge: n/a
Standard

es heisst nich is_defined sondern defined()
PHP-Code:
<? 
if(!defined("SET_INDEX")) { 
    
header("Location: http://www.deine-url.de/index.php"); 
    exit;          
}
?>
 
Alt 25.08.2004, 15:16  
Gast
 
Beiträge: n/a
Standard

jopp erstens das von Paine,

zweitens wegen der mehreren Möglichkeiten. Mn könnte auch noch Sessions
miteinbauen, dass auf der index ne spezielle session-variable gesetzt wird,
und die auf der unterseite abfrägt. aber das mit der konstanten is wirklich
ne ausreichende lösung
 
Alt 25.08.2004, 15:31  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
function is_defined($var) {
    return (
defined($var)) ? true false;

so jetzt gehts auch mit is_defined :wink:
 
Alt 25.08.2004, 15:43  
Gast
 
Beiträge: n/a
Standard Geht das auch ohne header?

Bin schwer beeindruckt ob der Schnelligkeit eurer Antworten. Eigentlich wäre jetzt eine Runde fälli ... da hat der virtuelle Raum doch seine Nachteile.

Um das ganze auf die Spitze zu treiben, habe ich noch eine Frage:

Wenn die Datei, die ich per include in den body meiner index.php einfüge, selber gar keinen header hat, sondern nur reiner text ist , und der header daher immer von der index.php geliefert wird, gibt es da auch eine Möglichkeit?

Ich weiß, dass es bei html und frames die Option gibt, zu prüfen, ob eine Seite in ein Frameset eingebettet ist oder nicht und sie ggf. dann in dem Set zu laden. Genau so etwas bräuchte ich auch für meine xyz.php datei, die nicht über einen eigenen header verfügt.
 
Alt 25.08.2004, 15:45  
Gast
 
Beiträge: n/a
Standard

heisst header für dich <head>-bereich in einer html-struktur? weil den braucht
es dazu nicht.

du kannst direkt mit php einsteigen und dann kann stinknormaler weiterer
text folgen, muss halt nur eine .php datei sein!
 
Alt 25.08.2004, 15:48  
Gast
 
Beiträge: n/a
Standard

Also meine index Datei hat schon einen <head> Bereich mit Meta Tags usw.
 
Alt 25.08.2004, 15:52  
Gast
 
Beiträge: n/a
Standard

die spielt aber hier keine rolle. deine frage bezog sich ja auf seiten die per
include() reingeladen werden, dass die keinen haben - nicht oder?

ich wollte sagen, dass das keine rolle spielt, wenn die sowas nicht haben.

index.php
PHP-Code:
<?

// unnötiger kram

define("SET_INDEX",TRUE); 
include( 
'weitere_datei.php' );

// mehr kram

?>
weitere_datei.php
PHP-Code:
<?

if(!defined("SET_INDEX")) 
{
    
header("Location: http://www.deine-url.de/index.php");
    exit;          
}

// hier dann die eigentliche ausgabe

?>
klar worauf ich raus will/wollte?
 
 


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] Variable Anzahl Parameter bie build-in-functions sqrt PHP Tipps 2008 16 25.05.2008 23:00
Referer und Umleitung GSJLink PHP Tipps 2008 16 12.05.2008 14:22
$_GET, $_POST direkt auslesen oder als Parameter Igäl PHP Tipps 2008 5 17.08.2007 14:36
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
Variable als optionalen Parameter? Mex PHP Tipps 2006 3 20.04.2006 07:05
?id= und andere Parameter Beitragsarchiv 10 12.04.2006 09:43
Brauche Hilfe - Dateien direkt online ändern (Office) Off-Topic Diskussionen 5 01.11.2005 20:41
Parameter wird nicht übergeben HTML, Usability und Barrierefreiheit 4 06.10.2005 13:53
einen parameter verstecken seven-12 PHP Tipps 2005-2 8 27.07.2005 16:57
[Erledigt] Parameter uebergeben PHP Tipps 2005-2 10 20.07.2005 16:55
functionen - optionale Parameter PHP Tipps 2005 7 23.05.2005 19:08
PHP-Befehle direkt ausführen cycap PHP Tipps 2005 6 09.05.2005 17:04
direkt drucken ohne vorher drucker auszuwählen PHP-Fortgeschrittene 5 10.02.2005 19:58
Delimeter enthält als Zeichen Parameter, und jetzt??? Ypsillon PHP Tipps 2004-2 3 10.12.2004 12:47
Alle $_GET[] parameter auslesen PHP Tipps 2004 3 09.08.2004 14:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
parameter im adressfenster einfügen

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 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.