include nicht doppelt ausführen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

include nicht doppelt ausführen

Beitrag von Gumfuzi »

Hallo Leute!

Wie kann ich das Prüfen, ob dieser Befehl bereits ausgeführt wurde?

Code: Alles auswählen

include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
Ich habe den nämlich manchmal 2x drin:
1x in der page_header.php und
1x in der viewtopic.php

Wenn ich den Index aufrufe, dann wird es nur 1x ausgeführt, was richtig wäre (da ich den bbcode für eine PN bzw. Emailbenachrichigung brauche), nur wenn ich zur gleichen zeit, wie das PN-Popup angezeigt wird, einen thread aufrufe, dann schreit er eben, daß es doppelt included ist...

Wenn ich das irgendwie prüfen kann, dann müsste ich diese Abfrage (ob es schon included ist) in der viewtopic ändern, da diese Datei nach dem Header aufgerufen wird - oder?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Am einfachsten ist es, wenn du alle Vorkommen durch [php:include_once] ersetzt.
KB:knigge
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

aha, dann wird es nicht mehr aufgerufen, falls es schon mal aufgerufen wurde? - *gleichprobierenwerd*

Danke!!!
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Den include_once Befehl muss ich aber beim 2. Aufruf einbauen (viewtopic, etc.) denn im header bringt er mir nix, da er ja dort das erste Mal aufgerufen wird - oder?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Du kannst include_once überall einbauen. Die Datei wird dann genau einmal included, egal wie oft der Befehl tatsächlich aufgerufen wird.
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Damit ich das richtig verstehe:
wenn ich den include_once nur im Header reinschreibe, dann isses egal, wenn zB. bei der Viewtopic das nur mit include rinsteht?
(der header wird ja zuerst ausgeführt)
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

falsch
include_once = include wenn noch nicht geschehen
=> Es gibt also 2 funktionierende Möglichkeiten das einzubauen
  1. Man baut es überall ein. Einfach und sicher
  2. Man baut es ab dem möglicherweise 2. Aufruf ein
    => in deinem Fall in die viewtopic
Warum?
header: include_once? Hmm nein, es ist noch nicht geschehen, also lade ich das mal
viewtopic: include? na dann lade ich das mal. Mir doch egal wenn das schon includet wurde
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

OK, danke!!!!

... bleibt nur mehr die Frage offen, warum include genutzt wird, wenn man das auch mit include_once lösen kann und gleichtzeitig doppelte includes vermeiden kann? Oder hat das andere Hintergründe?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
pokepika
Mitglied
Beiträge: 167
Registriert: 01.07.2003 15:58
Wohnort: Iserlohn [NRW]
Kontaktdaten:

Beitrag von pokepika »

es gibt ja auch sachen, die man evtl. mehrmals includen muss, z.B. feste Programmroutinen, etc.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Ich dachte, 2x includen geht nicht (darum ja auch immer diese Fehlermeldungen)?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Antworten

Zurück zu „Coding & Technik“