cookie
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ablegen
beispiel
bereich
code
dank
eingabe
eingegebenen daten
einloggen
ergebnis
helfen
hilfe
host
http
info
login
nehmen
rat
tag
url
-
Guten Abend,
ich möchte gern auf meiner Homepage einen internen tag/bereich">Bereich machen, der nur mit Eingabe von Passwort und Benutzername zugänglich ist!
Also ein Adminbereich!
Nur bin ich ein absoluter Neuling und habe davon keinerlei Ahnung! Könnt ihr mir vllt etwas auf die Sprünge helfen?
Lg ferana -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Anstelle von Cookies würde ich dir Sessions empfehlen, da du darin gleich viele Infos ablegen kannst, die der User nicht verändern kann. Cookies kann der User verändern. Zumindestens der erfahrene.
Hier sind einige Infos und Beispiele zu Cookies: http://tut.php-quake.net/de/cookies.html
Und hier die Infos und Beispiele über Sessions: http://tut.php-quake.net/de/sessions.html -
Danke erstmal für eure Hilfe!
Also habe ich das jetzt richtig verstanden!
Als erstes wird im loginScript geschaut, ob die eingegebenen Daten auch mit dennen in der Datenbank vorhandenen übereinstimmen und wenn ja, dann wird ein cookie erstellt.
Dann kann ich auf die Seiten gehen auf welche ich will! Aber ich muss bei den Seiten in den <head> reinschreiben, das ein Cookie vorhanden sein muss, damit die Seite betretten werden kann?!
Lg Ferana -
Ja, genau.
Und mit $_COOKIE["name des cookies"] kannst du den Wert holen.
Für sowas würde ich aber doch eher Sessions nehmen (im vorherigen Beitrag von drafed-map ist ein Tutorial dabei).
Viel Erfolg!
Schönen Abend noch! ;)
Gruß,
dex (qap2-Team) -
Ok, dann danke für eure Hilfe!
Ich möchte lieber Seesions nehmen, da ich ja dann auch einstellen kann, wie lange diese gültig sind, also 1 Woche usw!
Trotzdem nochmal danke an alle!
Lg ferana -
Alternativ würde ich dir htaccess ans Herz legen. Dies würde sich dazu eignen, nur einer oder wenigen Personen Zugriff auf einen Ordner zu gestatten, in dem du deinen Adminbereich unterbringst. Für einen Bereich mit immer neuen Usern wäre htaccess wahrscheinlich nicht so geeignet, aber für einen einmaligen User durchaus, weil sehr schnell.
Wie das aussehen kann siehst du hier: http://sagglzemend.de/htaccess.php, insofern du das lesen kannst
Beitrag zuletzt geändert: 5.11.2009 15:09:34 von karpfen -
Guten Tag,
ich bin derzeit wieder am Verzweifeln!
Schauts euch erstmal an!
Das ist meine index.html:
<html> <head> <title>Login</title> </head> <body> <form action="login.php" method="post"> Username : <br> <input type="text" name="username" size="20" maxlength="20"><br> Passwort : <br> <input type="password" name="passwort" size="20" maxlength="20"><br> <input type="submit" name="absenden" value="Einloggen"> </form> </body> </html>
Das ist meine login.php:
<?php include 'include.php'; $abfrage = "SELECT * FROM user WHERE NICK ='".$_POST['nickname']."'"; $ergebnis = mysql_query($abfrage); $user = mysql_fetch_array($ergebnis); if (!$user) { echo "Der Name ist nicht korrekt!"; die; } if ($user["PASSWORT"] <> $_POST["passwort"]) { echo "Sorry, aber dieses Passwort passt nicht zum Usernamen !"; die; } $_SESSION['ID'] = $user["ID"]; ?>
Das ist meine include.php:
<?php session_start(); $user = "USERXXXXX" ; $pass = "XXXXXX" ; $host = "mysql.lima-city.de" ; mysql_connect($host, $user, $pass); mysql_select_db("db_147354_1"); ?>
Und das die zu schützende Seite:
<?php session_start(); if(!isset($_SESSION['username'])) { echo "Bitte erst <a href=\"login.html\">einloggen</a>"; exit; } ?> <html> Herzlich Willkommen im geschützen Bereich </html>
Aber es klappt nicht
Wisst ihr was hier falsch ist!
ich wäre für jeden Rat dankbar!
Lg ferana
-
Versuche mal diese login.php:
<?php include 'include.php'; $abfrage = "SELECT * FROM user WHERE NICK ='".$_POST['username']."'"; $ergebnis = mysql_query($abfrage); $user = mysql_fetch_array($ergebnis); if (!$user) { echo "Der Name ist nicht korrekt!"; die; } if ($user["PASSWORT"] == $_POST["passwort"]) { echo "Sorry, aber dieses Passwort passt nicht zum Usernamen !"; die; } $_SESSION['username'] = $_POST["username"]; ?>
Beachte: MySQL ist case-sensitiv. NICK != nick
Weiterhin: Passwörter sollten gehasht gespeichert werden. -
Guten Tag,
Jetzt kommt beim einloggen das:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/ferana/html/test/login.php on line 6 Der Name ist nicht korrekt!
Nur stimmen meine Datenbankeingaben alle 100%tig!
Wisst ihr vllt noch einen Rat!
Lg ferana
Beitrag zuletzt geändert: 9.11.2009 16:40:54 von ferana -
Es handelt sich um folgende!
<?php include 'include.php'; $abfrage = "SELECT * FROM user WHERE NICK ='".$_POST['username']."'"; $ergebnis = mysql_query($abfrage); $user = mysql_fetch_array($ergebnis); if (!$user) { echo "Der Name ist nicht korrekt!"; die; } if ($user["PASSWORT"] == $_POST["passwort"]) { echo "Sorry, aber dieses Passwort passt nicht zum Usernamen !"; die; } $_SESSION['username'] = $_POST["username"]; ?>
-
Gib mal nach mysql_query(...) ein echo mysql_error() aus.
Weiterhin, nochmals: MySQL ist case-sensitive, also NICK != nick != Nick != nICK -
Guten Abend,
der login klappt jetzt endlich!
Danke dafür!
Doch jetzt möchte ich, damit ich zufrieden bin, das ich nach dem erflgreichen login direkt auf eine gewünschte Seite umgeleitet werde!
Sprich Login->Eingabe wird überprüft, wenn erfolgreich -> Weiterleitung.
Doch dafür stelle ich mich wirklich zu blöd an!
Ich hoffe ihr könnt mir noch ein letztes Mal helfen!
lg ferana -
<? if (login korrekt) { Tu alles mögliche; //Weiterleitung header('Location: deine_seite.php'); } ?>
-
Was natürlich auch noch gehen würde wäre ein "include"
<? if (login korrekt) { include('deine_seite.php'); } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage