PHP Cookie Abfrage als Bedingung in HTML

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Irenicus
Mitglied
Beiträge: 11
Registriert: 19.02.2012 03:16

PHP Cookie Abfrage als Bedingung in HTML

Beitrag 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:
Verschoben von Coding & Technik nach phpBB 3.0: Mod-Bastelstube am 26.02.2013 23:44 durch gn#36

Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: PHP Cookie Abfrage als Bedingung in HTML

Beitrag 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
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Irenicus
Mitglied
Beiträge: 11
Registriert: 19.02.2012 03:16

Re: PHP Cookie Abfrage als Bedingung in HTML

Beitrag 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"?
Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: PHP Cookie Abfrage als Bedingung in HTML

Beitrag von HabNurNeFrage »

Hi,

guckst Du hier.

LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Irenicus
Mitglied
Beiträge: 11
Registriert: 19.02.2012 03:16

Re: PHP Cookie Abfrage als Bedingung in HTML

Beitrag von Irenicus »

Danke!
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“