Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » PHP5 einmaliges aufrufen Antworten
PHP5 einmaliges aufrufen

aykut
Otto-Normal-Poster


Beiträge: 82


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren

aykut
Otto-Normal-Poster


Beiträge: 82


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: 63


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'

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Netbuster
Fachidiot


Beiträge: 128


Man könnte es auch über GET-Variablen machen..

  Profil   Editieren   Zitieren

TeX
Feiertags-Poster


Beiträge: 30


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:
<?php
session_start();

if($_GET[load_vars]=="1"){
   $button_bez[0]="weiter";
   $button_bez[1]="zurück";

   $_SESSION[button_bez]=$button_bez;
   echo "<b>Variablen wurden geladen...<br><br></b>";
}
echo '<a href="?load_vars=1">Variable laden</a> <a href="'.$_SERVER[PHP_SELF].'">normaler Link</a>';

echo "<hr>".$_SESSION['button_bez'][0];
?>

  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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

aykut
Otto-Normal-Poster


Beiträge: 82


danke euch allen

  Profil   Editieren   Zitieren
 

Antworten
Nach oben