Session Login

Flex

(aka Felix Jacobi)
So, mal wieder eine kleine Newbie Frage by me :)

Ich habe, das Script aus dem Tutorial benutzt und etwas umgeändert...

index.php
PHP:
<HTML>
<HEAD>
<TITLE>Erste Versuche mit Sessions</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="style.css">
</HEAD>
<BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#FFFFFF">
<BR> &nbsp; <BR>
<FORM METHOD="POST" ACTION="checkuser.php">

<TABLE ALIGN=CENTER CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="400">
 <TR>
     <TD ALIGN=CENTER WIDTH="100">Name:</TD>        <TD ALIGN=CENTER WIDTH="300"><INPUT TYPE="text" name="username"></TD>
 </TR>
 <TR>
     <TD ALIGN=CENTER WIDTH="100">Pass:</TD>        <TD ALIGN=CENTER WIDTH="300"><INPUT TYPE="password" name="pass"></TD>
 </TR>
 <TR>
     <TD HEIGHT="15" colspan="2">&nbsp;</TD>
 </TR>
 <TR>
     <TD ALIGN=CENTER COLSPAN="2"><INPUT TYPE="Submit" value="Einloggen"></TD>
 </TR>
</TABLE>
<P> <BR> &nbsp; </P>
</BODY>
</HTML>
checkuser.php
PHP:
<?php
session_start (); // Starte eine Session.

// ======== AUFBAU DER DATENBANKVERBINGUN ========
$connID = mysql_connect ("localhost", "Admin", "");
@mysql_select_db ("r4f", $connID);

// Generiere und starte die Abfrage
$sql = "SELECT * FROM user WHERE (u_name like '$username') AND (u_pass = '$pass')";
$result = mysql_query ($sql, $connID);

if (mysql_num_rows ($result) > 0) {
  // Ein Datensatz wurde gefunden.
  $datenrichtig = true;

  // Variable $user_eingeloggt erstellen.
  $user_eingeloggt = true;
} else {
  // Die Benutzerdaten waren falsch.
  $datenrichtig = false;

  // Variable $user_eingeloggt erstellen.
  $user_eingeloggt = false;
}
include("connect.inc.php");
$get = mysql_query("SELECT * FROM user WHERE (u_name like '$username') AND (u_pass = '$pass')");
while($row = mysql_fetch_array($get)) {
	$uid = $row['uid'];
}
// Variable $user_eingeloggt in der Session registrieren.
session_register ("uid");
?>

<html>
<head>
  <?php if ($datenrichtig) { ?>
  <meta http-equiv="Refresh" content="2; url=home.php?<?=session_name()?>=<?=session_id()?>">
  <?php } ?>
</head>

<body>
<?php

if ($datenrichtig) {
  echo "Vielen Dank für’s Einloggen. Sie werden weitergeleitet...";
} else {
  echo "Die Daten waren falsch.";
}

?>
</body>
</html>
und hier die home.php:
PHP:
<?
session_start (); // Session starten.

if ($uid) {
	include("21232f297a57a5a743894a0e4a801fc3.php");
	
  // Code, wenn der Benutzer eingeloggt ist.
  // z.B. Ausgabe der Webseite (echo „<html>...“)
} else {
   // Code, wenn der Benutzer nicht eingeloggt ist.
  // z.B. Fehlermeldung
}
?>

So, nun kommt eine Fehlermeldung :(

PHP:
Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\PHP\session) in Unknown on line 0

Am Anfang ging es, plötzlich nicht mehr...
Mein Eintrag in der php.ini:

session.save_path = C:\PHP\session

Und der Ordner existiert...
Danke im Vorraus, für alle die es lesen und versuchen mir zu helfen
:rolleyes:
 
Bitte beachte auch, dass die Sache mit dem include() nicht absolut sicher ist. Falls jemand durch einen dummen Zufall an den Dateinamen kommt, kann er die Datei auch so ausführen. Aber bei dem Zahlengewirr ist das wohl kaum möglich.
 
Und selbst wenn einer drauf kommt, sobald er einen Link anklickt, wird wieder überprüft die uid gesetzt ist, und da dies dann nicht der Fall sein wird, fliegt er wieder zum Login...

Außerdem ist das kein Zahlengewirr sondern einfach md5(admin) ;)
 
Zurück