Login Bereich -Eigene Interne seiten für mitglieder |
evelyn260590

Mitglied
 

Dabei seit: 24.01.2006
Beiträge: 2.462
 |
|
Login Bereich -Eigene Interne seiten für mitglieder |
 |
hallo,
bin grade dabei den login bereich einzurichten -klappt soweit alles gut. jetzt will ich nur für jedes mitglied eine eigene seite haben sobald man sich einloggt. hab versucht logform.php öfters zu erstellen also logform.jenny.php etc. will aber nicht klappen also wird das falsch sein, kann mir jemand weiterhelfen?
glg
__________________
|
|
09.12.2008 13:45 |
|
|
ProtexX
Mitglied
 

Dabei seit: 01.07.2005
Beiträge: 392
 |
|
Speichere die Daten zu jeder Person die auf der "persönlichen" Seite angezeigt werden sollen in der Datenbank und übergib beim Aufrufen der Seite den Benutzernamen als Parameter (z.B. "www.meineseite.de/logform.php?user=Jenny). Dann sucht sich die logform.php die entsprechenden Informationen aus der Datenbank und stellt sie dar.
Falls die Informationen auf dieser Seite nicht für alle sichtbar sein sollen, solltest du das ganze vielleicht über Sessions [1] lösen. Beim Login wird dann der Benutzername abgespeichert und beim Besuchen von logform.php wird geschaut welcher Benutzername in der Session gespeichert ist und dann zu diesem die Informationen abgefragt.
[1] PHP-Einfach: PHP-Sessions
__________________ Wie man Fragen richtig stellt
|
|
09.12.2008 16:30 |
|
|
Baronesse

Gestüt schwarze Perle & RM
 

Dabei seit: 13.12.2005
Beiträge: 1.784
Herkunft: Düsseldorf
 |
|
Session_start();
muss schon mal gaaanz am Anfang stehen. die Funktion klappt nicht wenn du dem was anderes vorstellst.
Okay... offensichtlich arbeitest du ohne Datenbank.
__________________
|
|
09.12.2008 18:50 |
|
|
evelyn260590

Mitglied
 

Dabei seit: 24.01.2006
Beiträge: 2.462
Themenstarter
 |
|
genau ohne datenbank
__________________
|
|
10.12.2008 00:46 |
|
|
ProtexX
Mitglied
 

Dabei seit: 01.07.2005
Beiträge: 392
 |
|
Zitat: |
Original von evelyn260590
weiß trotzdem grad nicht was genau ich von deiner vorgeschlagenen seite einfügen muss |
Eigentlich solltest Du sie dir durchlesen und verstehen was dort beschrieben wird. Einfaches Kopieren/Abschreiben wird dich in diesem Fall nicht weiterbringen. Des weiteren ist es nicht Sinnvoll in so einem Fall ohne Datenbank zu arbeiten, es sei denn du speicherst alles in Text-Dateien was aber beim auslesen mehr arbeit machen wird.
Mit einer Datenbank würde ich es so umsetzen:
Tabelle "Benutzer"
code: |
1:
2:
3:
4:
5:
6:
|
ID Name Passwort Geburtsdatum
0 Jenny test 01.01.0001
1 ProtexX foo 03.03.0003
...
|
|
Der Login würde dann so aussehen (Datei "logform.php"):
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:
|
<?php
session_start();
if(!isset($_SESSION)) {
if(!isset($_POST["login"]) {
echo "<form action="logform.php" method="post">";
echo " <input type="text" name="benutzer">";
echo " <input type="password" name="passwort">";
echo " <input type="submit" name="login" value="Anmelden">";
echo "</form>";
}
else {
$sql = "SELECT TOP 1 FROM Benutzer WHERE Benutzer = ".$_POST["Benutzer"]." AND Passwort = ".$_POST["Passwort"];
$row = mysql_fetch_array(mysql_query($sql));
if($row) {
$_SESSION["Benutzer"] = $row["Benutzer"];
$_SESSION["Geburtsdatum"] = $row["Geburtsdatum"];
echo "Hallo, ".$row["Benutzername"]."! Du hast dich erfolgreich angemeldet. <a href="personal.php">Hier</a> gehts zu deiner persönlichen Seite.";
}
else {
echo "Benutzername und Passwort stimmen nicht überein.";
}
}
}
?>
|
|
Datei "personal.php"
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
<?php
session_start();
if(isset($_SESSION)) {
"Hallo, ".$_SESSION["Benutzer"]."! Dein Geburtsdatum ist ".$_SESSION["Geburtsdatum"]. Klicke <a href="logout.php">hier</a> um dich abzumelden.;
}
else {
echo "Du musst dich zuerst <a href="logform.php">anmelden</a>!";
}
|
|
Datei "logout.php"
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
<?php
session_start();
if(isset($_SESSION)) {
session_destroy();
}
else {
echo "Du musst dich zuerst <a href="logform.php">anmelden</a>!";
}
|
|
Wie du siehst ist das alles nicht so einfach, aber dafür ist es die beste Lösung.
Auf PHP-Einfach findest du hier eine gute Erklärung wie Sessions im Zusammenhang mit einem simplen Loginsystem funktionieren und alternativ hier (Einstieg) und hier das ganze ohne Datenbank.
Zitat: |
Original von evelyn260590
*php anfänger* grinz
|
Dann solltest du dir vielleicht erstmal die Grundlagen anlesen. PHP-Einfach bietet da eigentlich alles was du wissen musst. Eine etwas ausführliche Dokumentation (auch mit Einstieg) findest du auf php.net
Viel Spaß beim Programmieren!
P.S.: Die Richtigkeit des Codes ist ohne Gewähr, da ich den gerade aus dem Kopf geschrieben habe. Syntaxfehler sind also nicht ausgeschlossen.
__________________ Wie man Fragen richtig stellt
|
|
10.12.2008 10:40 |
|
|
Dreamless

... ist nicht nett!
 

Dabei seit: 26.08.2008
Beiträge: 109
Herkunft: Bayreuth
 |
|
Ansonsten ist eventuell das PHP-Tutorial von Quakenet interessant...
__________________ Eine gute Website ist keine Frage von iframes oder divs. Es ist auch keine Frage grafischer Effekte.
Eine gute, eine wirklich schöne, atemberaubende Seite kommt mit der Schlichtheit des Codes daher, besticht mit einfacher, lesbarer Funktionalität.
Initiative für sauberen Code!
Avatar ©by Avatarschmiede
|
|
10.12.2008 12:11 |
|
|
evelyn260590

Mitglied
 

Dabei seit: 24.01.2006
Beiträge: 2.462
Themenstarter
 |
|
hab mich mit der datenbank jetzt mal etwas vertraut gemacht
@ProtexX
also lege ich jetzt eine neue tabelle in der datenbank an, die benutzer heißt und schreibe dann in die vier Zeilen ID,Name,Passwort und Geburtstdatum?
muss ich mit dem SQL code der dabei raus kommt noch irgendwo einsetzten?
__________________
|
|
10.12.2008 15:03 |
|
|
ProtexX
Mitglied
 

Dabei seit: 01.07.2005
Beiträge: 392
 |
|
Nein, du musst gar nicht "dies und jenes" tun, sondern dir einfach PHP-Einfach durchlesen. Mein Code war nur ein Beispiel wie du es (nachdem du dir die Kenntnisse angelesen hast) umsetzen kannst. Ob das Feld jetzt "Geburtsdatum" oder irgendwie anders heißt musst du halt anpassen, je nachdem was du speichern möchtest. Es können natürlich auch mehr Felder werden.
Zu deiner Frage: Nein, den Code brauchst du für gewöhnlich später nicht mehr.
__________________ Wie man Fragen richtig stellt
|
|
10.12.2008 15:34 |
|
|
|
Impressum
|