Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich möchte folgendes...

Eine Webseite auf der man sich einloggt und auf den folgenden Seiten der Benutzer erhalten bleibt, also die Seite weiß wer sich angemeldet hat und surft.

So, mein Problem...

Ich habe alles fertig programmiert und es lief auch, als ich es jedoch auf meinen Webserver (der gehostet wird) lud klappte dies nicht mehr. Ich vermute mal, da die Session auf dem Server in eine Textdatei geschrieben wird, was der Server aber nicht erlaubt. Es darf keine Datei auf dem Server geschrieben werden.

Wie realisiere ich nun meine Login Funktion? Ich bekomme es einfach nicht hin. :-(

Am liebsten wäre mir, wenn die SessionID in einem Clientseitigen Cookie gespeichert werden, bzw. wenn dieser keine Cookies erlaubt, in der URL übergeben wird. Doch wie bekomme ich das hin? *schnief*

Geschrieben

Ach ja, meine Cookies verursachen folgende Fehler-Meldungen:

Warning: Cannot add header information - headers already sent by (output started at /www/users/web181/html/ims/login.php:12) in /www/users/web181/html/ims/login.php on line 75

Warning: Cannot add header information - headers already sent by (output started at /www/users/web181/html/ims/login.php:12) in /www/users/web181/html/ims/login.php on line 76

Hier mein Code:

<html>

....

Formular

....

// Überprüfung

if ($submit) {

// Verbindung mit der Datenbank wird hergestellt

$db = mysql_connect("localhost","....",".....");

mysql_select_db("......",$db);

// Benutzer und Paßwort werden in der Datenbank überprüft

$sql = "SELECT * FROM db_user WHERE User='$UserEntered'";

$result = mysql_query($sql,$db);

$data = mysql_fetch_array($result);

// Ist der Benutzer vorhanden, wird eine neue Seite aufgerufen

if ($PassEntered==($data["Password"])){

$UserID=$data["UserID"];

setcookie("sessionlogin", "$UserID", "()+1800);");

header("Location: main.php");

}

// Ist der Benutzer nicht vorhanden, wird eine Fehlermeldung ausgegeben

else{

echo ("Der Benutzer existiert nicht, oder falsches Paßwort");

include("login.php");

exit;

}

}

}

?>

Wobei Zeile 75 und 76 folgende sind:

setcookie("sessionlogin", "$UserID", "()+1800);");

header("Location: main.php");

Geschrieben

Erstmal danke für die Antwort!

*grübel*

Ich dachte mit dem Befehl verweist man an eine neue Seite, bzw. ruft diese auf.

Wie löse ich mein Problem am besten? Ich glaube, ich muß noch viel lernen....:rolleyes:

Geschrieben

Moin !

der header() Befehl ist schon richtig, nur darfst Du wie gesagt vorher keinerlei Ausgaben machen, schon der <html> Tag am Anfang ist zuviel.

Wenn ich das richtig sehe, zeigt dein login.php das Anmelde-Formular an und schickt das ergebnis an sich selbst ?

Lösen könntest Du das z.B., indem Du die Ausgabe des Login-Formulars in eine eigene Funktion packst, und am Anfang des Scriptes verzweigst (über die $submit-Variable) in entweder Formular-ausgeben oder Überprüfung. Wichtig ist halt nur, das vorher nix an den Browser geschickt wird.

Hoffe das hilft Dir weiter !

gruß

Christian

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...