Session-Login geht nicht | Problem gelöst |
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
 |
|
Session-Login geht nicht | Problem gelöst |
 |
Überschrift ist etwas blöd, aber man weiß ja gleich, worum es geht
Wichtig: Hab mal einen Testaccount angelegt und musst feststellen, dass leider das Passwort immer falsch angegeben wird! Da kommt dann zum Beispiel 48951b077898 raus oder so!
Da ich vorher den LogIn ohne Sessions hatte, wollte ich heute mal einen mit Sessions ausprobieren. Doch leider klappt das nie! Der Fehler liegt glaube ich bei session_start(); ganz oben. So stand es zumindest in der Fehlermeldung ( siehe kursives unten ).
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
|
<?php
session_start();
?>
<?php
include("datenbank.php");
$Nickname = $_POST["Nickname"];
$Passwort = md5($_POST["Password"]);
$abfrage = "SELECT Nickname, Passwort FROM Steckbrief WHERE Nickname LIKE '$Nickname' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->Passwort == $Passwort)
{
$_SESSION["Nickname"] = $Nickname;
echo "Hallo!";
}
else
{
echo "Login fehlgeschlagen!<br><a href="login.htm">Zurück</a>";
}
?> |
|
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/webpages/lima-city/equinestars/html/equineStars/login.php:10) in /home/webpages/lima-city/equinestars/html/equineStars/login.php on line 11
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/webpages/lima-city/equinestars/html/equineStars/login.php:10) in /home/webpages/lima-city/equinestars/html/equineStars/login.php on line 11
Login fehlgeschlagen!
Zurück
Würde mich freuen, wenn mir jemand helfen würde. Hab nämlich keine Lust, alles per Hand einzutragen, wenn ich den LogIn ohne MySQL weiterbenutze.
Beim Fehler wunder ich mich ein sehr, weil ich es direkt aus dem Code so übernommen habe. Hab daher noch mal den ganzen Code gepostet, aber der Code macht es ja eigentlich eindeutig, dass das der Fehler sein muss...
__________________
Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von callous.: 18.07.2009 14:39.
|
|
30.06.2009 16:08 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
 |
|
ich wäre um den login.php code froh und zwar VOLLSTÄNDIG in der PHP form! dh nutz die funktion um n code heir drinne anzeigen zu lassen mit [PHP]
|
|
30.06.2009 16:19 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Habs editiert. Weiß bloß nicht, warum es unvollständig sein soll...
__________________
|
|
30.06.2009 16:28 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
 |
|
oh noch jemand der codes kopiert ohne zu wissen was er tut =/ du verschlüsselst das PW in einen 32 stelligen einmaligen code. MD5
www.php-einfach.de
|
|
30.06.2009 16:46 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Lass es doch einfach ganz, wenn du nur rummeckerst. Wenn wir alle PHP-Experten wären, müsste es diese Area wohl nicht geben, oder?
Es ist doch ganz normal, dass man als Anfängerin Fehler einbaut und sie selbst nicht findet...
Wäre auch toll, wenn ich sofort wüsste, was der Fehler wäre und gleich ein Onlinespiel wie howrse, equilino, ... aufbauen könnte.
Angel: Jetzt verstehe ich nicht so ganz, was du meinst. Meinst du mit DB die datenbank.php oder was anderes? Die hab ich immer gleich. Und welchen Code meinst du? *verwirrt bin*
__________________
|
|
30.06.2009 17:03 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
 |
|
RE: Session-Login geht nicht | Fehler?: session_start(); |
 |
Zitat: |
Original von fabbily
Wichtig: Hab mal einen Testaccount angelegt und musst feststellen, dass leider das Passwort immer falsch angegeben wird! Da kommt dann zum Beispiel 48951b077898 raus oder so! |
lesen ANGEL_05!!! darauf bezog sich meine antwort!
|
|
30.06.2009 17:04 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Danke. Das war dann wohl das Problem.
Doch nun klappt der LogIn nicht ( Login fehlgeschlagen! )
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
<?php
session_start();
?>
<html>
<head>
<title>equineStars</title>
</head>
<body background="content.png">
<?php
include("datenbank.php");
$Nickname = $_POST["Nickname"];
$Passwort = md5($_POST["Passwort"]);
$abfrage = "SELECT Nickname, Passwort FROM Steckbrief WHERE Nickname LIKE '$Nickname' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->Passwort == $Passwort)
{
$_SESSION["Nickname"] = $Nickname;
echo "Hallo!";
}
else
{
echo "Login fehlgeschlagen!<br><a href="login.htm">Zurück</a>";
}
?>
</html>
</body> |
|
Angel: Ja, I-Frame
__________________
|
|
30.06.2009 19:20 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Mit $Passwort = md5($Passwort); wird das PW doch bei der Registrierung in MD5 gespeichert, oder?
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
|
<html>
<head>
<title>equineStars</title>
</head>
<body background="http://equinestars.lima-city.de/equineStars/content.png">
<p align="left"><font face="Verdana" size="2">
<?php
include("datenbank.php");
$Nickname = $_POST["Nickname"];
$Passwort = $_POST["Passwort"];
$Passwort2 = $_POST["Passwort2"];
if($Passwort != $Passwort2 OR $Nickname == "" OR $Passwort == "")
{
echo "Du hast nicht alle Felder korrekt ausgefüllt!<br><a href="formular.php">Zurück</a>";
exit;
}
$Passwort = md5($Passwort);
$result = mysql_query("SELECT id FROM Steckbrief WHERE Nickname LIKE '$Nickname'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO Steckbrief (Nickname, Passwort) VALUES ('$Nickname', '$Passwort')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Hallo $Nickname!<br>Du kannst dich nun <a href="login.htm">einloggen</a>";
}
else
{
echo "Es ist ein Fehler beim Speichern des Benutzernamens aufgetreten.<br><a href="formular.php">Zurück</a>";
}
}
else
{
echo "Der Benutzername ist schon vorhanden.<br><a href="formular.php">Zurück</a>";
}
?>
</font></p>
</body>
</html> |
|
__________________
|
|
01.07.2009 07:26 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
 |
|
sicher das alles beim login richtig übertragen wird?
|
|
01.07.2009 07:46 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Die haben nun das normale Passwort.
__________________
|
|
06.07.2009 13:51 |
|
|
1Sm!le

Mitglied
 

Dabei seit: 05.03.2005
Beiträge: 441
Herkunft: Berlin
 |
|
Und wie speicherst du den Utnerschied von Problemitgliedern udn "echten" Mitgliedern?
__________________
|
|
06.07.2009 14:18 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Fehlermeldung erscheint eigentlich keine (nur eben: Login fehlgeschlagen - Zurück), da der LogIn eigentlich ja super funktioniert. Nur leider liegt das Problem dabei, dass er nur die Mitglieder annimmt, die in der Tabelle "Probemitglieder" stehen, anstatt die aus der Tabelle "Steckbrief.
Die Tabelle "Probemitglieder" sollte abgeschafft werden, da es keine Probezeit auf equineStars geben sollte... Daher sollten die Mitglieder dann nach der Anmeldung sich sofort einloggen können. Sie werden auch in "Steckbrief" abgespeichert, können sich aber nciht einloggen. Das klappt nur, wenn sie in "Probemitglieder" sind.
Was würde passieren, wenn ich "Probemitglieder" einfach löschen würde? Würde dann gar nichts mehr gehen?
Verstehe einfach nicht, warum es bei "Probemitglieder" klappt und bei "Steckbrief" nicht, wobei "Probemitglieder" nicht mal im Code vorkommt. Wie kann der Code dann die Informationen daraus nehmen?
__________________
|
|
06.07.2009 15:02 |
|
|
1Sm!le

Mitglied
 

Dabei seit: 05.03.2005
Beiträge: 441
Herkunft: Berlin
 |
|
Rufst du definitiv die Seite auf, die du uns hier zeigst? Wenn ganz andere Tabellen genutzt werden, kann da etwas grundlegend nicht stimmen.
__________________
|
|
06.07.2009 17:51 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Ich habe nun die Tabelle "Probemitglieder" gelöscht (brauchte sie eh nicht, da ich keine Probezeit auf equineStars haben wollte).
Jetzt gehts allerdings immer noch nicht und wenn ich mich mit den alten Daten der Probemitglieder einlogge, geht es. Aber sie sind ja gelöscht, oder? Wie will der LogIn denn Sachen aus einer Tabelle entnehmen, die nicht (mehr) existiert?
Vielleicht dauert es ja etwas...
__________________
|
|
11.07.2009 11:14 |
|
|
1Sm!le

Mitglied
 

Dabei seit: 05.03.2005
Beiträge: 441
Herkunft: Berlin
 |
|
Ein Script kann nicht auf nicht mehr in einer Tabelle existierende Daten zugreifen. Es muss irgendwo ein anderes Script oä als du denkst verwendet sein. Also dass du zb in Wahrheit eine andere Seite editierst als du ansiehst
__________________
|
|
11.07.2009 15:56 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
Themenstarter
 |
|
Ich Dummkopf! Gestern Abend habe ich rausbekommen, dass man eingeben kann, was man will. Auch wenn man gar nichts rein schreibt. Er nimmt alles an, außer die Daten, die er eigentlich annehmen sollte und die anderen sollte er verwehren, aber er nimmt sie an.
Muss also umgekehrt sein...
Hab auch einen Fehler entdeckt und ihn geändern. Geht aber immer noch nicht...
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
|
<?php
session_start();
?>
<html>
<head>
<title>equineStars</title>
<link rel="stylesheet" type="text/css" href="designcss.css">
</head>
<body background="content.png" scroll="no">
<?php
include("datenbank.php");
$Nickname = $_POST["Nickname"];
$Passwort = $_POST["Passwort"];
$abfrage = "SELECT Nickname, Passwort FROM Steckbrief WHERE Nickname LIKE '$Nickname' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->Passwort == $Passwort)
{
$_SESSION["Nickname"] = $Nickname;
echo '<div align="justify">
<table border="0" cellpadding="5" width="100%">
<tr>
<td width="12%" bgcolor="#FEE7C2">
<p align="center"><a href="login_allgemeines.php"><b>Allgemeines</b></a></td>
<td width="12%" bgcolor="#FEE7C2">
<p align="center"><a href="login_profil.php">Profil</a></td>
<td width="12%" bgcolor="#FEE7C2">
<p align="center"><a href="login_pferde.php">Pferde</a></td>
<td width="12%" bgcolor="#FEE7C2">
<p align="center"><a href="login_stadt.php">Stadtmitte</a></td>
<td width="13%" bgcolor="#FEE7C2">
<p align="center"><a href="login_bericht.php">Berichte</a></td>
<td width="13%" bgcolor="#FEE7C2">
<p align="center"><a href="spiele.php">Spiele</a></td>
<td width="13%" bgcolor="#FEE7C2">
<p align="center"><a href="login_konto.php">Konto</a></td>
</table>
</div><br><br>
Hallo';
}
else
{
echo "Login fehlgeschlagen!<br><a href="login.htm">Zurück</a>";
}
?>
</html>
</body> |
|
__________________
|
|
14.07.2009 16:19 |
|
|
|
Impressum
|