Globale Variablen

LoMo

Erfahrenes Mitglied
Hi @ all

Gibt es eine Möglichkeit globale Variablen festzulegen, die dann über mehrere php Dateien nutzbar sind ? (über die URL geht es in meinen Fall nicht ist aber jetzt schwierig zu erklären)

Ich möchte in der Variablen überprüfen welchen Link er auf meiner Homepage davor geklickt hat.

Ich hab des mit session_register("Button") probiert da bringt er aber bei mir lauter Fehler und ich glaub das die Variablen dann auch nur in der einen Datei benutzt werden können in der sie definiert wurden. (wie kann man register_globals auf on setzen ?)

Hier eine kleine Schilderung meines Problems (vielleicht gibts ja ne andere Lösung auser Variablen):

Also ich habe eine Index Seite, wenn dort auf einen Link (Familien) gedrückt wird übergeb ich per URL den Wert des gedrückten Links and die Datei suchen.php, in der dann nach den übergebenen Wert in einer Datenbanktabelle gesucht wird und ausgegeben wird und hier auch schon das Problem. Nachdem er den Link auf der Index Seite gedrückt hat kann er auch noch auf der Indexseite die Links A,B,C....... usw. drücken um die Ergebnisse so zu unterteilen wie er will. z.b er will von den Suchergebnissen alle die mit A beginnen dann klickt er auf A aber ich muss ja wissen welchen Hauptlink er davor geklickt hat und auf die Url von suchen.php kann ich von der Index Seite ja nicht zugreifen glaub ich zumindestens sonst hätte ich einfach die URL direkt durchsuchen können.

Ich hoffe mal das ich mein Problem einigermassen verständlich erklären konnte.

Würde mich über eine Hilfestellung sehr freuen, da ich einfach nicht mehr weiter weiss.

mfg Lomo
 
1. register_globals sollte auf off bleiben, das hat auch mit deinem Problem nichts zu tun.
2. Sessions sind da schon ein richtiger Weg.
3. Du kannst auch mehr als eine Variable per URL übergeben und somit die Suchdaten an die Unterdateien weitergeben.
 
Habs jetzt mit Sessions gemacht und sogar geschafft :D. Danke

Kann mir jemand nochmal Helfen und zwar Schreibweise:

PHP:
$query = 'Select * from Parameter_Produktgruppen where Produktgruppe like ".$_GET['buchstabe']."%"' ;

Irgendwie versteh ich die Schreibweise nicht so ganz. Kann mir jemand den obigen Code richtig stellen und wenns geht ne kleine Erklärung dazu? :D

mfg lomo
 
PHP:
$query = 'Select * from Parameter_Produktgruppen where Produktgruppe like \''.$_GET['buchstabe'].'%\'' ;

Du solltest dir vielleicht mal ein paar PHP Grundlagen aneignen, in diesem Fall das Thema "Stringverkettung".
 
PHP:
 $query = "Select * from Parameter_Produktgruppen where Produktgruppe like '".$_GET['buchstabe']."%'" ;
Du hast in der Mitte Anführungszeichen statt Hochkomma genommen bzw. Hochkomma statt Anführungszeichen am Anfang und Ende, um den String zu unterbrechen.
Außerdem müssen Strings in SQL in Hochkomma stehen.
Das sollte Dir beim Syntaxhighlighting in der Vorschau hier im Editor aufgefallen sein ;)
 
Zuletzt bearbeitet:
Erstmal danke für die schnelle Antwort

Ich glaub jetzt hab ich es verstanden. Nochmals vielen Dank.

mfg Lomo
 
Eine Frage hätte ich noch.

Ok ich hab zwei Links in meiner Index Seite

HTML:
<td width="156" align="left" valign="middle"><a href="Suche.php?suchoption=Kinder" target="hauptframe" onClick="<? $com_suchoption = "Kinder"; ?>"><img src="images/Buttons/Produktgruppen.gif" border="0"></a></td>

<td width="106" align="left" valign="middle"><a href="Suche.php?suchoption=Familien" target="hauptframe" onClick="<? $com_suchoption = "Familien"; ?>"><img src="images/Buttons/Produkte.gif" border="0"></a></td>

Warum schreibt er beim Klick auf den Link nicht den entsprechenden Wert in die Variable ? Er schreibt in die Variable nur Familien rein weil des die letzte Zuweisung war die er eigentlich nicht durchlaufen dürfte bzw. nur bei einen klick auf den Link.

Weiss jemand woran das liegt oder hat vielleicht jemand ne Lösung ?

mfg Lomo
 
PHP ist eine serverseitige Sprache und bekommt davon nichts mit, was beim Client passiert, bis dieser eine Anfrage sendet. Es ist PHP daher auch vollkommen egal, welcher HTML-Code ausgegeben wird, du könntest diesen auch weglassen und hast nur noch deine beiden Zuweisungen, bei dem die Letzte die Vorhergehenden logischerweise überschreibt.
 
Achso.
Wie könnte ich des anders realisieren ? Fällt euch dazu vielleicht was ein ? Währe es möglich z.B. mit Java eine PHPFunktion aufzurufen ?

mfg Lomo
 
Zuletzt bearbeitet:
Du kannst per Java keine PHP-Funktion aufrufen, höchstens ein PHP-Skript. Aber Java ist eine eigenständige Sprache, hier könntest du das Problem auf eine andere Art angehen, du müßtest eben dein PHP-Skript in Java verfassen.
Wenn du es so läßt, kannst du mittels $_GET['suchoption'] auf die Variablen zugreifen.
 
Zurück