Rain Geschrieben 25. Oktober 2003 Teilen Geschrieben 25. Oktober 2003 Mein Problem ist folgendes: Ich habe ein Loginskript auf einer Seite. Das habe ich teilweise aus dem Netz geladen und einige Teile selber hinzugefügt. Es arbeitet mit Sessions. Zur zeit programmiere ich unter Windows und teste die Skripte mit dem WAMPP Server von apachefriends.org. Hier funktioniert das Login Skript wunderbar. Nun wollte ich das Selbe Skript auf einem Linux Server ausprobieren, jedoch kommt man nach der Angabe der Usernamens und des Passwortes immer wieder auf die Login Aufforderung zurück. Auf dem Win Rechner (wo das Skript funktioniert) ist installiert: PHP Version 4.3.3 Apache/2.0.47 (Win32) MySql Version: 3.23.49 Auf dem Linux Server(wo das Skript NICHT funktioniert) ist installiert: PHP Version 4.0.6 Apache/1.3.20 MySql Version: 3.23.41 Und so sieht das Login Skript aus: index.php <?php session_start(); // Session wird benötigt require("connect.inc.php"); // Einbinden der connect.inc.php -> Herstellung der Datenbankverbindung ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>LogIn zum Adminbereich</title> </head> <body> <?php if(!isset($_POST['submit'])) { ?> <form action="index.php" method="post"> <?php include("header.php"); include("config_file.php"); echo'<table width="'.$C_TABELLE_WIDTH_LOGIN.'" bgcolor="'.$C_BORDER_COLOUR_ALL.'" border="0" cellpadding="5" cellspacing="1" align="center">'; ?> <tr> <td bgcolor="#ffffff" align="center" colspan="2"> <b>Anmeldung</b> </td> </tr> <tr> <td width="170" bgcolor="#ffffff">Benutzername :</td> <td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input" <?php if($_POST['username'] != "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td> </tr> <tr> <td width="170" bgcolor="#ffffff">Passwort :</td> <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td> </tr> <tr> <td bgcolor="#ffffff" align="center" colspan="2"> <input type="submit" name="submit" value="Anmelden" class="button"> </td> </tr> </table> </form> <?php }elseif(!$_POST['username'] || $_POST['username'] == "") { echo '<br><p align="center">Bitte einen Benutzernamen angeben.<br><br><a href="index.php">Zurück</a></p>'; }elseif(!$_POST['password'] || $_POST['password'] == "") { echo '<form action="index.php" method="post">'; echo '<br><p align="center">Ein Passwort wird benötigt.<br><br>'; echo '<input type="hidden" name="username" value="'.$_POST['username'].'">'; echo '<input type="submit" name="zurueck" value="Zurück">'; echo '</p>'; echo '</form>'; }else{ //$password = md5($password); $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!'); $result = @mysql_fetch_array($query) or die('<br><p align="center">Dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>'); if($password != $result['pass']){ echo '<form action="index.php" method="post">'; echo '<br><p align="center">Dieses Passwort ist falsch!<br><br>'; echo '<input type="hidden" name="username" value="'.$_POST['username'].'">'; echo '<input type="submit" name="zurueck" value="Zurück"></p>'; echo '</form>'; die; }else{ $user = $result['user']; session_register('user'); include("header.php"); echo '<p align="center">Ihr Login war erfolgreich!</p>'; } } ?> <?php include("footer.php"); ?> </body> </html> footer und header.php -> in denen sind nur einfache Textausgaben. connect.inc.php -> hier wird die DB Verbindung hergestellt. config_file.php -> Zentrale DAtei um Design zu ändern. in beiden php.ini's ist register_globals auf on gestellt. Auch sessions_save_path sollte richtig sein (Bei Linux ist noch default auf /tmp gesetzt) Wer kann mir sagen wiso das Skript auf dem Win Rechner funktioniert und auf dem Linux Server einfach nicht funktionieren will? Besten Dank im Voraus für die Antworten RAIN Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 26. Oktober 2003 Teilen Geschrieben 26. Oktober 2003 Hallo, vielleicht wegen dem $_POST. Versuch doch mal $HTTP_POST_VARS. Ich meine PHP 4.0.6 kennt noch kein $_POST. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rain Geschrieben 26. Oktober 2003 Autor Teilen Geschrieben 26. Oktober 2003 Dank sehr, werde wohl PHP updaten müssen. MFG RAIN Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 26. Oktober 2003 Teilen Geschrieben 26. Oktober 2003 Es ist immer ratsam, das man auf der entwicklungsumgebung die gleiche Apache / Mysql / PHP Versionen hat, dann kann man manche fehlerquellen von vorne herein ausschließen. gruss kills Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.