Bei 2x include 500er Error

Hattrijck

Mitglied
Hallo zusammen,

Auch Heute habe ich wieder eine Frage, die sich eigentlich sehr schnell beantworten lassen müsste:
Ich habe 2 Files: login.php und register.php, die beide if($_POST['login/register']) beinhalten und danach die einzelnen Fälle (Passwort nicht eingegeben, falsches Passwort, kein Benutzername etc.) abklären.

So nun will ich diese beide Dateien in mein index.php einbinden, welcher nach dem Drücken auf den submit Button sich selbst mit einem POST aufruft. Doch wenn ich nach dem body die dateien einbinden will, gibt es einen Server Error. Wenn ich beide Dateien zusammenfüge (Was ich der Übersicht halter nicht möchte) funktioniert alles einwandfrei.

Gibt es dafür vielleicht eine Lösung?

PHP:
</body>
<?php
// Einbindung der Login- & Registrierungsdatei
include("src/login.php")
include("src/register.php")
?>
</html>

Funktioniert auch nicht:
PHP:
</body>
<?php
// Einbindung der Login- & Registrierungsdatei
require_once("src/login.php")
require_once("src/register.php")
?>
</html>

Login.php
PHP:
<?php
if($_POST['login'])
{
    // Variabel zur Überprüfung der Übereinstimmung zwischen dem eingegebenen Benutzernamen und Passwort
    $user = mysql_fetch_array(mysql_query("select * from users where username = '".mysql_real_escape_string($_POST['username'])."' and password = password('".mysql_real_escape_string($_POST['password'])."')"));

    // Überprüfung, ob ein Benutzername eingegeben wurde
    if(!$_POST['username'])
    {
    	echo "<script>document.getElementById('no_username').style.visibility = 'visible'</script>";
    }

    // Überprüfung, ob ein Passwort eingegeben wurde
    else if(!$_POST['password'])
    {
    	echo "<script>document.getElementById('no_password').style.visibility = 'visible'</script>";
    }

    // Überprüfung, ob der Benutzername mit dem Passwort übereinstimmt
    else if(!$user)
	{
		echo "<script>document.getElementById('no_match').style.visibility = 'visible'</script>";
	}

	// Setzt die Session mit dem entsprechenden Benutzernamen und leitet den Benutzer zu game.php weiter
    else
    {
        $_SESSION['username'] = $user['username'];
        echo "<script> var weitergeleitet = \"game.php\"; function weiterleitung() {window.location = weitergeleitet ;} setTimeout(\"weiterleitung()\", 0);</script> ";
    }
}

?>

Register.php
PHP:
if($_POST['register'])
{
    // Variabeln zur Überprüfung ob der Benutzername oder die E-Mail Adresse schon vergeben ist
    $usernames = mysql_fetch_array(mysql_query("select * from users where username = '".mysql_real_escape_string($_POST['username'])."'"));
    $emails = mysql_fetch_array(mysql_query("select * from users where email = '".mysql_real_escape_string($_POST['email'])."'"));

    // Überprüfung ob ein Benutzername eingegeben wurde
    if(!$_POST['username'])
    {
    	echo "<script>document.getElementById('no_username').style.visibility = 'visible'</script>";
    }

    // Überprüfung ob der Benutzername aus gültigen Zeichen besteht
	else if(!preg_match('/^[a-zA-Z0-9-_.*äöü]+$/i', $_POST['username']))
    {
        echo "<script>document.getElementById('invalid_username').style.visibility = 'visible'</script>";
    }

    // Überprüfung ob der Benutzername länger als 3 und kürzer als 15 Zeichen lang ist
    else if(strlen($_POST['username']) < 2 or strlen($_POST['username']) > 20)
    {
        echo "<script>document.getElementById('invalid_username_length').style.visibility = 'visible'</script>";
    }

    // Überprüfung ob der Benutzername schon vergeben ist
    else if($usernames['user_id'])
    {
	    echo "<script>document.getElementById('username_in_use').style.visibility = 'visible'</script>";
	}

	// Überprüfung ob eine E-Mail eingegeben wurde
    else if(!$_POST['email'])
    {
    	echo "<script>document.getElementById('no_email').style.visibility = 'visible'</script>";
    }

    //Überprüfung ob die E-Mail Adresse ein @ enthält
	else if(!preg_match("/@/",$_POST['email']))
	{
		echo "<script>document.getElementById('invalid_mail').style.visibility = 'visible'</script>";
	}

	// Überprüfung ob die E-Mail Adresse bereits verwendet wird
    else if($emails['user_id'])
	{
		echo "<script>document.getElementById('email_in_use').style.visibility = 'visible'</script>";
	}

	// Überprüfung ob die Regeln und AGB akzeptiert wurden
	else if (!$_POST['rules_agb'])
	{
		echo "<script>document.getElementById('no_agb').style.visibility = 'visible'</script>";
	}

	// Falls keine Fehler gemacht wurden, wird die Registrierung getätigt
    else
    {
        // Generierung eines zufälligen Passworts
    	$create_pw = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
        $passwort = substr( str_shuffle( $create_pw ), 0, 8 );

        // Abfrage der Grundsettings aus der Datenbank
        $settings = mysql_fetch_array(mysql_query("select * from settings where setting_id = '1'"));

        // Variabel für das Registrierungsdatum
        $time = time();

        // Einfügen der Userdaten in die Datenbank
        mysql_query("insert into users SET
				username			= '" . mysql_real_escape_string($_POST['username']) . "',
				email      			= '" . mysql_real_escape_string($_POST['email']) . "',
				password			= password('" . mysql_real_escape_string($passwort) . "'),
				registered			= '" . mysql_real_escape_string($time) . "',
				activated			= '0',
				high				= '0',
				elevator_speed		= '" . mysql_real_escape_string($settings['elevator_speed']) ."'");

		mysql_query("insert into money SET
				username			= '" . mysql_real_escape_string($_POST['username']) . "',
				money               = '" . mysql_real_escape_string($settings['start_money']) ."',
				floor_costs		    = '" . mysql_real_escape_string($settings['floor_costs']) ."'");

        // Sendet eine Mail mit dem generierten Passwort an die angegebene Mailadesse
		ZENSIERT

        // Gibt die Meldung aus, dass die Registrierung erfolgreich war
        echo "<script>document.getElementById('success').style.visibility = 'visible'</script>";
    }
}
?>
 
Zuletzt bearbeitet:
Was für eine Art von Fehler(meldung) bekommst du und was passiert wenn du erstmal nur eine der beiden Dateien einbindest?

Außerdem bekommst du so:

PHP:
if($_POST['login'])

immer einen Fehler wenn die Variable nicht gesetzt ist. Wenn schon dann musst du es so schreiben:

PHP:
if(isset($_POST['login']))
 
Hab fix das isset eingefügt.

Fehlermeldung immernoch gleich (Google Chrome)
Serverfehler
Beim Abrufen von URL ist auf der Website ein Fehler aufgetreten. Möglicherweise wird sie gerade gewartet oder ist falsch konfiguriert.
Vorschläge:
Laden Sie diese Webseite später erneut.
HTTP-Fehler 500 (Internal Server Error): Beim Versuch des Servers, die Anforderung zu verarbeiten, ist eine unerwartete Bedingung aufgetreten.
 
PHP:
</body>
<?php
// Einbindung der Login- & Registrierungsdatei
include("src/login.php") //<- fehlt hier irgendwas? 
include("src/register.php") //<- und hier?
?>
</html>

:)
 
Zurück