Loginsystem funktioniert nicht
Thomy
- php
Hi,
ich hab mit Hilfe einem Tutorial(*) ein Loginsystem geschrieben. Da es nach dem ersten Mal nicht funktioniert hat, hab ich das Script von der Seite runtergeladen und kopiert. Leider funktioniert dies auch nicht. Es kommt immer dieser Fehler:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /srv/www/htdocs/web180/html/Test/Test2/default.php:3) in /srv/www/htdocs/web180/html/Test/Test2/index.php on line 10
Aber in Line 10 steht nur: session_start() (siehe indexscript)
Die Scripte:
Adminscript:
http://scripts.php-q.net/tutorial/login/admin.php
Indexscript:
http://scripts.php-q.net/tutorial/login/index.php
*Das Tutorial muss man von Anfang bis Ende durchlesen, folgende Themen basieren auf das Voherige. Ich habe es auch bis zu diesem Thema gemacht, da das nächste auf das Loginsystem basiert, kann ich nicht weiter machen.
Die MYSQL ist erreichbar und habe auch schon damit gearbeitet.
Könnte mir jemand sagen, wo da der Fehler liegt.
#Thomy
Das heißt, du hast bereits vor dem session_start() eine Ausgabe gemacht.
Der session_start()-Befehl kann nur gemacht werden, wenn zuvor absolut keine HTML-ausgabe gemacht wurde, nicht ein mal ein Leerzeichen.
z.B.:
datei.php ==> korrekt
--------------
<?php
session_start();
...
datei.php ==> falsch
<html>
<?php
session_start();
...
lg Gerhard
Hi,
danke, jetzt ist der Fehler weg. Aber leider ein neues Prob. Wenn ich mich einloggen will. kommt immer das mein Passwort falsch wäre.
Alles im adminscript.
#Thomy
So stark sind meien telepathischen Fähigkeiten noch nicht ausgeprägt dass ich von hier aus deinen Quellcode einsehen könnte.
Leider kann ich dir ohne diesen in diesem Fall nicht weiterhelfen.
lg Gerhard
Hi,
nun geht grad gar nichts mehr, ich klicke auf Abschicken, aber es lädt immer wieder das Forumlar.
Mein adminquelltext:
<?php
if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
session_destroy();
echo "<p><font color="white">\n";
echo " Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";
echo " zu kommen müssen sie sich wieder Einloggen\n";
echo "</p></font>\n";
} else {
if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
echo "<p><font color="white">\n";
echo " Bitte wählen sie einen Benutzernamen aus.\n";
echo "</p></font>\n";
} else {
if(isset($_POST['UserID'], $_POST['Password']) AND
login_right(addslashes($_POST['UserID']),
addslashes($_POST['Password']))) {
$_SESSION['ID'] = $_POST['UserID'];
}
if(isset($_SESSION['ID'])) {
echo "<p><font color="white">\n";
echo " Willkommen im Adminbereich <br />\n";
echo " <a href="index.php?section=admin&".SID."">Repeat</a>\n";
echo " <a href="index.php?section=admin&action=logout&".SID."">Ausloggen</a>\n";
echo "</p></font>\n";
} else {
if(isset($_POST['submit'])) {
// Der Submit-Button wurde gedrückt
// aber der Login ist falsch. Deshalb
// erstellen wir eine Fehlermeldung
echo "<p class="error">\n";
echo " Ungültiges Password.\n";
echo "</p>\n";
}
echo "<form action="default.php?section=admin" method="post" class="admin_form">\n";
echo " <table>\n";
echo " <tr>\n";
echo " <th colspan="2">\n";
echo " <h2><font color="white">Adminbereich</h2>\n";
echo " </th>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <label for="name"><font color="white">Name:</font></label>\n";
echo " </td>\n";
echo " <td>\n";
$sql = "SELECT
ID
,
Name
FROM
users
ORDER BY
Name
ASC;";
$result = mysql_query($sql) OR die(mysql_error());
echo " <select size="1" name="UserID" id="name">\n";
echo " <option value="0" selected="selected">>Bitte wählen</option>\n";
while($row = mysql_fetch_assoc($result)) {
echo "<option value="".$row['ID']."">".$row['Name']."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <label for="password"><font color="white">Password:</font></label>\n";
echo " </td>\n";
echo " <td>\n";
echo " <input type="password" name="Password" id="password"/>\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan="2">\n";
echo " <input type="submit" name="submit" value="Abschicken" />\n";
echo " <input type="reset" name="submit" value="Zurücksetzen" />\n";
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo "</form>\n";
}
}
}
?>
function quelltext(ausschnitt):
...
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
users
WHERE
ID = '".$id."' AND
Password = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}
...
Ich hoff ihr findet den Fehler.
#Thomy
Hi,
jetzt bringt er wenigsten wieder, Ungültiges Passwort.
#Thomy
Ahoi Thomy,
danke, jetzt ist der Fehler weg. Aber leider ein neues Prob. Wenn ich mich einloggen will. kommt immer das mein Passwort falsch wäre.
vermutlich liegts daran das du was anderes eingibst als in der
login_right() funktion angegeben ist. gibts zu diesen scripten auch noch
irgendwelchen erklärenden text? wenn nicht ein schlechtes Tut.
MfG
Ahoi Thomy,
Aber in Line 10 steht nur: session_start() (siehe indexscript)
und was steht in zeile 1 bis 9?
MfG
Hi Thomy!
ich hab mit Hilfe einem Tutorial
Der Dativ ist dem Genitiv sein Tod! |scnr| ;-)
MfG Hopsel