• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

[Veraltet] Session

DeletedUser

Gast
Hi Leute habe ein Problem. Ich möchte mich bsp test.de einloggen denn die session mitnehmen zum test.test.de (subdomain). Habe mir schon viele treads durchgelesen, aber die sachen gingen nicht. Wollte das mit session machen.

mein loginscrip

PHP:
<?php

	session_start();
include "config.php";
	
ini_set("session.cookie_domain",".test.de"); 
$username = $_POST["username"];
$password = $_POST["password"];
$password = md5($password);
// Prüfung ob der Login generell möglich ist
$check = mysql_query("SELECT * FROM server WHERE status='1'");
$Entry_Check = mysql_num_rows($check);

// Login möglich
if ( $Entry_Check == 1 )
{
	// Prüfung ob der eingegebene Account vorhanden ist
	$check = mysql_query("SELECT * FROM users WHERE name='".$username."'");
	$Entry_Check = mysql_num_rows($check);

	// Account vorhanden
	if ( $Entry_Check == 1 )
	{
		// Prüfung ob der Account gesperrt ist
		$check = mysql_query("SELECT * FROM users WHERE name='".$username."' AND Gespeert='0'");
		$Entry_Check = mysql_num_rows($check);

		// Account nicht gesperrt
		if ( $Entry_Check == 1 )
		{
			// Prüfung, ob das Passwort korrekt eingegeben wurde
			$check = mysql_query("SELECT * FROM users WHERE name='".$username."' AND password='".$password."'");
			$Entry_Check = mysql_num_rows($check);	
		
			// Passwort korrekt eingegeben
			if ( $Entry_Check == 1 )
			{
				// Prüfung ob der Account aktiviert ist
				$check = mysql_query("SELECT * FROM users WHERE name='".$username."' AND aktiviert='1'");
				$Entry_Check = mysql_num_rows($check);

				// Account aktiviert -> Login erfolgreich
				if( $Entry_Check == 1 )
				{
					$_SESSION['username'] = $username;
					$abfrage = "SELECT id FROM users WHERE name='".$username."';";


$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   $_SESSION['id'] = $row->id;
   }

$ip = getenv('REMOTE_ADDR');
$timestamp = time();
$datum = date('Y.m.d - H:i', $timestamp);
										$query = "UPDATE `users` SET `datum` = '".$datum."' WHERE name='".$username."'";
					mysql_query( $query );
					
					$query = "UPDATE `users` SET `logged_in` = '1' WHERE name='".$username."'";
					mysql_query( $query );
										$query = "UPDATE `users` SET `ip` = '".$ip."' WHERE name='".$username."'";
					mysql_query( $query );

			echo "<meta http-equiv='refresh' content='0;url=http://test.test.de/index.php?action=dorf'>";

					exit;
}
					
				// Account noch nicht aktiviert
				elseif ( $Entry_Check == 0 )
				{
					echo "Sie haben Ihr Account noch nicht aktiviert!";
				}
   			}
    
    		// Passwort falsch eingegeben
			elseif ( $Entry_Check == 0 )
   			{
   				echo "Passwort wurde falsch eingegeben!";
   			}
		}
   			
		// Account ist aus irgendwelchen diversen, repressiven, diktatorischen Gründen gesperrt
		elseif ( $Entry_Check == 0 )
		{
			echo "Ihr Account ist momentan gesperrt. Bitte wenden sie sich an den <p><a href=\"./support.php\">Support</a></p>.";
		}
	}
	
	// Account existiert nicht
    elseif ( $Entry_Check == 0 )
    {
        echo "Account nicht vorhanden!";
    }
}

// Aus irgendwelchen diversen, wahrscheinlich administrativen oder der Wartung dienenden Arbeiten kein Login möglich
elseif ( $Entry_Check == 0 )
{
	echo "Der Server ist momentan offline. Bei Fragen wenden sie sich an den <a href=\"./index.php?villages=support\">Support</a>.";
}

?>

Zielseite
PHP:
<?php
session_start();
include "config.php"; 

if(!isset($_SESSION['username'])) 
   { 
   echo "<style type=\"text/css\">";
echo "<!--";
echo ".Stil3 {color: #000000}";
echo ".Stil2 {";
echo "	color: #000000;";
echo "	font-weight: bold;";
echo "}";
echo "-->";
echo "</style>";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"images/style.css\" />";
echo "<table width=\"454\" height=\"99\">";
echo "  <tr>";
echo "    <td><div  class=\"Stil2\">Sitzung abgelaufen</div></td>";
echo "  </tr>";
echo "  <tr>";
 echo "   <td><span class=\"Stil2\">Bitte Logge dich  erst ein!!!</span><span class=\"Stil3\</td>";
 echo " </tr>";
echo "</table>";

   exit; 
   } 

?>
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
probier mal statt:
PHP:
echo "<meta http-equiv='refresh' content='0;url=http://test.test.de/index.php?action=dorf'>";

das:
PHP:
header("Location: http://test.test.de/index.php?action=dorf&".session_name()."=".session_id()."");

ungetestet, aber müsste gehen.

EDIT: Wenns immer noch nicht geht, dann probier mal, dass du das

PHP:
ini_set("session.cookie_domain",".test.de");

weglässt.
 

DeletedUser

Gast
hab das ersetzt er leitet nicht weiter und auch das andere weggeamcht macht er immer noch nicht
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
Fehlermeldungen?
Probiers mal so:(ohne Lehhrezeichen zwichen Location und der URL)
PHP:
header("Location:http://test.test.de/index.php?action=dorf&".session_name()."=".session_id()."");
 

DeletedUser

Gast
zeigst du mir mal den entsprechenden Code-Auschnitt (mit meinem Beispiel) ?
 

DeletedUser

Gast
PHP:
					$query = "UPDATE `users` SET `logged_in` = '1' WHERE name='".$username."'";
					mysql_query( $query );
										$query = "UPDATE `users` SET `ip` = '".$ip."' WHERE name='".$username."'";
					mysql_query( $query );



			header("Location:http://test.test.de/index.php?action=dorf&".session_name()."=".session_id()."");  





					exit;
}
					
				// Account noch nicht aktiviert
				elseif ( $Entry_Check == 0 )
				{
					echo "Sie haben Ihr Account noch nicht aktiviert!";
				}
   			}
 

DeletedUser

Gast
teste mal bitte
PHP:
header("Location:http://www.google.de")
nur zum testen ob header überhaupt funzt.
 

DeletedUser

Gast
gib mal nach dem header irgendwas aus und schau ob das auch wirklich ausgegeben wird.
 

DeletedUser

Gast
jetzt gib den Text mal vor dem header aus. normalerweise müsste das jetzt eine Fehlermeldung geben.
 

DeletedUser

Gast
test
Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/desert-villages.webdiggi.com/htdocs/login.php:66) in /var/www/virtual/desert-villages.webdiggi.com/htdocs/login.php on line 67
 

DeletedUser

Gast
jo das hatte ich auch getestet hat aber leider auch nicht geklappt



oder ich mache immer was falsch
 

DeletedUser

Gast
probier evtl. mal:
PHP:
echo "<meta http-equiv='refresh' content='0;url=http://test.test.de/index.php?action=dorf&".session_name()."=".session_id()."'>";
 
Oben