umleitung wenn SID nicht registriert ?
hande
- php
g. morgen,
folgendes
auf verschiedenen Seiten einer website wird der inhalt aus der datenbank generiert.
nun möchte ich vermeiden, daß der user die url direkt aufrufen kann,
(www.something/daten.php) weil so die nötigen variablen nicht zu verfügung stehen (www.something/daten.php?var=$var&var_2=$var_2....)
und somit der spezielle DB-Inhalt nicht angezeigt wird
also hab ich mir gedacht daß ich abfrage/umleite (auf den relevanten seiten):
session_start($ID);
if ($ID == ""){
Header ('Location:index.php');
}
auf der index.php
führe ich ein session_register($ID) aus
funktioniert zwar, bin aber nicht sicher ob das eine gute vorgehensweise ist,
oder wie würde man es üblicherweise machen ??
(register_globals = on)
danke für einen tip
hande
Tach auch,
session_start($ID);
if ($ID == ""){
Header ('Location:index.php');
}
1. header("LOCATION: http://deine.domain.de/");
Meines Wissens nach darf man nicht nur die index.php hinschreiben.
führe ich ein session_register($ID) aus
Würd ich nicht machen. Bei globals auf on kann der User doch www.deine.dom.de/?id=xhdkeifk eintippen und schon ist der drin...
funktioniert zwar, bin aber nicht sicher ob das eine gute vorgehensweise ist,
Nein.
(register_globals = on)
Ist unsicher.
Besser: Speicher auf deiner Startseite eine Var in das Array $_SESSION ab:
Bsp:
index.php:
session_start();
if(!isset($_SESSION["richtig_gestartet"]) || $_SESSION["richtig_gestartet"]=="" || $_SESSION["richtig_gestartet"]=="nein")$_SESSION["richtig_gestartet"]="ja";
##Hier der inhalt....
Deine Unterseiten:
session_start();
if(!isset($_SESSION["richtig_gestartet"]) || $_SESSION["richtig_gestartet"]=="" || $_SESSION["richtig_gestartet"]=="nein")
{
$_SESSION["richtig_gestartet"]="nein";
header("Location: http://www.deine_domain.de");
exit;//Nix mehr hier machen!!!
}
else
{
print "Dieser User kam über meine Startseite";
}
Greets Tom1tk
Moin!
auf verschiedenen Seiten einer website wird der inhalt aus der datenbank generiert.
nun möchte ich vermeiden, daß der user die url direkt aufrufen kann,
(www.something/daten.php) weil so die nötigen variablen nicht zu verfügung stehen (www.something/daten.php?var=$var&var_2=$var_2....)
und somit der spezielle DB-Inhalt nicht angezeigt wird
Warum dann so kompliziert gedacht?
Prüfe einfach, ob alle notwendigen Variablen übergeben wurden, und wenn nicht, gibst du einen Redirect aus.
Dazu brauchst du keinerlei Session (das von dir angedachte Verfahren sieht mir außerdem arg falsch und veraltet aus).
- Sven Rautenberg