Seite 1 von 1

PHP Cookie Abfrage als Bedingung in HTML

Verfasst: 26.02.2013 22:51
von Irenicus
Erstmal vorweg: Ich habe absolut keine Ahnung von PHP. Eigentlich auch nicht von HTML, aber da komme ich mittlerweile zumindest bei einfachen Modifikationen und evtl. mit Anleitungen aus dem Netz schon mit zurecht. Es geht aber eigentlich nur um PHP Coding, daher hoffe ich mal, dass ich hier im richtigen Unterforum bin.

Es geht um eine Willkommensnachricht im Header in unserem Forum http://www.ironmaiden-deutschland.de

Hier der Code:

Code: Alles auswählen

<!-- IF not S_USER_LOGGED_IN -->
<!-- IF S_REGISTER_ENABLED -->
<!-- IF SCRIPT_NAME eq 'ucp' -->
<!-- ELSE -->
	{$CA_BLOCK_START}
	<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
	{$CA_CAP_START}Willkommen im Forum - schon <a href="{U_REGISTER}">registriert</a>?{$CA_CAP_END}
	<tr>
		<td class="row1" align="left"><span class="genmed"><br /><p style="padding:0px 10px 0px 10px">Du betrachtest das Forum gerade als Gast und hast damit nur eingeschränkten Zugriff auf die Diskussionen und Funktionen im Forum. Wenn du dich kostenlos registrierst, kannst du neue Themen und Beiträge unter deinem Namen verfassen, die Suchfunktion benutzen, den Board-Style ändern, mit anderen Mitgliedern private Nachrichten austauschen, an Umfragen teilnehmen und weitere spezielle Funktionen nutzen. Die Registrierung ist einfach, schnell und vor allem kostenlos, also registriere dich jetzt!</p><br/><div align="center"><p style="padding:0px 0px 0px 0px"><b>Jetzt kostenlos <a href="{U_REGISTER}">registrieren</a> und alle Funktionen nutzen.</b></p></div></span></td>
	</tr>
	</table>
	{$CA_BLOCK_END}
        <br />
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
Diese Nachricht wird zurzeit allen Gästen bzw. nichteingeloggten Usern angezeigt, wie man am Code erkennen kann. Jetzt ist es mein Ziel, dass nur noch richtige Gäste, also keine schon registrierten User, diese Nachricht sehen. Dies möchte ich durch eine PHP-Code Abfrage des Session-Cookies "phpbb3_jzuhp_sid" bewerkstelligen. Also falls dieser Cookie vorhanden ist (Wert spielt keine Rolle), soll die Nachricht NICHT angezeigt werden, ansonsten schon.

Ich habe u.a. das hier beim googeln gefunden und mich etwas selbst dran versucht, aber kriege es nicht hin.

Kann mir da jemand weiterhelfen? :)
Vielleicht kann man das Ganze auch anders hinbekommen, bin da für jeden Ratschlag offen. :wink:

Re: PHP Cookie Abfrage als Bedingung in HTML

Verfasst: 26.02.2013 23:55
von HabNurNeFrage
Hi,

im Forum selbst macht Dein Vorhaben irgendwie keinen Sinn.
Da Cookies vor der Ausführung aller Skripte gesetzt werden, die die Seite erzeugen, würde jeder (sofern er/sie Cookies annimmt), der das Forum sieht bereits nicht mehr als Gast nach Deiner Beschreibung gelten und somit dann auch Deinen Inhalt für User zu Gesicht bekommen.
Als allererstes beim Aufruf der URL wird geprüft, ob ein gültiger Cookie gesetzt ist - wenn ja: ok - wenn nein, wird einer gesetzt.
Danach fängt der Server erst an, die Seite anhand des PHP-Codes zu generieren.
Zuletzt wird das dann als html an den Browser ausgeliefert...

Dein Vorhaben könntest Du auf einer vorgeschalteten Seite umsetzen, die keinen Cookie setzt.
Dann könnte die Abfrage rudimentär in etwa so aussehen:

if {!isset($_COOKIE['phpbb3_jzuhp_sid'])) {
echo "
Hallo, Sie haben keinen Keks von uns. Sie werden gleich zum Forum weitergeleitet und bekommen einen.";
}


Da macht es mehr Sinn <!-- IF not S_USER_LOGGED_IN --> Sie sind nicht eingeloggt <!-- ENDIF --> zu verwenden...

LG

Re: PHP Cookie Abfrage als Bedingung in HTML

Verfasst: 27.02.2013 00:39
von Irenicus
Hmm ja, stimmt natürlich. Ich hatte fälschlicherweise angenommen, dass der Session-Cookie erst beim Login erstellt wird und Gäste diesen nicht erhalten. Mein Fehler. :oops:

Das <!-- IF not S_USER_LOGGED_IN --> habe ich ja schon davor gesetzt.

Dann bleibt es halt so, ist auch nicht schlimm. Es wäre halt nur ne nette Verbesserung gewesen, sodass registrierte User nicht weiterhin erinnert werden würden, sich zu registrieren.

Trotzdem danke. :)

Btw, wie mache ich eigentlich aus <!-- IF SCRIPT_NAME eq 'ucp' --> das Gegenteil? Also ein "if not"?

Re: PHP Cookie Abfrage als Bedingung in HTML

Verfasst: 27.02.2013 01:05
von HabNurNeFrage
Hi,

guckst Du hier.

LG

Re: PHP Cookie Abfrage als Bedingung in HTML

Verfasst: 27.02.2013 01:58
von Irenicus
Danke!