phpbar.de logo

Mailinglisten-Archive

[php] Rookie mit Loginproblem braucht Hilfe

[php] Rookie mit Loginproblem braucht Hilfe

Sebastian Mendel lists at sebastianmendel.de
Mon Mar 12 07:29:26 CET 2007


Thomas Letzner schrieb:
> Hi
> 
> ich habe vor zwei Jahren mal ein Loginscript geschrieben welches auch 
> funktionierte, jetzt habe ich den Provider gewechselt und nun 
> funktioniert das Script nicht mehr. Ich habe von verschiedenen Sachen 
> gelesen und einiges probiert aber irgendwie bekomme ich das script nicht 
> mehr zum laufen.
> Das Problem besteht eigentlich darin das die Session von framelogin.php 
> nicht mehr gesetzt werden und somit auch nicht in verify.php vorhanden 
> sind. Zuerst dachte ich daran das es mit der Einstellung register 
> globals zusammenhängt aber eine Änderung der Einstellung brachte leider 
> nicht den gewünschten Erfolg. Installierte PHP-Version ist PHP Version 
> 4.3.10-18. Ich poste daher mal die zwei besagten scripte:
> 
>  >>>>>>>>>>>>>>>>framelogin.php<<<<<<<<<<<<<<<<<<<<<<<<<<<
> <?php session_start (); ?>
> <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
> <html>
> <head>
> <title></title>
> </head>
> <body text="#FFFFFF" bgcolor="#000000" link="#FF0000" alink="#FF0000" 
> vlink="#FF0000">
> <TABLE bordercolor="#7B0000" BORDER=1 CELLSPACING=0 CELLPADDING=1 
> WIDTH="140">
> <tr>
>   <td bgcolor="#393C39">Login</td>
> </tr>
> </table>
> <table>
> &nbsp;
> <?php
> if (!isset ($_SESSION["userid"]))
> {
> echo "<form action=\"verify.php\" target=\"mitte\" method=\"post\">
> <font size=\"-1\">Username : </font><br>
> <input type=\"text\" name=\"username\" size=\"10\" maxlength=\"15\"><br>
> <font size=\"-1\">Passwort : </font><br>
> <input type=\"password\" name=\"passwort\" size=\"10\" maxlength=\"15\"><br>
> <input type=\"submit\" name=\"absenden\" value=\"einloggen\">\n";
>   }
> else
> {
> echo "<form action=\"logout.php\" target=\"mitte\" method=\"post\">
> <font size=\"-1\">Username : </font><br>
> <input type=\"text\" name=\"username\" size=\"10\" maxlength=\"15\"><br>
> <font size=\"-1\">Passwort : </font><br>
> <input type=\"password\" name=\"passwort\" size=\"10\" maxlength=\"15\"><br>
> <input type=\"submit\" name=\"absenden\" value=\"ausloggen\">\n";
> }
> ?>
> </form>
> </table>
> </body>
> </html>
> 
> 
>  >>>>>>>>>>>>>><<verify.php<<<<<<<<<<<<<<<<<<<<<<<<<<
> 
> <?php session_start();
> 
> include ("../include/var.inc.php");
> if ((!isset($_SESSION["username"])) OR (!isset($_SESSION["passwort"])))
> {
> die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts");
> }

woher soll bitte beim ERSTEN Aufruf $_SESSION["username"] und
$_SESSION["passwort"] kommen?

Oder wird das in der var.inc.php gesetzt?

wenn du die Daten aus dem Formular abfragen willst brauchst du
$_REQUEST['username'] und $_REQUEST['passwort']


> $conn = mysql_connect($host,$dbuser,$dbpass);
> if (!$conn)
> {
> die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen");
> }
> mysql_select_db($dbname,$conn);
> $query = "SELECT password, level, email FROM login WHERE username = 
> '".$username."'";
> $result =  mysql_query($query,$conn);
> $result =  mysql_query("SELECT userid, password, level, email FROM login 
> WHERE username = '$username'",$conn);

Warum machst du das zweimal?


> $zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC);
>       mysql_close($conn);
>       if (!$zeileholen)
> {
> die ("Sorry, aber dieser Name ist leider nicht bekannt !");
> }
> if ($zeileholen["password"] <> $passwort)
> {
> die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
> }

Und was machst du wenn zwei Benutzer den gleichen Benutzernamen haben? oder
geht das nicht?


> $level = 0;
> $level = $zeileholen["level"];
> $userid = 0;
> $userid = $zeileholen["userid"];
> $email = $zeileholen["email"];

initialisieren von Variablen ist zwar gut, aber überflüssig wenn du eh
direkt danach einen Wert zuweißt.


>   if ($level == 1){
> $_SESSION('username');
> $_SESSION('level');
> $_SESSION('userid');
> $_SESSION('email');

Was soll das sein?


-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive