PHP5 einmaliges aufrufen |
aykut
Otto-Normal-Poster Threadstarter
Beiträge: 83 |
Ich möchte eine webseite, bei der ich die Beschriftung der Buttonlabels
als statische Variablen in einer Klasse fest vorgeben.
Eine Funktion dieser Klasse sorgt dafür, daß diese Variablen die richtigen Werte bekommen.
Wenn die webseite zum ersten Mal aufgerufen wird, soll diese Funktion aufgerufen werden. Dann werden die statischen Variablen mit Werten befüllt.
Später, wenn man die Webseite refresht, soll das nicht mehr passieren.
Und trotzdem soll es möglich sein, auf die Werte dieser Label-Beschriftungen zu zu greifen.
Erst nach dem man den Browrser beendet hat und erneut die Seite aufruft
wäre es ok, wenn diese Funktion zum befüllen der stat. Variablen wieder ausgeführt wird.
In meinem Fall ist es so, daß diese Funktion immer und immer gestartet wird:((
obwohl ich require_once() benutze. Allerdings denke ich, daß require_once
nicht das richtige Mittel dafür ist.
Weches Vorgehen kann man hier empfehlen?
Danke, Aykut
Diese Nachricht wurde geändert von: aykut |
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Naja mit jedem Aufruf einer Seite wird dein gesamtes Skript neu gestartet. Das ist in PHP nun ein mal so. Das einzige was in PHP aufrufsübergreifend arbeitet sind Sessions.
Wobei ich keinen wirklichen Sinn darin sehe für ein paar Beschriftungen Sessions oder ähnlichen Aufwand zu betätigen.
Diese Nachricht wurde geändert von: languitar |
 Profil
Editieren
Zitieren
|
aykut
Otto-Normal-Poster Threadstarter
Beiträge: 83 |
Hi,
ansich hast Du recht. Wegen den wenigen Beschriftungen diesen Aufwand zu machen.
Habe aber weitere Vorhaben, was das "einmalig aufrufens" oder besser gesagt initialisierens angeht.
- Langfristig gesehen möchte ich da noch weitere Variablen initialisieren.
- Habe vor eine mehrsprachige Webseite. Die Funktion, die die Sprachelemente initialisiert,
soll bei Bedarf (Sprache wechsel) erneut aufgerufen werden.
Damit will ich die Anzahl der Zugriffe auf die Datenbank verringern.
Über Sessions hatte ich auch probiert, hatte aber nicht geklappt.
Dachte vielleicht gibts da andrere Mechanismen.
Ich werde dann weiterhin mit Sessions machen.
Danke, Aykut
Diese Nachricht wurde geändert von: aykut |
 Profil
Editieren
Zitieren
|
flipflop
Otto-Normal-Poster
Beiträge: 62 |
Du könntest überprüfen on die Variablen einen Wert haben (isset) wenn der sie keinen Wert haben führst du die Initialisierung durch sprich
1:
2:
3:
4:
5:
6:
7: |
if (!isset($var)) {
$var[0] = "test1";
$var[1] = "test2";
}
|
Die Variablen speicherst du entweder in einer Session (bevorzugt) oder als Cookie (ist dann doof wenn der User keine Cookis annimmt).
Sprich Session starten und in der Initialisierung die Variable noch in der Session speichern
---
http://alles-ausser-banane.de/
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
guck dir im Manual mal session_start() an. Variablen setzt du dann über $_SESSION['meinevar'] = 'meinWert'
|
 Profil
Editieren
Zitieren
|
Netbuster
Fachidiot
Beiträge: 128 |
Man könnte es auch über GET-Variablen machen..
|
 Profil
Editieren
Zitieren
|
TeX
Otto-Normal-Poster
Beiträge: 51 |
Einfach in einem Script die Session-Variablen erstellen lassen und ne Abfrage darüber ob die Session überschrieben werden sollen (am besten einen GET-Befehl nutzen). Hier nen Beispiel:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14: | Variablen wurden geladen...
";
}
echo 'Variable laden normaler Link';
echo " ".$_SESSION['button_bez'][0];
?> |
---
Ankauf leere Toner | Ankauf leere Tonerkartuschen
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
$_GET[load_vars] müsste $_GET['load_vars'] heißen. Array-Keys immer in einfache Anführungszeichen.
|
 Profil
Editieren
Zitieren
|
aykut
Otto-Normal-Poster Threadstarter
Beiträge: 83 |
danke euch allen
|
 Profil
Editieren
Zitieren
|