Benutzer Log-In Weiterleitung wie erstellen

Nutzer

Grünschnabel
Hallo,

1.) habe folgendes Problem:

Möchte über einen geschützten Passwortbereich nur bestimmte User auf eine Seite lassen
Die Passwörter werden über MD5 verschlüsselt.

Habe jetzt erfolgreich nach Anleitung von Mr. Happiness einen Benutzer-Login (Formular) mit login.php und mit Sessions, dann eine logged_in.php erstellt, und noch eine logout.php.
Anschließend unter der Datei sessionhelpers.inc.php die Serverabfrage durchgeführt mit den einzelnen Funktionsüberprüfungen (check_user, login, logged_in, logout).

Das Login sieht soweit gut aus - habe es mit einem in Datenbanktabelle hinterlegten Passwort und User getestet.
Man kann einloggen - aber dann wohin soll denn der Login eigentlich gehen - wie hinterlege ich da eine bestimmte URL ?

Muß dazu sagen, kenne mich ganz, ganz wenig aus - aber ich brauche diesen Login sehr, sehr dringend.

Hier mein Quelltext für die login.php:


Code:
<?php 
session_start(); 
include 'sessionhelpers.inc.php'; 
if (isset($_POST['login'])) 
{ 
    $userid=check_user($_POST['username'], $_POST['userpass']); 
    if ($userid!=false) 
        login($userid); 
    else 
        echo 'Ihre Anmeldedaten waren nicht korrekt!'; 
} 
if (!logged_in()) {

 } else {
    echo '<a href="logout.php">Ausloggen</a>'; 
echo '<p /><a href="logged_in.php">Check</a>'; 
}
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Nachhilfe_Benutzerlogin</title>
<style type="text/css">
<!--
body {
	margin-right: 910px;
	margin-bottom: 50px;
	margin-left: 100px;
}
-->
</style></head>
<body>
<p align="justify">&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<pre>&nbsp;                         </pre>
<form action="login.php" method="post" name="form1">
  <pre><label>Benutzername  <input type="text" name="username"></label>
<label>Passwort      <input type="password" name="userpass" id="userpass"></label>
                   <input type="submit" name="login" id="login" value="Einloggen"></pre>
</form>

</body>
</html>



Und dann hier noch die sessionhelpers.inc.php:

Code:
<? 
function connect() 
{ 
    $con= mysql_connect('xxxxxxx','xxxxx','xxxxx') or die(mysql_error()); 
     mysql_select_db('xxxxxxx',$con) or die(mysql_error()); 
} 

function check_user($name, $pass) 
{ 
    $sql="SELECT UserId 
    FROM nachhilfe_benutzerlogin 
    WHERE UserName='".$name."' AND UserPass=MD5('".$pass."') 
    LIMIT 1"; 
    $result= mysql_query($sql) or die(mysql_error()); 
    if ( mysql_num_rows($result)==1) 
    { 
        $user=mysql_fetch_assoc($result); 
        return $user['UserId']; 
    } 
    else 
        return false; 
} 

function login($userid) 
{ 
    $sql="UPDATE nachhilfe_benutzerlogin 
    SET UserSession='".session_id()."' 
    WHERE UserId=".$userid; 
     mysql_query($sql); 
} 

function logged_in() 
{ 
    $sql="SELECT UserId 
    FROM nachhilfe_benutzerlogin 
    WHERE UserSession='".session_id()."' 
    LIMIT 1"; 
    $result= mysql_query($sql); 
      return ( mysql_num_rows($result)==1); 
} 

function logout() 
{ 
    $sql="UPDATE nachhilfe_benutzerlogin 
    SET UserSession=NULL 
    WHERE UserSession='".session_id()."'"; 
     mysql_query($sql); 
} 

connect(); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>conncect</title>
</head>
<body>
</body>
</html>


Wer kann mir ganz genau erklären, wie ich nach erfolgtem Login eine neue Seite einbinde

Unter action vielleicht ?



2.) Anderes kleines Problem:

durch den Link login.php wird durch klicken auf den Button "Einloggen" mein Besucher auf die Log-In Seite meiner Homepage geleitet.

Wie kann ich den Link ändern - login.php ändern und welche Begriffe wo genau ? Da kommt oft der Begriff
"login" vor Weiß nicht genau wo !!



Bitte helfen - danke sehr !!
 
Zuletzt bearbeitet:
Eine Weiterleitung erreichst du mittels header(Location:...) oder mit nem normalen <meta http-equiv="refresh">

Eigentlich sollte das aber nicht 'zwingend' notwendig sein, da der Login ja die Aufgabe erfüllt, den User zu identifizieren und evtl auch zu authentisieren.

Also müsste halt in einer Session sowas wie $_SESSION['login'] = true; stehen, so dass man mit dieser Angabe den Nutzern prüfen kann.
 
Zurück