WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Session+Login » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Session+Login
von hammel
http://professionalmember.toxic.at/ <-- herunterladen, installieren, fertig
von subjective
Ich sehe auf zwei Probleme mit dem Quellcode. Die String-Werte im SQL werden durch Backticks eingeschlossen - korrekt wären Hochkommata. Außerdem werden die Werte aus den POST-Formular direkt ohne Absicherung verwendet. Dies erlaubt eine Manipulation des SQL-Befehls. Hier wäre die Nutzung von mysql_real_escape_string() angebracht.
von languitar
Na da is wohl ein Fehler im SQL-Query. Lass dir doch einfach mal die SQL-Fehlermeldungen ausgeben. Das PHP-Manual hilft da weiter.
von Lexia
raiserle schrieb am 13.09.2006 13:50
doch weil der md5 algorythmus von php und mysql verschieden ist
hier das md5 von admin aus der sql
21232f297a57a5a743894a0e4a801fc3


Ja, das ist genau das gleiche was ich auch in der Datenbank stehen habe!
21232f297a57a5a743894a0e4a801fc3
Der Kommentar in der Datei //gibt 81dc9bdb52d04dc20036dbd8313ed055 aus bezog sich noch auf ein altes Passwort ...

Hab jetzt nochmal den Originalquellcode aus dem Tutorial genommen und nur die Namen der Datenbankwerte angepasst. so sieht es jetzt aus:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29:
<?PHP
session_start();
include 'config.inc';
if ($_SESSION["authenticated"]==1)
{
$connection = mysql_connect( $dbhost, $dbuser, $dbpw );
$db=mysql_select_db($dbname, $connection);
$query="Select * from Users where UserName=’".$_POST["username"]."’ and UserPass=’".md5($_POST["password"])."’";
$result=mysql_query($query, $connection);
$row=mysql_fetch_array($result);
if($row["id"])
$_SESSION["authenticated"]=2;
else
echo "Username or Password incorrect";
}

if ($_SESSION["authenticated"]==0)
{
echo "Session doesn’t exist. Maybe has expired";
}

if ($_SESSION["authenticated"]==2)
{
header("Location:URLZURGEHEIMENSEITE");
}

?>

Und ich erhalte folgende Fehlermeldung:
Warning: Supplied argument is not a valid MySQL result resource in /www/htdocs/bla/login.php on line 10
Username or Password incorrect

Line 10 ist übrigens diese hier:
$result=mysql_query($query, $connection);
von raiserle
doch weil der md5 algorythmus von php und mysql verschieden ist
hier das md5 von admin aus der sql
21232f297a57a5a743894a0e4a801fc3
von languitar
Hm, dürfte daran eigentlich nicht liegen, aber benutz doch mal statt der MySQL-MD5-Funktion die PHP-Funktion im Query.
von Lexia
Oh ach so, sorry dann hab ich das falsch verstanden!
Ich habe jetzt testweise das Passwort admin mal als md5-Wert ausgeben lassen mit dieser kleinen Datei:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
<?php
$Passwort = "admin";
$VerschluesseltesPasswort = md5($Passwort);
echo$VerschluesseltesPasswort;
//gibt 81dc9bdb52d04dc20036dbd8313ed055 aus
?> 

Habe es in der Datenbank gespeichert (übrigens varchar mit 32 chars, ist das falsch?) und die $query Abfrage so formuliert:
1: 
2:
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=MD5('".$_POST['password']."')";


ES GEHT IMMER NOCH NICHT!!! Ich verzweifel noch an diesem Mist...
von languitar
Nein, du verschlüsselst doch dein gepostetes Password mit der PASSWORD-Funktion. Folglich müsste das Passwort auch so verschlüsselt in der Datenbank liegen.
von Lexia
@raiserle:
Ja, das hatte ich schon verstanden!

<?php
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=PASSWORD('".$_POST['password']."')";
?>

Dieser Code vergleicht doch ein KLARTEXT-Passwort aus der Datenbank mit einem KLARTEXT-Passwort aus dem vorherigen Formular, oder sehe ich das falsch?
Falls ich es richtig sehe liegt der Fehler mit der Ausgabe "Username + Passwort falsch" an etwas Anderem....
Ich hoffe du bist jetzt nicht total genervt von mir und antwortest mir trotzdem noch, ich werd mir Mühe geben das alles richtig zu verstehen...
von raiserle
=PASSWORD()
hatte ich doch aber schon geschrieben
MD5() //32 zeichen
PASSWORD() //16 zeichen
von Lexia
Verstehe jetzt nicht direkt wie du das meinst... nachdem ich das Passwort im Klartext in die Datenbank eingetragen habe und den Code
1: 
2: 
3: 
4: 
5:
<?php
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=PASSWORD('".$_POST['password']."')";
?>

genommen habe, wo vergleiche ich denn dann das gecryptete mit dem blank passwort?
von raiserle
na wenn du nun das passwort im klartext also blank drin stehn hast dann
1: 
2: 
3:
<?php
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=PASSWORD('".$_POST['password']."')";
?>

ist es wieder flasch
nun haste nen blank passwort mit dem gecrypteten verglich und das geht ja nun auch wieder nicht
von Lexia
Ja hätt ich vielleicht dazu sagen sollen, ich hatte vorher das Passwort md5-verschlüsselt in der Tabelle stehen und hab das Passwort auch mit md5 ausgelesen, also so:
1: 
2:
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=MD5('".$_POST['password']."')";

Da es nicht geklappt hat, habe ich das Passwort direkt im Klartext in die Datenbank geschrieben mit phpmyadmin und dementsprechend auch den Code umgeändert:
1: 
2: 
3:
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=PASSWORD('".$_POST['password']."')";


Also daran liegt es wohl definitig nicht... :(
von raiserle
ähm... wat jetzt los? wollte den beitrag hier oben edieren, weil der code-tag irgendwie nicht mitkam.
sobald ich aber ediren möchte, steht der rest der seite mit drin.
ich meine der rest von dieser seite hier... also der komplette quellcode von dem formularfeld?
wenns geht, bitte mal den code-tag oben schliessen und diesen post löschen
von raiserle
schon mal daran gedacht, das in der db das password gecryptet drin steht
also md5() oder password()
hab mir das tut nicht angeschaut, sorry... aber sag mal was in der spalte UserPass von deiner datenbank drin steht.....
irgend was hexadezimales oder ein richtiges wort, so wie du es vergeben hast
wenns hexa ist also ne zahlen buchstabenkombination von 0-f dann
zähle mal wieviel davon drin stehn...
sind es 16 dann ist es mit password gecryptet sinds 32 mit md5()

was dann bei deiner mysql-abfrage wiederum dann so aussehen sollte
1: 
2: 
3:
<?php
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=PASSWORD('".$_POST['password']."')";    // wenns 16
$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass=MD5('".$_POST['password']."')";    // wenns 32
von Lexia
languitar schrieb am 04.07.2004 20:03
Benutz mal die Suche und guck mal hier:
http://www.webwork-magazin.net/tricks/artikel/133
http://www.webwork-magazin.net/tricks/artikel/174


Hallo!

Ich hab mal versuch das erste Tutorial nachzubauen aber scheitere leider schon direkt...
In der index.php steht Folgendes:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12:
<?PHP
session_start();
$_SESSION["authenticated"]=1;
?>
<form name="Userauthentication" method="post" action="login.php">
<input type="hidden" name="project" value="0">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" name="Abschicken" value="Abschicken">
</form>


Alles ganz toll, das Formular ist auch da beim Aufruf und wenn ich die Daten eingebe und auf Submit klicke, komme ich zur Datei login.php, in der Folgendes steht:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40:
<?PHP
session_start();

include '../inc/config.inc';
 
if ($_SESSION["authenticated"]==1)
{
	$connection = mysql_connect($dbhost, $dbuser, $dbpw); 
	$db = mysql_select_db($dbname, $connection);
	$query = "Select * from users where UserName='".$_POST["username"]."' and UserPass='".($_POST["password"])."'";

	$result = mysql_query($query, $connection);
	$row = mysql_fetch_array($result);
	echo "<br>";
	echo "Username: ";
	echo $_POST["username"];
	echo "<br>";
	echo "Passwort: ";
	echo $_POST["password"];
	echo "<br>";
	echo $result;
	if($row["id"])
		$_SESSION["authenticated"]=2;
	else
		echo "Username or Password incorrect";

}

	if ($_SESSION["authenticated"]==0)
		{
		echo "Session doesn't exist. Maybe has expired";
		}

	if ($_SESSION["authenticated"]==2)
		{
		header("Location:admin.php");
		}
?>


Warum geht das nicht? Die Tabelle users ist angelegt, dort ist auch ein Benutzername mit Passwort eingetragen (UserName, UserPass) aber immer nach dem Klicken auf den Submit-Button kommt eben die Meldung Username or Password incorrect....

Ich hab mal spaßeshalber die Variable $result ausgeben lassen und da steht drin:
Resource id #2

Hat jemand eine Idee wo das Problem sein könnte?

Vielen Dank im Voraus!
von dsc
Du hast irgendwie 3 Verschiedene Lösungsansätze miteinander versucht zu realisieren... aber der Code ergibt für mich keinen Sinn. Sorry kann nicht funktionieren.

1: 
2: 
3: 
4: 
5:
<?php
session_start();
$_SESSION['name'] = $_POST;

?>


Sieht ja schön aus, aber was steht in der $_POST drinn? Das ist nur ein Variabeln-Typ... aber keine genaue deklaration von einer Variabel.


Aber seis drumm.

In deinem Falle würde ich die Arbeit mit den Session-Variabeln lassen und folgendermasen deinen Code gestalten:

1. Datei: Namenseingabe: <index.php>
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13:
<html>
   <head>
      <title>Variabelnübergabe mittels $_POST</title>
   </head>
   <body>

      <form action="weiter.php" method="POST">
         <input type="text" name="name">
         <input type="submit" value="Absenden">
      </form>

   </body>
</html>



2. Datei: Variabelnabfangen und ausgeben: <weiter.php>
1: 
2:
$username = $_POST['name'];
echo "Herzlich willkommen ".$username;



Hoffe geholfen zu haben
von Thodi
Danke aber ich wollte nur das ein name rübergegeben wird .
ich habe es so versucht.


Oben der seite

<?php
session_start();
$_SESSION['name'] = $_POST;

?>





<html>
<head>
<body>

<form action="weiter.php?SESSID=" method="POST">
<input type="text" name="name">
<input type="submit" value="absenden">
</form>






und auf der weiter seite habe ich das rein gesetzt


<?php
session_start();

?>





Ich habe den Namen <?php echo $name,?>erhalten




Aber das geht nicht!

Was ist da falsch?

Danke im voraus
von dsc
Also, wenn du den Namen nur einmalig verwenden möchtest, würde ich den Namen mittels der $_GET bzw. noch besser mit der $_POST Variabel weiterleiten lassen.

Wenn du aber den Namen, bzw. irgendeine BenutzerID für spätere Zwecke noch weiterverwenden möchtest, empfehle ich das Verwenden der $_SESSION Variabel.


Wie du das machen musst, ist eigentlich schon ein paar mal hier sehr gut beschrieben worden.

Wie gesagt, musst du zuerst die Variabel im Header setzen.

Wenn dies Funktioniert würde ich mal eine Testpage machen um zu schauen, dass der Code auch wirklich funktioniert:

1: 
2: 
3: 
4: 
5:
$strName = "Mein Name";

$_SESSION['name'] = $strName;

echo $_SESSION['name'];



Wenn er dann beim Laden der Datei, den Text "Mein Name" ausgibt, weisst du, dass er die Variable wirklich richtig schreiben kann.

Wenn dies funktioniert, kannst du diese Variable, solange sie nicht wieder released wird benutzen.
Je nach Konfiguration in der php.ini wird sie beim aktiven Fenster nach einer Zeit wieder freigegeben. Glaube standartmässig ist es ca. 25 Minuten inaktivität noch gespeichert.

Was für ein Problem hast du denn beim erstellen dieser Variabel? Bekommst du irgendwelche Fehlermeldungen? Wie sehen deine *.php Files so aus?

Umso mehr Informationen du mitgibst, umso einfacher ist es die Lösung für ein Problem zu finden.
von Thodi
Hi ich bin der Thorsten und bin neu hier,
Ich habe da ein Problem aber keiner konnte mir genau helfen.
Ich wollte eine session schreiben die soll den namen und auf einer anderen seite ausgeben.
auf der ersten seite soll einer sein namen eintippen und dann versenden als session so das der name den mal eingeben hat auf der anderen seite zu lesen ist.
kann mir da einer helfen.ich habe schon viele hilfen gelesen aber ich verstehe das nicht.
von sc0rp
ok, und damit ich jetz ALLES verstehe, müsst ihr mir bitte erklären, warum das nicht geht:

Also die index.php lautet:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36:
<?php

include "config.php"; 

$sql = 'select * from users';
$result = mysql_query($sql,$db);
$row = mysql_fetch_array($result);

$_SESSION[userid'] = $row[userid] ; 
?>


<html>

<head>
  <title>Login-System</title>
</head>


<body>





<?php if
 (!isset($_GET['site'])) { $_GET['site']="start"; } if (file_exists($_GET['site'].".php")) { include($_GET['site'].".php"); } else { echo " <b>
Tut mir leid - aber die angeforderte Seite existiert nicht.

Schau doch besser mal nach, ob du dich nicht vertippt hast ;) 
 
 
</b> "; } ?> 

</body>
</html>



und die start.php :

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32:
<html>
<body>


<form name="Eingabe" action="login.php" method="post">
Name: 

<input type="text" name="name" size="20">

Kennwort:

<input type="password" name="pass" size="20">


<input type="submit" value="Login">
</form>


<?php
if($_SESSION['userid'] == "0") {
    print("Hi");
}

else { 
echo"das wird immer ausgeführt, also es wird IMMER die else-schleife betreten";
};


?>


</body>




Also bitte erklärt mir einer was man noch braucht dass das:

if($_SESSION['userid'] == "0") {
print("Hi");
}

ausgeführt wird...


PS.: ICh weiß das das nicht gehen kann aber ihr müsst mir das erklären wieso und wie man es richtig machen muss.
bitte helft mir!
von dsc
sc0rp, bitte schreibe Fragen, wenn du hast hier rein.

1. Dann können alle davon profitieren
2. Ich hab nicht immer Zeit für 2 Stunden PHP/MYSQL Support wie das letzte mal
3. Kann ich nee Antwort schreiben wenn es mir passt

Dies hier ist ein PHP/MYSQL Forum für Leute die Fragen haben oder etwas wissen möchten... also schreib doch einfach wenn du was nicht verstehst... dafür bin nicht nur ich, sondern alle hier da


Gruss
dsc
von sc0rp
dsc, bitte geh mal wieder ins ICQ damit wir das dort klären können.
von dsc
Also... ich habe mir ja in meinem Code die UserID in eine Session-Variable geschrieben... warum dies?

Der Grund für dieses Prozedere ist ja dies, dass der User ja sonst auf jeder weiteren Site sein BN bzw. PW wieder eingeben müsste... und wieso? Weil ich ja sonst keien Anhaltspunkte hätte, welcher User dies ist (Ausser Cookielösung... ist ja klar). Wenn ich z.B. die UserID des momentan angemeldeten User (über die Session...) habe, kann ich auch weitere Abfragen machen. Normalerweise ist ja die UserID (sag ich jetzt einfach mal so) zusätzlich auch der Indexwert der User-Tabelle in der Datenbank, also ein Indexwert/Primärschlüssel.
Gut, dann haben wir ja schon einmal einen eindeutigen Wert für jeden User. Anschliessend ist dies die einzige Session-Variable die ich speichern muss, da ich den rest alles, nach bedarf selektieren kann (select * from `xY` WHERE `ID` = $_SESSION['UserID']).
Wenn ich evtl. irgendwelche Performance hohlen möchte... kann ich auch gew. Zusatzwerte auch in Session-Variabeln abspeichern... nur naja... da würden warscheinlich wieder andere mit dem Thema "Security" kommen... darum lassen wir das weg

Also wenn du jetzt abfragen möchtest, ob die adminrechte gleich 1 sind, musst du ja einen Anhaltspunkt haben, von wem man redet, also brauchst du ein Indiz, sprich die UserID.

Ist dir dieses Prozedere nun klar? Ansonsten einfach weitere Fragen posten... gebe sonst noch ein paar Programmbeispiele dar... aber nun hab ich knapp 3 Promille und muss ins Bett


Gruss
dsc
von sc0rp
aber was nützen mir dann die sessions?

ich will ja dann schreiben

if(adminrechte==1) {
verwaltungskram
}
else {
}

verstehst du?
von languitar
ja alles das was der user dann können soll, also quasi der bereich hinter dem login.
von sc0rp
wenn ich das so wie dsc mache, was gehört dann in die if-schleife, die betreten wird wenn name und passwort stimmen?

mfg sc0rp
von ernie2005
was steht den in der _base.inc.php drin ?
von [SpecFor]crusher
Achtung, mein Script:

loginform.php
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?php
//Loginformular
$loginform = '<h1>Login</h1>';
$loginform .= '<form action=\''.$PHP_SELF.'\' method=\'POST\'>';
$loginform .= '<table cellspacing=\'2\' cellpadding=\'0\' border=\'0\' id=\'xx-small\'>';
$loginform .= '<tr>';
$loginform .= '<td>Benutzer </td>';
$loginform .= '<td><input type=\'Text\' name=\'user\' value=\'\' size=\'15\'; maxlength=\'20\'></td>';
$loginform .= '</tr>';
$loginform .= '<tr>';
$loginform .= '<td>Kennwort </td>';
$loginform .= '<td><input type=\'Password\' name=\'pw\' value=\'\' size=\'15\' maxlength=\'20\'></td>';
$loginform .= '</tr>';
$loginform .= '<tr>';
$loginform .= '<td><input type=\'Submit\' name=\'\' value=\'Senden\'> </td>';
$loginform .= '<td><input type=\'reset\' value=\'reset\'> </td>';
$loginform .= '</tr>';
$loginform .= '</table>';
$loginform .= '</form>';
?>


Die Funktionen login(); und isAdmin(); in der functions.php
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43:
function login()
  {
    global $_SESSION, $db;
    $sql = "SELECT user, pw FROM user where user='".$_SESSION['user']."'";
    mysql_select_db($db['database'], $db['connect']);
    $r_user = mysql_query($sql, $db['connect']);
    if( mysql_num_rows($r_user) > 0 )
      {
        $result = array();
        $result = mysql_fetch_array($r_user);
        if( $result['pw'] == $_SESSION['pw'] AND $result['user'] == $_SESSION['user'] )
          {
            return true;
          }
        else
          {
            return false;
          }
      } //Ende if num_rows
  } //Ende Funktion

function isAdmin($user)
  {
    global $db;
    $sql = "SELECT admin FROM user where user='$user'";
    mysql_select_db($db['database'], $db['connect']);
    $r_user = mysql_query($sql, $db['connect']);
    if( mysql_num_rows($r_user) > 0 )
      {
        $result = array();
        $result = mysql_fetch_array($r_user);
        if( $result['admin'] == 1 )
          {
            return true;
          }
        else
          {
            return false;
          }
      } //Ende if num_rows
  } //Ende Funktion


datei.php (Jede Datei braucht diesen Abschnitt für den Login)
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51:

<?php
session_name('sid');
session_save_path('./sess');
session_start();

require('../inc/_base.inc.php');
require('../inc/_functions.php');
require('./loginform.php');

//ausgabe Loginformular
if( isset($_POST['user']) )
  {
    $_SESSION['user'] = $_POST['user'];
    $_SESSION['pw'] = $_POST['pw'];
    header('login.php?'.session_id());
  }
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
  <title>Admin</title>
</head>
<body>
<?php
if( isset($_SESSION['user']) )
  {
    if( login() == true AND isAdmin($_SESSION['user']) == true )
      {
?>
Hier kommt der PW-geschützte Inhalt der Datei hin.
<?php
      }
    else
      {
        $_SESSION['user'] = '';
        $_SESSION['pw'] = '';
        echo 'Falscher Benutzername oder Passwort';
        echo $loginform;
      }
  }      
else
  {
    echo $loginform;
  }
?>
</body>
</html>



Eine höhere Sicherheit beim Login würde eine md5 Verschlüsselung bringen.
Statt der Zeile
1:
if( $result['pw'] == $_SESSION['pw'] AND $result['user'] == $_SESSION['user'] )

müsste
1:
if( $result['pw'] == md5($_SESSION['pw']) AND $result['user'] == $_SESSION['user']) 

da stehen.

Wenn du fragen hast, immer her damit.
von dsc
Also du must zuerst natürlich die Session Starten, dies machst du mit:

1:
session_start();


Anschliessend mache ich dies in meinen Scripten immer so:

1. Benutzer muss Benutzername und Passwort eingeben [Formfelder]
2. Die Angaben des Benutzers werden mit der MySQL Datenbank verglichen
3. Nun erstelle ich eine Session:

1:
$_SESSION['userID'] = $userID;


Nun bei jeder Seite, die nur für CommunityUser ist, füge ich diesen Code ein:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
<?
$user = $_SESSION['userID']

if($user) {

// Der übrige Code hier rein...
}
else { echo "Sie haben keine Berechtigung für diese Seite!"; }

?>



Und wenn sich jemand ausloggen möchte, kann man einfach diesen Befehl machen:

1:
unset($_SESSION['userID']);



Habe mal den Teil mit der MD5-Verschlüsselung weggelassen... ist zwar nicht schwer, aber verwirrt warscheinlich eh nur und hat nix mit deinem Problem zu tun.


Gruss
dsc
von MajorWindbeutel
Ich habe gerade den PHP 5 Artikel gelesen man ist das schwer!
Ich kann doch weiter den PHP4 Stil nutzen oder?!

Danke für dei Antwort
von languitar
Benutz mal die Suche und guck mal hier:
http://www.webwork-magazin.net/tricks/artikel/133
http://www.webwork-magazin.net/tricks/artikel/174
von MajorWindbeutel
Hi.

Das wurde bestimmt schonmal gefragt aber ich finde nichts.
Also ich brauche ein Login Script mein altes taugt einfach nichts.

Ich habe gehört das man sowas auch mit MySQL und Session's machen kann.
Aber leider probier ich vergeblich da was hinzubekommen.

Ich weiß nur das ich
session_start()
session_register
brauch.

Aber mehr nicht.

Könntet ihr mir (mal wieder) helfen?

Ich sag auch ganz nett bitte und mach schöne Augen

Vielen Dank im Voraus

Nach oben