Totalverzweiflung beim login

humsdigga

Mitglied
Hallo alle zusammen,
Ich hänge nun seit ein paar Tagen an einem pupseinfachen Login, aber irgendwo ist ein minimaler Fehler den ich nicht finde.
Ich hoffe Ihr habt vllt mehr Glück und könnt mir helfen.

1.Datei:
PHP:
<?php
setcookie("username","valentin",0);
?>

 <?php
include ('css1.php');
?> 
<div class="middle">
<div align="center"><u>Adminbereich</u></div><br><br>



<form action="login.php" method="post">

Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>

<input type="submit" value="Login">
</form>

2.Datei:
PHP:
<?php

session_start();
?>

 <?php
include ('css1.php');
?> 


<div class="middle">
<div align="center"><u>Login</u></div><br><br>

<<?php
$verbindung = mysql_connect("localhost", "h" , "tj")

or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("hua") or die ("Datenbank konnte nicht ausgewählt werden");


$username = $_POST["username"];

$passwort = md5($_POST["password"]);


$abfrage = "SELECT username, passwort FROM login WHERE username LIKE 
'$username' LIMIT 1";

$ergebnis = mysql_query($abfrage);

$row = mysql_fetch_object($ergebnis);


if($row->passwort == $passwort)

    {
    $_SESSION["username"] = $username;

    echo "Login erfolgreich. <br> <a href=\"adminbereich.php\" >
Zur Startseite zurück</a>";
    }
else
    {
    echo "Benutzername und/oder Passwort waren falsch. <a 
href=\"admin.php\">Login</a>";

    }

?> </body></head></html>

</div>

 <?php
include ('css2.php');
?>

^ ^ Hier sagt er mir Login erfolgreich.

3.Datei:
PHP:
<?php 
session_start();
?> 
<?php
include ('css1.php');
?> 
<?php
if(!isset($_SESSION["username"]))

   {
   echo "Fehler! <a href=\"admin.php\">Hier zum Login";

   exit;
   }
?>

<div class="middle">
<div align="center"><u>Adminbereich</u></div><br><br>

<a href="marqueefor.php">marquee</a>

</div>

   <?php
include ('css2.php');
?>

Ja und hier sagt er mir leider Fehler blabla.

Hoffe das ihr mir helfen könnt.

Mfg Hums
 
PHP:
<?php
setcookie("username","valentin",0);
?>
Ich weiß ja nicht was das hier soll, aber das Cookie wäre nur Null Sekunden gültig?!

PHP:
$username = $_POST["username"];

$passwort = md5($_POST["password"]);


$abfrage = "SELECT username, passwort FROM login WHERE username LIKE 
'$username' LIMIT 1";

Würde ich nicht so schreiben, sondern eher so:

PHP:
$username = mysql_real_escaping_string($_POST["username"]);

$passwort = md5($_POST["password"]);


$abfrage = "SELECT `username`, `passwort` FROM `login` WHERE `username` = '$username' AND `passwort` = '$passwort' LIMIT 1";

und dann eine Abfrage mit
PHP:
if (mysql_num_rows($ergebnis) == 1)
 
Steht auch auf den betreffenden Seiten ganz oben als erstes session_start(); ?
Denn sonst existiert halt keine Session...

Ja und hier sagt er mir leider Fehler blabla.
Fehler blabla gibt es nicht!
Fehlerausgaben von PHP und SQL bitte mit posten...
Wenn es Fehlermeldungen deines Skripts sind, dann acu hdiese bitte nennen, damit man nachvollziehen kann, welche Prüfung den Fehler ergeben hat...
 
Nun bekomme ich eine Fehlermeldung:

Fatal error: Call to undefined function mysql_real_escaping_string()

@chaosengel: Es kommt keine Fehlermeldung von PHP sondern von meiner Datei:

PHP:
<?php
if(!isset($_SESSION["username"]))

   {
   echo "Fehler! <a href=\"admin.php\">Hier zum Login";

   exit;
   }
?>
Hier sagt er mir dann Fehler ^ ^ siehe Datei.
 
Ein Blick ins PHP Handbuch sollte eigendlich Klarheit verschaffen. Dort gibst du mal im Feld search for mysql_real_escaping_string() ein.

Also etwas mitdenken ist wohl nicht zu viel verlangt.
 
Zuletzt bearbeitet:
Es muss eine andere Lösung geben ohne mysql_real_escaping_string(), zuvor auf einer HP habe ich den gleichen Code benutzt, ich verstehe nicht warum es nicht mehr funktioniert.

(!)(!) Hoffe jmd findet mal den Fehler (!)(!)
 
Na klar aber ich verstehe das nicht. Eigentlich ist das viel einfacher und irgendwo in meinem Code ist ein kleiner winziger Fehler. Ich würde es nämlich gerne nach der Variante machen wie ich es sonst immer mache.
 
mysql_real_escaping_string() ...
Wenn ich das lese krieg ich ne kriese ^^
mysql_real_ESCAPE_string() <-SO schreibt sich das ;)

@chaosengel: Es kommt keine Fehlermeldung von PHP sondern von meiner Datei:
Also wird die Session nicht richtig verarbeitet...

Gugg nach, ob am Anfang der File session_start() steht!
Ansonsten die Variablen Probeweise ausgeben:
PHP:
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
 
Zurück