Autor |
Nachricht |
loveandhate
Threadersteller
Dabei seit: 24.12.2007
Ort: Seligenstadt
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 07:59
Titel [PHP] User Weiterleitung Contentberiech |
|
|
Haaalo,
also ich möchte auf meiner Seite einen Kundenbereich anlegen. Dazu habe ich schon einen Userlogin und die entsprechende Mysql-Abfrage, Weiterleitung und "Ausloggen" eingebaut. Dabei bin ich nach folgendem Script vorgegangen:
http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html
So. Nun möchte ich allerdings für jeden Kunden bzw. User der Zugriff hat, eine eigene Contentseite einrichten. D.h. wenn sich user a anmeldet, wird er zu contenta.php weitergeleitet, wenn User B, dann contentb.php usw.
Vielleicht kann mir da ja jmd helfen, da ich nicht so fitt bin, als das ich das selber machen kann Von der reinen Vorstellung müsste man ja irgendwo eine if-than-Abfrage einbauen, aber wo und wie ?
Danke schon mal und noch einen schönen Sonntag
Greez
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 09:21
Titel
|
|
|
Naj,
ich hab mir jetzt das Tut nicht angeschaut, aber du hast ja die Sessionvariablen mit denen du arbeiten kannst.
Hast du jeweils eine eigene Seite erstellt für jeden ser oder wie läuft das?
Ich würde da ganz anders rangehen, da ich denke, du willst einfach nur eine personalisierte Seite für jeden haben?
Dann kannst du das ganze dynamisch aufbauen: du hinterlegst die Daten allesamt in Datenbanken und lädst dann je nach Usereinstellungen den Content in eine einzige Loginstartseite rein.
Hier arbeitest du wiederum mit den Sessionvariablen, wenn du die mySQL Abfrage machst.
Wenn du es so wie du geschrieben hast, lösen willst (Qick'n'dirty):
Code: |
if(!empty($_SESSION["user"]))
{
switch($_SESSION["user"])
{
case "user1": include("userseite_a.inc.php"); break;
case "user2": include("userseite_b.inc.php"); break;
case "user3": include("userseite_c.inc.php"); break;
default: die("this user doesn't exist!");
}
} |
Kann man natürlich noch verbessern, aber vom Ansatz her passts.
|
|
|
|
|
Anzeige
|
|
|
loveandhate
Threadersteller
Dabei seit: 24.12.2007
Ort: Seligenstadt
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 10:58
Titel
|
|
|
Edit:
Ja ich erstelle dann für jeden Benutzer eine individuelle Seite....
ALso ich brauche einfach nur eine Weiche, welche nach dem erfolgreichen Login, den user auf seine Seite leitet....
D.h. vom Formular aufs login.php mit dem Datenbank connect wo abgefragt wird, ob der benutzer existiert und session variablen erstellt werden und dann bräuchte man noch einen zusatz wo der user eben auf seine seite weitergeleitet wird....
login.php
Code: |
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "", "");
if (!mysql_select_db ("", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];
header ("Location: intern.php");
}
else
{
header ("Location: kundencenter.php?fehler=1");
}
?> |
anstatt dem header ("Location: intern.php"); müsste dann die weiche hin oder?
Zuletzt bearbeitet von loveandhate am So 05.04.2009 12:13, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst So 05.04.2009 13:00
Titel
|
|
|
nicht zwingend. die intern.php könnte auch anhand von variablen unterschiedlichsten content reinladen. die variablen zum content-laden könnten übrigens doch auch in der datenbank stehen...
|
|
|
|
|
loveandhate
Threadersteller
Dabei seit: 24.12.2007
Ort: Seligenstadt
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 13:23
Titel
|
|
|
Code: |
if($_SESSION['user_id'] == 1) { header ("Location: intern1.php");
}
elseif($_SESSION['user_id'] == 2) { header ("Location: intern2.php");
}
else
{ header ("Location: kundencenter.php?fehler=1"); }
|
[/code]
Könnte eine weiche dann so aussehen?
edit:
ja es funktioniert ....Danke nochmal.
Zuletzt bearbeitet von loveandhate am So 05.04.2009 13:24, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst So 05.04.2009 13:28
Titel
|
|
|
ja. kann es. so musst du aber für jeden user eine eigene seite anlegen. ist halt die frage, wie genau sich die inhalte der userseiten unterscheiden.
und kleine frage zur "sicherheit"...
wenn ich sehe, dass ich automatisch auf intern17.php geleitet werde, brauche ich nur eins und eins zusammenzählen, um zu vermuten, dass es auch intern16.php u.s.w. gibt.
wer oder was verhindert, dass ich einfach intern16.php im browser eingebe
|
|
|
|
|
loveandhate
Threadersteller
Dabei seit: 24.12.2007
Ort: Seligenstadt
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 13:34
Titel
|
|
|
hmm....stimmt natürlich....
also eigentlich werden die dateien bzw userid der kundennummer angeglichen...d.h. der andere müsste die Kundennummer vom anderen kennen....oder ich verschleier einfach die Browserzeile....sollte ja irgendwie gehen :p ;=
oder eine andere möglichkeit, man schreibt einfach vor jede seite:
z.b. intern1.php
Code: |
session_start ();
if (!isset ($_SESSION["user_id"] == 1))
{
header ("Location: kundencenter.php?fehler=1");
}
|
müsste doch funktionieren oder
edit:
nein -.-...ich bekomme einen fehler
Parse error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')' in /var/www/web147/html/intern1.php on line 3
ok so funktionierts:
Code: |
<?php
session_start ();
if ($_SESSION['user_id'] == 1))
{
header ("Location: kundencenter.php?fehler=1");
}
?>
|
ok die weiterleitung funktioniert zwar, aber aus irgendeinemgrund, wenn ich die 1 in eine 2 umwandle und in eine intern2.php eintrage kann ich trotzdem als user mit der user_id 1 zugreifen
Zuletzt bearbeitet von loveandhate am So 05.04.2009 14:51, insgesamt 6-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 05.04.2009 16:47
Titel
|
|
|
Vergiß´ einfach erst mal was du da vorhast. Was soll denn im in internen Bereich passieren?
Wozu ist die Datei "intern_xyz.php" denn zuständig? Unterscheiden sich die Inhalte wirklich für
jeden Benutzer so dass tatsächlich je Nutzer eine Datei notwendig ist? Klingt doch irgendwie
sehr merkwürdig. Wenn du nämilch auf der Seite einfach nur Benutzerdaten u.ä. anzeigst die
sich zwar von Nutzer zu Nutzer unterscheiden, aber in der Struktur gleich sind dann solltest du
dein Konzept sofort vergeßen …
|
|
|
|
|
|
|
|
Ähnliche Themen |
FTP-Weiterleitung
Weiterleitung
.htaccess 301 weiterleitung
Zeitabhängige Weiterleitung
Weiterleitung mit .htaccess ?
Subdomain Weiterleitung
|
|