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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...