Login php Hilfe

Hallo,

ich komme im Moment nicht weiter. Ich habe mir mit Hilfe von selfphp ein Login-Script erstellt. Besucher meiner Homepage können sich nun registrieren und danach die Seiten, die ich „gesperrt“ habe besuchen. Funktioniert auch alles soweit super. Nun ist meine Frage: Ich habe z.B. eine Bildergalerie. User können sich die Bilder anschauen. Bisher konnten auch user ohne Registration Bilder hochladen. Das soll nun nicht mehr gehen. Aber der Upload befindet sich auf der selben Seite wie die Galerie. Muss ich den nun auf eine extra Seite machen, oder kann man auch nur einen bestimmten Teil einer Seite mittel Login erreichen? Das nächste Problem ist. Der User ist registriert und auch eingelogt. Es folgt ein Begrüßungstext: „Hallo „User“…du bist nun eingelogt“. Wenn er nun auf „Index“ zurück geht, erscheint immernoch das Login-Formular. Sollte das nicht eigentlich verschwinden? Stattdessen der Name vom User oder eine Art Visitenkarte erscheinen?

Ich möchte bitte keine fertigen Sachen, da ich testen und probieren möchte. Aber ein Tipp oder eine Anregung wäre super.

Danke

naich78 schrieb:
„Aber der Upload befindet sich auf der selben Seite wie die Galerie. Muss ich den nun auf eine extra Seite machen, oder kann man auch nur einen bestimmten Teil einer Seite mittel Login erreichen?“

Wenn ich dich richtig verstehe, soll die Galerie für alle Besucher deiner Webseite sichtbar sein und der Upload von Bildern soll nur registrierten Benutzern möglich sein.

Jo das geht, du musst einfach eine IF-Bedingung um den Upload-Teil legen. Indem musst du abfragen ob der Benutzer eingelogt ist.

naich78 schrieb:
„Wenn er nun auf „Index“ zurück geht, erscheint immernoch das Login-Formular. Sollte das nicht eigentlich verschwinden?“

Weiß nicht wie du dein Login aufgebaut hast. Aber dies ist ebenfalls möglich. Du müsstest einfach wieder auf eine IF-Bedingung mit ELSE zurückgreifen. Zuerst fragst du ob der Webseiten Besucher bereits eingeloggt ist und wenn dies der Fall ist leitest du den Besucher auf deine Startseite nach dem Login weiter. Im ELSE legst du dann dein Login-Formular.

noch Fragen?

viele Grüße
chronischer_besserwisser

noch Fragen?

ja…:wink:

ich will nicht den ganzen quelltext hier reinknallen, aber das problem was ich gerade habe, ist so, dass das script nicht in der index liegt, sondern mit action post darauf zugegriffen wird. wenn ich es direkt in die index - datei schreibe, kommen fehlermeldungen.

zum verständnis:

<?php if ($user == $log) {
echo "Hallo $user"; } else { echo " Login Dein Username: Dein Passwort: [Registrieren](http://www.meine%2520seite.de/login/reg.php) "; } ?\> so ist es wohl leider nicht ganz richtig, weil es nicht funktioniert. fehlermeldung: **Parse error: syntax error, unexpected T\_STRING, expecting ',' or ';' in** wo liegt mein denkfehler? grüße, nico

Hallo,

fehlermeldung: Parse error: syntax error,
unexpected T_STRING, expecting ‚,‘ or ‚;‘ in

wo liegt mein denkfehler?

Kann es sein, dass Deine Anführungszeichen nicht funktionieren? Du solltest für den string, der mit echo ausgegeben wird, andere verwenden, als für das, was innerhalb dieses strings steht.

Cheers, Felix

Hallo Felix,

ich habe es getestet. auch wenn ich das script abänder, funktioniert es nicht:

<?php if ($user == $log) {
echo "Hallo $user"; } { echo " Login\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; echo "[Registrieren](%255C%2522http://www.meine)\n;" ?\> die alten fehler sind weg...nun kommt eine fehlermeldung, das $end nicht korrekt ist in zeile 101..in zeile 101 steht

hallo,

wo steht denn $send?
fehlt das „else“ nur im posting?
warum verwendest du nicht die here-document-syntax?

gruß
klaus

hallo,

wo steht denn $send?
fehlt das „else“ nur im posting?

ja, es fehlt nur hier im posting

warum verwendest du nicht die here-document-syntax?

was bitte ist das? das höre ich zum ersten mal?

gruß
klaus

Gruß, Nico

hallo,

warum verwendest du nicht die here-document-syntax?

was bitte ist das? das höre ich zum ersten mal?

damit kannst du mehrzeilige variablen füllen oder auch echo mehrzeilig ausgeben:


echo Login


Dein Username:



END;

gruß
klaus

echo „Registrieren\n;“

fehlt da nicht ein ; am ende der Zeile ?

echo „…“;


echo Login


Dein Username:




END;

gruß
klaus

wenn ich das richtig versteh, schreibe ich ein if - else anweisung und setze das login-script in "echo

also … jetzt geht es nur um echo und wie ein multiline damit ausgegeben wird:


echo (hier steht das startzeichen
END;
(hier steht das endzeichen END mit ; dahinter, in einer zeile ohne leerzeichen davor)

du kannst auch **und HERE; oder sonst was nehmen.

mit Variablen geht es so:
$var =
multiline
HERE;

gruß
klaus**

ja, es war ein kleiner fehler…danke für den hinweis…ich habe ; mit " vertauscht. Danke