Veröffentlicht 25. Oktober 200321 j 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
26. Oktober 200321 j Hallo, vielleicht wegen dem $_POST. Versuch doch mal $HTTP_POST_VARS. Ich meine PHP 4.0.6 kennt noch kein $_POST. Frank
26. Oktober 200321 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.