online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon WINLIN vom 05.10.2022, 10:17 Options

Verschiedene Benutzernamen - verschieden Weiterleiten

Hallo,

zur Vorgeschichte:
Ich möchte einen Passwortgesicherten Bereich erstellen. Leider habe ich nicht gerade das Expertenwissen. Es soll einen Login geben, wo man sich mit Benutzername und Passwort einloggen kann. Momentan sind 2 Benutzerkonten geplant. Wenn ich mich mit Benutzer xxxx einlogge, so möchte ich an die Seite index1.php geleitet werden. Logge ich mich aber mit yyyy ein, so möchte ich an die Seite index2.php geleitet werden.

Aktueller Code:

login.php


<?php
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      session_start();

      $username = $_POST['username'];
      $passwort = $_POST['passwort'];

      $hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);

      // Benutzername und Passwort werden überprüft
      if ($username == 'xxxx' && $passwort == 'xxxx') {
       $_SESSION['angemeldet'] = true;

       // Weiterleitung zur geschützten Startseite
       if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }

       header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
       exit;
       }
      }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 <head>
  <title>Geschützter Bereich</title>
 </head>
 <body bgcolor="#FFEECA">
  <form action="login1.php" method="post">
   Username: <input type="text" name="username" value="xxxx" /><br />
   Passwort: <input type="password" name="passwort" /><br />
   <input type="submit" value="Anmelden" />
  </form>
 </body>
</html>


auth.php

[code
]<?php
session_start();

$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);

if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
exit;
}
?>
[/code]

Vielen Dank für die Mühe


Antwort schreiben

Antwort 1 von dwi vom 05.10.2022, 10:27 Options

Zuerst einmal fallen mir mehrere Dinge auf:

    Dein Form sendet die Daten an login1.php, aber deine Datei heißt login.php, das wird vermutlich nicht funktionieren, es sei denn, die Datei ist vorhanden
    Mir ist nicht ganz klar, an welcher Stelle die auth.php ins Spiel kommt


Ansonsten tue folgendes:
Die Zeile, wo du auf die index.php weiterleitest, mache einfach vorher eine Abfrage mit if/else, welcher benutzer angemeldet ist und leite entsprechend weiter. WEnn es mehr Benutzer werden, macht evtl. switch Sinn. Natürlich musst du in der entsprechenden Datei (index1.php, index2.php auch eine Prüfung durchführen

Antwort 2 von WINLIN vom 05.10.2022, 14:48 Options

Hallo,

vielen Dank für deine Antwort.

Kannst du mir das vileicht in den Code einbauen, so wie du es meinst?
Du würdest mir damit einen sehr großen gefallen tun.

Die auth.php sollte eigentlich Prüfen, ob der User eingeloggt ist.

Antwort 3 von dwi vom 15.10.2022, 10:57 Options

ersetze diese zeile in der login.php:

header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
       exit;


durch folgenden code:

switch ($username) {
   case 'xxxx': header("Location: seite1.php");
                       break;
   case 'yyyy': header("Location: seite2.php");
                       break;
default: break;
}

Ähnliche Themen

PHP-script killt One.com Server
wurzelpeter  25.03.2009 - 497 Hits - 7 Antworten

PEAR
ThmoaM  04.04.2009 - 222 Hits - 1 Antwort

Div verlangsamen - JS
Malochnix  29.03.2009 - 289 Hits - 11 Antworten

PHP-generiertes Bild mit Zeilenumbrüchen
scripter51  28.03.2009 - 212 Hits - 3 Antworten

Scripthilfe für verschiedene Anwendungszwecke
Romero  15.02.2010 - 495 Hits - 12 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026