Login Script mit Sessions - Problem

MrMuggel

Grünschnabel
Hallo Leute,

Ich hab folgendes Problem:
Ich möchte ein Login Script erstellen, in beim Lógin die Funktion session_register eingesetzt wird. Allerdings bin Ich beim Gebiet Sessions + Cookies nicht so weit entwickelt XD Jedenfalls habe Ich mir da schon was überlegt. Nur leider funktioniert das irgendwie nicht :(

________________________________________
(!)Hier kommt der Login (php) Code: (!)
________________________________________
PHP:
<?php session_start(); include 'sessionhelpers.inc.php'; ?>
<?php if (isset($_POST['login'])) { $userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false) login($userid); else echo 'Entweder war dein Username oder
dein Passwort nicht richtig !';
} if (!logged_in()) echo '
<form method="post" action="login.php">

<table align="center" border="0" width="400" height="45">
  <tr>
    <td class="green" width="170" height="25"><b><font size="2">Benutzername:</font></b></td>
    <td class="dunkel" height="25" width="204">
  <b>
  <input name="username" type="text" size="20" style="width: 202; height: 23">
  </b></td>
  </tr>
  <tr>
    <td class="green" width="170" height="25"><b><font size="2">Passwort:</font></b></td>
    <td class="dunkel" width="204" height="25"><input name="userpass" type="password" id="userpass0" size="20" style="width: 202; height: 23"></td>
  </tr>
  <tr>
    <td width="178" height="18"></td>
    <td width="208" height="18"></td>
  </tr>
  <tr>
    <td class="green" width="170" height="1">
      <p align="center"><b>[<a href="forgotpass.php">Passwort 
      vergessen?</a>]</b></p>
    </td>
    <td class="green" width="200" height="1">
      <p align="center"><b><input name="login" type="submit" id="login0" value="Einloggen">
  </b>
      </p>
    </td>
  </tr>
</table>
</form>
'; else echo '
<?php
$mitgliedsdaten = array($userid, $username);
session_start();
session_register('mitgliedsdaten');
$datum1 = date("y.m.d");
$sql1 = "UPDATE users SET Lastlogin='$datum1', Login='1' WHERE ID='$userid'";
$result1 = mysql_query("$sql1", $dbcnx);

Du hast dich erfolgreich eingeloggt $username'; echo ' '; ?>

In der Datei sessionhelpers.inc.php stehen nur die Befehle wie logout(), login() usw.
Falls ihr die Datei auch braucht bitte melden.
Ansonsten kann Ich nur sagen :Hilfe
 
Du musst es etwas umstrukturieren. Auch kann PHP-Code innerhalb einer Zeichenkette (wie es bei dir der Fall war) nicht interpretiert werden.
PHP:
<?php

	session_start();
	include 'sessionhelpers.inc.php';

	if( isset($_POST['login']) ) {
		$userid = check_user($_POST['username'], $_POST['userpass']);
		if( $userid!=false ) {
			login($userid);
			$_SESSION['mitgliedsdaten'] = array($userid, $username);
			$datum1 = date("y.m.d");
			$sql1 = "UPDATE users SET Lastlogin='$datum1', Login='1' WHERE ID='$userid'";
			$result1 = mysql_query($sql1, $dbcnx);
		} else {
			echo 'Entweder war dein Username oder 
dein Passwort nicht richtig !';
		}
	}

	if( !logged_in() ) {
		// Ausgabe des Formulars
	} else {
		echo 'Du hast dich erfolgreich eingeloggt '.$username;
	}

?>
 
So,...Ich habe Hier das gesamte Login Script.

Inhalt:
login.php
logout.php
Datenbank erstellen.php
sessionhelpers.inc.php

Ich möchte nun dass wenn Ich mich einlogge der Username angezeigt wird mit dem Ich eingeloggt bin. Bitte nicht über:

$nickname = $_POST....

Sondern über die Session die in sessionhelpers.inc.php hoffentlich drinnen ist, mein dummes Problem wo Ich noch keine Lösung gefunden habe ist wie Ich die Daten abfragen kann.

Ich hab das ganze Login Script in .zip Format hochgeladen. Klickt einfach auf den Link -> danach kommt Ihr auf eine Seite wo ihr den ganz großen Link DOWNLOAD klciken müsst :)

Link: http://www.kram-hochladen.de/returnfile.php?id=OTI3OTQ=

Danke jetzt schon mal, vll. bin Ich ein bischen Begriffs stutzig ;)
 
Du musst doch einfach nur den Nickname in eine Sessionvariable schreiben, und dann diese einfach ausgeben also so:

PHP:
$_SESSION[nickname] = $nickname;
 
Wenn ein User sich eingeloggt hat, und alles in Ordnung ist machst du es einfach so wie oben beschrieben. und beim auslesen liest du einfach die Session Variable aus.
 
sorry...ich hab da jetzt schon tausend sachen probiert und es will einfach nicht funktionieren,...könntest du vielleicht den code machen ..ich bin zu deppat dafür :)
 
PHP:
<?php
session_start(); 
//Dieser Code muss unbedingt in der 1.Zeile stehen! 
//NICHT VERÄNDERN 
?>

<?php

//Datei: login.php
//Hier findet das Login statt. 
//Wenn eingeloggt wird geschützter Inhalt angezeigt
//Wenn nicht eingeloggt/ausgeloggt wird Login angezeit


include 'sessionhelpers.inc.php'; 
if (isset($_POST['login'])) 
{ 
    $id=check_user($_POST['nickname'], $_POST['passwort']); 
    if ($id!=false) 
        login($id); 
	$_SESSION[username] = $_POST[nickname];
    else 
        echo '<b>Login falsch: </b><br>Das Passwort und der Nickname passen nicht zusammen.'; 
        //Meldung bei Fehlerhaftem Login
} 
if (!logged_in()) 
    echo '<form method="post" action="login.php"> 
        <label>Benutzername:</label><input name="nickname" type="text"><br> 
        <label>Passwort: </label><input name="passwort" type="password" id="passwort"><br> 
        <input name="login" type="submit" id="login" value="Einloggen"> 
    </form>'; 
       //Wird angezeigt wenn nicht eingeloggt
else 
    echo '<b>Herzlich Willkommen</b>'  . $_SESSION[username];  
      //Wird angezeigt wenn Login erfolgreich bzw. wenn User eingeloggt
      
?>
 
okay,...danke

Nur noch eine Frage:

Kann es sein dass diese Dateien auf dem eigenen Server Xammp bei mir am pc nicht funktioniert ?
 
Zurück