Anderungen MySQL 4 zu 5 (PHP Frage)?

StrangeThing

Mitglied
Hallo,

ich habe hier eine Anmeldung für eine Webseite, welche wunderbar funktioniert, wenn ich einen mySQL 4 Server laufen habe. Wenn ich aber einen mySQL 5 Server laufen lasse (ansonsten alles gleich), dann kann ich mich nicht anmelden.

Woran mag das liegen und wie bekomme ich das hin?

Ich wäre da für wirklich jede Hilfe sehr dankbar.

Anbei die Quellcodes:

Main.php
PHP:
<?
session_start();
	if (session_is_registered('username'))
{
		printf("<html>
<head>
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" marginwidth=\"0\" marginheight=\"0\" topmargin=\"0\" leftmargin=\"0\">");
	session_destroy();
	printf("Sie waren bereits angemeldet und wurden nun automatisch ausgeloggt.");
}
?>
<html>
<head>
<meta http-equiv="expires" content="0">
<title>main</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
<div align="center">
<font size=5>Loginpage</font><br><br><br>

Willkommen.<br>Diese Anwendung erfodert eine g&uuml;ltige Anmeldung.<br><br>
Bitte geben Sie Ihren Usernamen und Ihr Passwort ein.<br><br>
<form action="vertify.php" method="POST">
<table>
<tr><td>Username:</td><td><input type="text" name="username" size="20" maxlength="20"></td></tr>
<tr><td>Passwort:</td><td><input type="password" name="passwort" size="20" maxlength="20"></td></tr>
<tr><td><input type="submit" name="absenden" value="Login"></td></tr>
</table>
</form>
<br><br><br>
<img src="images/php.gif"><img src="images/apache.gif"><img src="images/mysql.gif">
</body>
</html>

vertify.php
PHP:
<?
session_start(); 
if ((!isset($username)) OR (!isset($passwort)))
{
		printf("<html>
<head></head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" marginwidth=\"0\" marginheight=\"0\" topmargin=\"0\" leftmargin=\"0\">");
	die ("<center><font size=5>Loginpage / Access Denied</font><br><br>Sie haben keine korrekten Eingaben getätigt. Bitte melden Sie sich an!");
}

include("db.inc");

$sql = "SELECT * FROM user WHERE username='".$username."'";
$result = mysql_query($sql,$db);

$zeilenholen = mysql_fetch_array($result,MYSQL_ASSOC);

if (!$zeilenholen)
{
		printf("<html>
<head>
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" marginwidth=\"0\" marginheight=\"0\" topmargin=\"0\" leftmargin=\"0\">");
	die ("<center><font size=5>Loginpage / Error</font><br><br>Dieser Username ist falsch. Bitte wiederholen Sie Ihre Einagebe oder wenden Sie sich an den Administrator.");
}

if (md5($passwort) != $zeilenholen["pw"])
{
	printf("<html>
<head>
</head>
<body bgcolor=\"#FFFFFF\" text=\"#000000\" marginwidth=\"0\" marginheight=\"0\" topmargin=\"0\" leftmargin=\"0\">");
	die ("<center><font size=5>Loginpage / Error</font><br><br>Das Passwort ist inkorrekt. Bitte wiederholen Sie Ihre Einagebe oder wenden Sie sich an den Administrator.");
}

$level = $zeilenholen["ulevel"];

session_register('username');
session_register('level');

header ("Location:main2.php");
?>
main2.php
PHP:
<?
session_start(); 
?>
<html>
<head>
</head>
<body bgcolor="#FFFFFF" text="#000000" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
<?
if (!session_is_registered('username'))
{
	die ("Es tut mir leid, Sie müssen sich erst einloggen!");
}
echo "<center><font size=5>Loginpage / Login erfolgreich.</font><br><br>";
echo "Hallo. Sie sind eingeloggt als: ".$username." !<br>";

if ($level=="1") { $showlevel="Administrator"; }
if ($level=="2") { $showlevel="Benutzer"; }
if ($level=="3") { $showlevel="Read-Only"; }

echo "<br>Ihr Status ist: ".$showlevel;
echo "<br><br>Sie können nun die Anwendung benutzen."
?>
 
Die db.inc sieht so aus:

PHP:
<?
$db = mysql_connect("localhost","root","");

mysql_select_db("datenbank",$db);
?>

Wie gesagt: mit einem MySQL 4 alles kein Problem, wenn ich die MySQL 5 anwerfen -> no way. Es muss aber beides laufen :/
 
Du lässt aber nicht MySQL4 und 5 gleichzeitig laufen oder?
Ist es vielleicht ein Portproblem?
 
Nein, natürlich lasse ich nicht mySQL 4 und 5 gleichzeitig laufen.

Es ist aber dennoch ein blöder Fehler gewesen, da ich mit sicher war, daß alles ansonsten gleich war, was nicht stimmt: auf dem mySQL 4 Server waren die globals auf 'on', bei dem mySQL 5 auf 'off' ;)

Sprich ich baue gerade alles auf $_SESSION um und schon geht es :)

Dennoch vielen Dank für die Hilfe, das hatte ich selbst verdaddelt :)
 
Dann hast du dich aber vertan, denn register_globals hat nichts mit MySQL zu tun, sondern mit PHP Version 4 oder 5.
 
Ist mir schon klar ;)

Ich dachte auch nur anfänglich, daß es etwas mit der MySQL Version zu tun hätte, da ich dachte, daß es der einzige Unterschied war.

Aber dann belehrte ich mich ja selbst eines besseren ;) Habe mich da nur etwas umständlich ausgedrückt, man möge es mir verzeihen. :)
 
Zurück