Problem mit Login Script

ArFiBa

Erfahrenes Mitglied
Hi Leute,
ich hab ein Problem mit dem folgenden Loginscript. Ich weiß nicht was nicht stimmt, da kein Fehlermeldung auftritt. Zwischendurch funktioniert es auch. Und dann kommt wieder die Meldung, dass das Passwort falsch sein. Das kann aber nicht sein.

PHP:
<?php require_once('../Connections/db.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
  $GLOBALS['PrevUrl'] = $accesscheck;
  session_register('PrevUrl');
}

if (isset($_POST['user'])) {
  $loginUsername=$_POST['user'];
  $password=$_POST['pw'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../ma/index.php";
  $MM_redirectLoginFailed = "../login_fals.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_db, $db);
  
  $LoginRS__query=sprintf("SELECT user_name, user_pw, user_id FROM user WHERE user_name='%s' AND user_pw='%s' AND user_gesperrt='0'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 
   
  $LoginRS = mysql_query($LoginRS__query, $db) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
	 //übergibt user_id an Session
	$result = mysql_query ($LoginRS__query);
 	$data = mysql_fetch_array ($result);
 	$_SESSION["user_id"] = $data["user_id"];
	
    //declare two session variables and assign them
    $GLOBALS['MM_Username'] = $loginUsername;
    $GLOBALS['MM_UserGroup'] = $loginStrGroup;
	
    //register the session variables
    session_register("MM_Username");
    session_register("MM_UserGroup");

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>

Vieleicht findet einer von euch den Fehler
 
Kann es sein, dass es sich dabei um ein Macromedia DW-Login handelt?

Schreib das lieber selbst - siehe PHP-Tutorials.
 
Probier mal Folgendes:
PHP:
<?php

	require_once('../Connections/db.php');

?>
<?php

	// *** Validate request to login to this site.
	session_start();

	$loginFormAction = $_SERVER['PHP_SELF'];
	if( isset($accesscheck) ) {
		$_SESSION['PrevUrl'] = $accesscheck;
	}

	if( isset($_POST['user']) ) {

		$MM_fldUserAuthorization = '';
		$MM_redirectLoginSuccess = '../ma/index.php';
		$MM_redirectLoginFailed  = '../login_fals.php';
		$MM_redirecttoReferrer   = false;
		mysql_select_db($database_db, $db);
  
		$LoginRS__query = sprintf(
			"SELECT user_name, user_pw, user_id FROM user WHERE user_name='%s' AND user_pw='%s' AND user_gesperrt='0'",
				get_magic_quotes_gpc()
					? $_POST['user']
					: mysql_real_escape_string($_POST['user']),
				get_magic_quotes_gpc()
					? $_POST['password']
					: mysql_real_escape_string($_POST['password'])
		);
   
		$LoginRS = mysql_query($LoginRS__query, $db) or die(mysql_error());
		$loginFoundUser = mysql_num_rows($LoginRS);
		if( $loginFoundUser ) {
			$loginStrGroup = '';
			// übergibt user_id an Session
			$result = mysql_query($LoginRS__query);
			$data = mysql_fetch_array($result, MYSQL_ASSOC);
			$_SESSION['user_id'] = $data['user_id'];

			// declare two session variables and register the session variablesassign them
			$_SESSION['MM_Username'] = $_POST['user'];
			$_SESSION['MM_UserGroup'] = $loginStrGroup;

			if( isset($_SESSION['PrevUrl']) && false ) {
				$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
			}
			header('Location: ' . $MM_redirectLoginSuccess );

		} else {

			header('Location: '. $MM_redirectLoginFailed );

		}
	}

?>
 
Das klappt leider auch nicht. Aber vieleicht gibt das Aufschluss:
PHP:
http://www.arfiba.de/login_fals.php?accesscheck=%2Fma%2Findex.php
Das steht nach dem Klick auf OK in der Adresszeile.
 
Mit dem Tutuorial kann ich leider nicht sonderlich viel anfangen. Ich habs damit nämlich zuerst versucht allerdings hat das garnichterst funktioniert. Außerdem geht das Skript wenn ich es auf der Uhrsprungsseite verwende. Allerdings habe ich es einach nur von dort kopier und die Pfade angepasst und schon geht es nicht mehr.
 
Hast du dir mal den Inhalt aller Sessions ausgeben lassen. Nur um festzustellen, ob diese überhaupt registriert werden? Unterstützt deine PHP-Konfiguration Sessions; ist ein Verzeichnis für die Sessions angegeben?
 
Wie kann ich mir den den Anzeigen lassen?
Aber eigentlich sollte es gehen, es funktioniert nur nicht aus der Seite herraus
 
Session-Inhalte ausgeben:
PHP:
echo $_SESSION['xy'];

Antwort auf die anderen Fragen findest du in deiner phpinfo()
PHP:
phpinfo()
 
Die Session-Info zeigt bei session.save_path den Wert no value an. Ich schätze, dass ich in der PHP.ini da etwas eingeben muss. Allerdings versteh ich nicht so ganz warum es bisher funktioniert hat.
 
Zurück