Variablen übergabe Problem

hallo, bin neu hier und komm nicht klar mit der Formular-Übergabe von Variablen.
ich meine es kommt kein Wert an obwohl in der Adresszeile die Übergabe sehe. z. B. update.php?id=9
Der Aufruf ist wie folgt:
Edit
In der Auswertung steht folgendes:

Hier ist jedoch $id leer, sodass ich keine weiteren Verarbeitung durchführen kann. Wäre super wenn mir jemand den Schubs in die richtige Richtung gibt,

Max

$_GET[‘id’] ?

Danke für den Hinweis. muß mal sehen wie ich das nutzen kann

Super das mit $id=$_GET[‘id’]; funktioniert muss jetzt natürlich sehen wo ich das überall einbauen muss. Mich wundert, dass auf meinem XAMPP lokal laufendem Script die Übergabe ohne $_GET funktioniert. Liegt das an der PHP Version?
Danke

Eventuell hast du register_globals auf on. Mehr dazu: php.net/manual/de/language.varia … efined.php (erster roter Kasten)
Ist allerdings nicht so zu empfehlen, verwende Superglobals ($_GET, $_POST, $_SERVER, etc)
Mehr dazu: php.net/manual/de/language.varia … lobals.php

Mfg :wink2:

Danke, gibt es denn eine Möglichkeit alle übergebenen Variablen per Schleife auszulesen und im Script dann zu nutzen?

Klar kannst du das machen (for oder foreach-Schleife, zum Beispiel). Normalerweise kommt sowas jedoch nicht vor. Was hast du denn vor?
Ich frage deshalb, weil bei User-Input durchaus sicherheitsrelevante Überlegungen angestellt werden müssen, und ganz naiv Eingabewerte zu durchlaufen kann zu überraschenden Ergebnissen führen.

Mfg :wink2:

Soll nur eine einfache CD Verwaltung werden also Interpret und Titel eventuell mit Schubladenfach in der die CD steht

Okay. Wenn du willst kannst du den fertigen Code dann mal hier herzeigen :wink:

Mfg :wink2:

Bin ich gerne bereit aber noch weit von entfernt,
hab aber raus gefunden wie ich alle übergebenen Variablen und Werte listen kann:

while (list ($key, $value) = each ($_REQUEST))

{
echo $key." => “.$value.”
\n";
}
Arb
eite grade dran den String in $key als Variable umzuformen, damit ich dann auf z.B. $titel zugreifen kann.

Wenn man weiss wies geht ist fast alles einfach:
while(list($key, $val) = each($_REQUEST)){
$$key = $val; //Ja, die doppelten Dollars sind korrekt :wink:
}
Dann stehen einem Alle übergebenen Variablen mit ihrem Wert wieder zur Verfügung

Ich erlaube mir ein paar Anmerkungen:
Wenn du nur GET-Parameter abfragen willst, verwende auch $_GET. $_REQUEST kann auch noch andere Informationen enthalten (z.B. aus $_POST), wenn es da zu Überschneidungen kommt führt das unter Umständen zu lustigen Ergebnissen.

while(list($key, $val) = each($_REQUEST))

Das ist zwar nicht falsch, die weitaus gebräuchlichere Syntax in PHP wäre aber:

foreach($_REQUEST as $key => $val)

Warum du aber alle Variablen neu zuweist, verstehe ich nicht. Sie stehen dir doch ohnehin durch $_GET[key] zur Verfügung. Da brauchst du nichts neu zuweisen, um sie zu verwenden. Wenn du alle blind überschreibst, kann das unter Umständen ein erhebliches Sicherheitsrisiko darstellen!

Mfg :wink2:

Hi,hab es nun einigermaßen am laufen mit
foreach($_REQUEST as $key => $val)
muß aber alle Variablen neu zuweisen,
damit ich sie nutzen kann.
Danke erstmal

Wieso das?

Keine Ahnung, ich meine wenn ich zum Beispiel $id ausgeben will ist $id ohne Neuzuweisung leer.

Na, dann gib doch direkt $_GET[‘id’] aus - dann ist auch an der Stelle der Ausgabe direkt ersichtlich, woher die Daten kommen, nämlich von Besucher als Parameter eines Seitenaufrufs.