variblen übergeben
robert
- php
hallo!
ich habe eine frage wie man folgendes am besten umsetzen könnte:
auf der seite A habe ich eine navi mit 10 buttons - jeder button steht für das ausführliche profil einer person.
ich dachte bei klick auf diese buttons gelangt man auf seite B.
auf der seite B habe ich eine tabelle erstellt in der ich datensätze aus ner mysql datenbank auslese zur person XY.das auslesen funktioniert auch soweit.
jedoch ist für mich php absolut neu und würde nun gern bei klick auf button XY in der seite A die dazupassende ID-variable an seite B senden und dort den datensatz dazu auslesen lassen. nur ich weiss nicht wie ich diese variale versenden kann. beim suchen stoss ich immer wieder auf übergabe von variablen aus formularen via php, aber glaube dass das nicht der richtige weg ist, oder doch?
würde mich freuen wenn ihr mir hierbei kurz helfen könntet.
Hi,
jedoch ist für mich php absolut neu und würde nun gern bei klick auf button XY in der seite A die dazupassende ID-variable an seite B senden und dort den datensatz dazu auslesen lassen.
es ist unmöglich, per HTTP Variablen zu übersenden[1]. Was Du jedoch übersenden kannst, sind die Variablen_werte_ in Form von Parametern. Wisse, dass der Datentyp dadurch zwangsläufig ein String ist.
Cheatah
[1] Von (auch) auf HTTP aufsetzenden Protokollen wie SOAP mal abgesehen.
Hello,
es ist unmöglich, per HTTP Variablen zu übersenden[1]. Was Du jedoch übersenden kannst, sind die Variablen_werte_
Dass diese Aussage vollkommen unvollständig und damit falsch ist, is Dir klar?
Variablen werden üblicherweise vom Browser zusammengestellt zu "Namens-Werte-Paaren", und so mit dem Request versendet. Aus diesen Pärchen kann die Empfängerlogik wieder Variablen erzeugen.
Da es aber sowohl den Schrgen von Herrn S., als auch allen anderen Men-in-the-middle möglich wäre, die übertragenen Werte zu verändern, halte ich sie auch auf dem Übertragungswert für äußerst variabel.
Ich habe bis heute nicht gefunden, wo festgelegt ist, dass eine Variable immer an eine bestimmte Speicheradresse gebunden sein muss, oder ob es auch reicht, wenn sie nur an eine bestimmte Position in den übgergebenen Daten gebunden sit, um sich als Variable bezeichnen zu dürfen.
Wäre also für mich äußerst beruhigend, wenn ich da vor meinem endgültigen Ableben noch einen Hinweis bekommen könnte, wer das warum wo festgelegt hat.
Liebe Grüße
Tom
Hi,
es ist unmöglich, per HTTP Variablen zu übersenden[1]. Was Du jedoch übersenden kannst, sind die Variablen_werte_
Dass diese Aussage vollkommen unvollständig und damit falsch ist, is Dir klar?
nein, nur dass Du dem selben Irrtum auferlegen bist, den ich eigentlich gleich im Vorfeld ausräumen wollte.
Variablen werden üblicherweise vom Browser zusammengestellt zu "Namens-Werte-Paaren", und so mit dem Request versendet.
In diesem Moment ist das, was Variablen ausmacht, nicht mehr existent.
Aus diesen Pärchen kann die Empfängerlogik wieder Variablen erzeugen.
*Neue* Variablen. Die Variablen selbst sind nicht zu übertragen - dafür sieht HTTP keinerlei System vor.
Ich habe bis heute nicht gefunden, wo festgelegt ist, dass eine Variable immer an eine bestimmte Speicheradresse gebunden sein muss, oder ob es auch reicht, wenn sie nur an eine bestimmte Position in den übgergebenen Daten gebunden sit, um sich als Variable bezeichnen zu dürfen.
Vielleicht kommst auch Du noch darauf, dass eine Variable nicht nur die Speicherstelle ausmacht, sondern auch eine Handvoll Mechanismen, die unmittelbar mit ihr zusammenhängen.
Cheatah
Hello,
Vielleicht kommst auch Du noch darauf, dass eine Variable nicht nur die Speicherstelle ausmacht, sondern auch eine Handvoll Mechanismen, die unmittelbar mit ihr zusammenhängen.
Und welche wären das?
Zähl doch bitte mal welche auf, die zwingend vorhanden sein müssen, damit die "Dinger" sich Variablen nennen dürfen.
Du meinst das System, den Prozessor nebst Hauptspeicher?
Soll ich als Definition also setzen, dass Variablen sich nur im Hauptspeicher befinden können?
Oder allgemeier ausgedrückt, in einem flüchtigen Speicher? Oder doch auch im persistenten der HDD?
Wenn die "Dinger" also durch die Leitung flitzen, und irgend ein Gatter in irgendeinem Hob zum Schalten bringen, dann sirt dieser Schalter doch schon wieder Teil einer Variablen - oder?
Liebe Grüße
Tom
Hi,
Und welche wären das?
Zähl doch bitte mal welche auf, die zwingend vorhanden sein müssen, damit die "Dinger" sich Variablen nennen dürfen.
nein, denn Du verfällst in pure Polemik. Wenn Du nicht weißt, welche Bedeutung Typen, Methoden usw. haben, dann solltest Du es unterlassen, über deren Notwendigkeit zu urteilen.
Du meinst das System, den Prozessor nebst Hauptspeicher?
http://de.wikipedia.org/wiki/Kunstgriffe_(Schopenhauer)#Kunstgriff_1_.28Erweiterung.29
Soll ich als Definition also setzen, dass Variablen sich nur im Hauptspeicher befinden können?
http://de.wikipedia.org/wiki/Kunstgriffe_(Schopenhauer)#Kunstgriff_4_.28Spiel_verdecken.29
Oder allgemeier ausgedrückt, in einem flüchtigen Speicher? Oder doch auch im persistenten der HDD?
http://de.wikipedia.org/wiki/Kunstgriffe_(Schopenhauer)#Kunstgriff_17_.28feine_Unterscheidung.29
Wenn die "Dinger" also durch die Leitung flitzen, und irgend ein Gatter in irgendeinem Hob zum Schalten bringen, dann sirt dieser Schalter doch schon wieder Teil einer Variablen - oder?
Ach so, und natürlich: http://de.wikipedia.org/wiki/Kunstgriffe_(Schopenhauer)#Kunstgriff_7_.28viel_auf_einmal_fragen.29
Cheatah
Hallo Robert,
es gibt zwei gängige Arten von Requests:
GET über die URL bzw Parameter, die man an sie anhängt
POST über den Header oder Body des Requests. Die Parameter
bemommt man mit dem Browser mittels Formularen dort hinein.
Wenn Du nun einem Programm (Skript) auf dem Server einen Parameter sendest, den dieses auswerten kann, dann kann es darauf reagieren und den Inhalt der Antwort entsprechend anpassen.
Anders, als bei passiven HTML-Seiten, benötigt man bei der Verwendung aktiver Techniken (PHP) also nicht unbedingt für jede Resource eine eigene Datei (Seite), sondern kann diese durch ein und dasselebe Ziel erstellen lassen.
Wenn Du einfach mal ein Script aufbaust, in dem
<?php
echo "<pre>\n";
echo htmlspecialchars(print_r($_GET,1));
echo "<hr>\n";
echo htmlspecialchars(print_r($_POST,1));
echo "</pre>\n";
?>
drin steht, und dieses Script dann mit den unterschiedlichen Methoden aufrufst, dann wirst Du sehen, wie PHP die übersandten Parameter als Variablen zur Verfügung gestellt werden.
LG
Tom
Wenn Du einfach mal ein Script aufbaust, in dem
<?php
echo "<pre>\n";
echo htmlspecialchars(print_r($_GET,1));
echo "<hr>\n";
echo htmlspecialchars(print_r($_POST,1));
echo "</pre>\n";?>
drin steht, und dieses Script dann mit den unterschiedlichen Methoden aufrufst, dann wirst Du sehen, wie PHP die übersandten Parameter als Variablen zur Verfügung gestellt werden.
danke schon mal für die antwort! stimmt ... eigentlich so wie ichs mir vorgestellt habe. auf seite A klicken und auf seite B die dazugehörigen daten auslesen.
nur weiss ich eben ned WIE z.b auf den button X auf seite A diese informationen an das script bzw seite schicke.
also bei mir steht z.b. fürn button der code:
<a href="../profile/profil.php" target="_blank">mister x</a>
damit wird ja nur die neue url aufgerufen ohne irgendwelche informationen auszutauschen.
muss ich hier irgendwelche scripte einbauen? oder das script als ziel-url angeben und irgendwelche variablen übergeben?
Hallo
danke schon mal für die antwort! stimmt ... eigentlich so wie ichs mir vorgestellt habe. auf seite A klicken und auf seite B die dazugehörigen daten auslesen.
nur weiss ich eben ned WIE z.b auf den button X auf seite A diese informationen an das script bzw seite schicke.
also bei mir steht z.b. fürn button der code:
<a href="../profile/profil.php" target="_blank">mister x</a>
damit wird ja nur die neue url aufgerufen ohne irgendwelche informationen auszutauschen.
muss ich hier irgendwelche scripte einbauen? oder das script als ziel-url angeben und irgendwelche variablen übergeben?
Schau mal jetzt in die Adresszeile deines Browsers. Da gibt es nach einem Fragezeichen Name-Wert-Paare (dein Posting, auf das ich antworte: t=168329, m=1098272), die durch das Ampersand "&" getrennt sind. Dies sind Parameter, die per GET an das aufgerufene Skript übergeben wurden. Auch die Links zu einem anderen Posting enthalten diese Parameter, die das jeweilige Posting identifizieren.
Mit <a href="../profile/profil.php?id=0815">mister x</a>
(warum wird eigentlich mit 'target="_blank"' ein neues Fenster geöffnet?) übergibst du dem Ausgabeskript die ID der Person. Mit dieser Angabe (im Ausgabeskript als $_GET["id"]
zu verwenden) kann dann das Skript die Datensätze dieser einen Person abfragen.
Tschö, Auge
Mit
<a href="../profile/profil.php?id=0815">mister x</a>
(warum wird eigentlich mit 'target="_blank"' ein neues Fenster geöffnet?) übergibst du dem Ausgabeskript die ID der Person. Mit dieser Angabe (im Ausgabeskript als$_GET["id"]
zu verwenden) kann dann das Skript die Datensätze dieser einen Person abfragen.Tschö, Auge
hi auge .. vielen dank, genau das wars was ich suchte!
naja das mit dem target="_blank"
hab ich hier gewohnheitsmässig reingeschrieben, wird natürlich in dem falle ned verwendet.
zu tiefstem dank verpflichtet
robert
Hi,
naja das mit dem
target="_blank"
hab ich hier gewohnheitsmässig reingeschrieben,
Du solltest gewohnheitsmäßig jedes target-Attribut, auf das Du stößt, erst mal löschen. Tipp: Verwende in Deinen (X)HTML-Dokumenten eine Strict-DTD, dann wird Dich bereits der Validator auf den Usability-Mangel hinweisen.
Cheatah