2012-04-11 1 views
1

So habe ich eine einfache Form (form.php), die einige Daten an eine andere Seite sendet, die es in der Datenbank speichert (savedata.php).Wie eine URL als String-Parameter an ein Formular Post Aktion übergeben

Eines der Formularfelder ist ein URL-Feld, in das der Benutzer einen Link eingibt.

Okay.

Wenn ich versuche, einen Link zu senden, der Parameter enthält, wie: http://www.example.com/example.php?id=1&var=1&var=2 dann, wenn das Formular übergibt, gibt es Fehler.

sagen, dass die endgültige Post Aktion aus der Form ist:

savedata.php feld1 = blabla & field2 = blabla & urlField = http:? Id = 1 //www.example.com/example.php & var = 1 & var = 2

Da die urlField eine Zeichenfolge enthält, die mit "&" it cofuses die Post Aktion. Wenn ich eine URL ohne Parameter wie: http://www.example.com sende, sendet es das Formular in Ordnung.

Eine Sache, die ich dachte, bevor Sie den Code submiting die „&“ mit einem anderen Charakter wie^und dann auf dem savedata.php ersetzt die „&“ Zeichen zu ersetzen, zurück und schreiben sie dann in die Datenbank.

Gibt es einen einfacheren Weg? Ich verwende bereits die POST-Methode.

Dank

Update: OK ich sehe, wenn ich die "&" Zeichen mit "% 26" ersetzen es funktioniert gut.

+0

Versuchen Sie mit POST ISO GET –

Antwort

0

Die post-Methode sollte dieses Problem beheben. Hier ist ein Beispiel, wie es geht: http://www.tizag.com/phpT/forms.php

ändern Ihre Form Methode

method="post"> 

Und auf der savedata.php das Formular lesen von

$ url = $ _POST [ 'urlField' ];

+0

Ich verwende bereits Post-Methode und die Parameter mit $ _POST abrufen. –

+0

warum übermittelst du dann deine parameter an url? –

+0

Entschuldigung für das Missverständnis. Ich überhole es nicht mit der Hand. Mit Post ist es nicht sichtbar, aber unter der Haube ist die Struktur die gleiche, denke ich. –