$_Session funktioniert nicht auf Webspace

Twist

Grünschnabel
Hallo,

ich hab ein Problem mit meinem Loginsystem.
Der Besucher sollte sich über ein Formular mit seinem Namen und sein Passwort anmelden. Das Formular schickt dann die Daten mit der Methode Post zu der Php-Datei Login.php, welche seine Daten über den Namen und dem Vergleich seines Passworts aus meiner Datenbank auf dem Webspace herauszieht und dann ne Session startet und die daten in ihr speichert. Danach ruft Sie die Hauptseite wieder auf, mit der Übergabe der Session_ID und noch einer Variablen dessen übergabe ihr zeigen soll ob sie rekursiv aufgerufen wurde oder nicht.
Nun auf meinem Homeserver (Linux Debian mit Apacheserver drauf ) funktioniert es aber auf dem Webspace ist die Variable $_Session nicht mehr gesetzt.
Kann es sein das die Globale variable $_SESSION Deaktiveren ist oder was kann da schief gelaufen sein?

Formular.php
PHP:
<form action="./daten/login.php" method="post">
<table width="100%" border="0" cellspacing="5">
  <tr>
    <td align="right" width="50%">Name:</td>
    <td><input type="text" name="name" size="20"></td>
  </tr>
  <tr>
    <td align="right" width="50%">Kennwort:</td>
    <td><input type="password" name="pwd" size="20"></td>
  </tr>
  <tr>
  <td colspan="2" align="center"><input type="submit" value="Login"></td>
  </tr>
</table>
</form>

Login.php
PHP:
//Session starten
session_start ();

//Verbindung zur db und öffnen der tabelle
include("../include/conmysql.php");

  //SQL Anfrage
$query = "
    SELECT
            `be`.`ID`,
            `be`.`Nickname`,
            `be`.`Vorname`,
            `be`.`Nachname`,
            `bg`.`grID`

      FROM
            `benutzerdaten` AS `be`,
            `benutz-gruppen` AS `bg`

      INNER JOIN
            `benutz-gruppen`
         ON `be`.`ID` = `bg`.`ID`

      WHERE
            `be`.`Nickname` LIKE '".mysql_escape_String($_REQUEST['name'])."'
        AND `be`.`Kennwort` = '".md5($_REQUEST['pwd'])."'

      LIMIT 1
    ";

if(!$result = mysql_query($query)) 
{
	echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
    exit;
} 
//$result= mysql_query ($sql);

if (mysql_num_rows($result)> 0)
{
	//Benutzerdaten in array auslesen
	$data = mysql_fetch_array ($result);

	//Sessionvariablen erstellen und registrieren 
	$_SESSION["user_id"]=$data["ID"];
	$_SESSION["user_nickname"]=$data["Nickname"];
	$_SESSION["user_nachname"]=$data["Nachname"];
	$_SESSION["user_vorname"]=$data["Vorname"];
	$_SESSION["gruppen_id"]=$data["grID"];
	

	header ('Location: ../index1.php?'.SID.'&check=1');

}
else
{
	header ("Location: ./formular.php?fehler=1");
}

conmysql.php
PHP:
$mysqlhost="blablabla"; // MySQL-Host angeben
$mysqluser="blablabla"; // MySQL-User angeben
$mysqlpwd="blablabla"; // Passwort angeben
$mysqldb="blablabla"; // Gewuenschte Datenbank angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");

index1.php
PHP:
<?
if($_GET[check]>0)
{
	include ("./daten/checkuser.php");
}
if(!isset($_SESSION["gruppen_id"]))
{
	$grID=1;
}
else
{
	$grID=$_SESSION["gruppen_id"];
}


include("./include/conmysql.php");

$query = "SELECT
    		        `nav`,
			`Home`,			
                        `News`,
			`Terminkalender`,
			`Übersicht`,
			`Anmelden`,			
			`Registrieren`,									
                        `Forum`,
                        `Datenbank`,
                        `Gallerie`,			
			`Dokumente`,
			`Projekte`,
			`Postfach`,
			`Gästebuch`,
			`Impressum`,			
			`Registrationen`,
			`Neue datenbankeinträge`,
			`Seitenlayouts`
      	FROM
            `gruppen`
      	WHERE
            `grID` = '".$grID."' LIMIT 1";
if(!$result = mysql_query($query)) 
{
    echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
    exit;
}
if (mysql_num_rows($result)> 0)
{
	//Benutzerdaten in array auslesen
	$data = mysql_fetch_array ($result);
}
else
{
	echo "keine Zugriffe vorhanden";
}
$dataindex= array("Home",
				"News",
				"Terminkalender",
				"Übersicht",
				"Anmelden",
				"Registrieren",									
            	                "Forum",
            	                "Datenbank",
            	                "Gallerie",			
				"Dokumente",
				"Projekte",
				"Postfach",
				"Gästebuch",
				"Impressum",			
				"Registrationen",
				"Neue datenbankeinträge",
				"Seitenlayouts");
				
if (!isset($_GET['aktivlink']))
{			
	$datenausgabe1 = $data[$dataindex[0]];
	$test=0;
}
else
{
	$datenausgabe1= $data[$dataindex[$_GET['aktivlink']]];
	$datenausgabe2= "aktivlink = ".$_GET['aktivlink'];
	$datenausgabe3= "dataindex = ".$dataindex[$_GET['aktivlink']];
	$datenausgabe4= "data = ".$data[$dataindex[$_GET['aktivlink']]];		
}
?>
<html>
<head>
<title>Twist-bs.de</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/index.css" rel="stylesheet" type="text/css">
</head>

<body class="site">
<table width="100%" border="1" cellspacing="5">
  <tr class="kopf">
    <td rowspan="3" align="left" valign="top" class="logo"><img src="kopf/bilder/kopf.jpg" title="asdasdaszgfhjkhgfzuhijfemvnhsuernvgiuaserivasndvnasiuvriarseinviadbbfinsabrsaibinsrbggrfng7777777777d" width="182" height="172"></td>
    <td width="100%" class="logo2" align="center">logo2</td>
  </tr>
   <tr>
    <td width="100%" class="logo3" align="center">logo3<br><? if($grID>1) echo "<a href=\"./daten/logout.php\">Logout</a>"; ?></td>
  </tr>
   <tr>
    <td width="100%" height="32px" class="pfad" align="center"><? echo $pfad; ?></td>
  </tr>
  <tr>
    <td colspan="2" align="left" valign="top"><? include("./ndindex.php"); ?></td>
  </tr>
</table>


</body>
</html>

Danke für eure Hilfe im Voraus!

mit freundlichen Grüssen
Twist
 
Hey,

du könntest mal die Funktion phpinfo() aufrufen und nachsehen! Kommt eine Fehlermeldung?

PS. Ein kleiner TIpp ... du solltest nur die entscheidenden Quelltextstellen im Forum posten :)

Greetz Kon
 
also Fehlermeldung kommt nicht!

SESSION SUPPORT ist auch enable!
mmh
bei was kann denn das problem noch
ausgelöst werden!

weil der webspace gibt ja auch kein fehler aus sondern $_SESSION ist einfach wieder leer nach dem rekursiven aufruf!

Und die Phpinfo ist bei SESSION fast Identisch mit meinen Homeserver
außer das Session.bug_combat_42 ist aus auf dem webserver.
 
Schau mal nach, ob das Verzeichnis von session.save_path vorhanden ist...wenn nicht, lege es an.


Ansonsten....ist session.use_only_cookies auf "off" ?
 
Zuletzt bearbeitet:
Frasche:

Verstehst du unter Hauptdatei deine index1.php`

Ich würde dann nämlich in dieser Datei auch erstmal ne Session starten, dat überhaupt wat auszlesen is ;)

shutdown
 
Zurück