| Autor |
Beitrag |
n-regen
      
Beiträge: 202
Erhaltene Danke: 2
|
Verfasst: Fr 22.08.08 15:59
Hallo!
Ich möchte eine PHP-Seite per IdHTTP aufrufen und ihr zwei Parameter übergeben (also seite.php?eins=abc&zwei=xyz).
Das funktioniert aber nicht, weil Delphi aus & ein _ macht.
Kann man das irgendwie umgehen?
Nils
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Fr 22.08.08 16:01
Probiers mal so:
Delphi-Quelltext 1:
| #seite.php?eins=abc'+#38+'zwei=xyz' |
€: Hab grad kein Delphi zur Hand.
Grüße,
Marc
Zuletzt bearbeitet von Marc. am Fr 22.08.08 16:04, insgesamt 2-mal bearbeitet
|
|
n-regen 
      
Beiträge: 202
Erhaltene Danke: 2
|
Verfasst: Fr 22.08.08 16:02
Geht leider nicht.
Trotzdem danke.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 22.08.08 16:04
wie genau rufst du denn die seite auf?
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 22.08.08 16:06
Soweit ich weiß, werden die & nur bei einigen Controls zu dem _ umgewandelt. Das kann man abschalten, indem man ShowAccelChar des Controls auf False setzt. ALternativ kann man mit && arbeiten.
_________________ We are, we were and will not be.
|
|
n-regen 
      
Beiträge: 202
Erhaltene Danke: 2
|
Verfasst: Fr 22.08.08 16:07
Delphi-Quelltext 1: 2:
| str := 'http://www.n-regen.bplaced.de/ordner/Nils.php?startZeit='+datetimetostr(now)+chr(38)+'kommentar='+jvedit1.Text; idhttp1.Get(str); |
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 22.08.08 16:12
Gausi hat folgendes geschrieben: | | Soweit ich weiß, werden die & nur bei einigen Controls zu dem _ umgewandelt. |
Ja, daher meine Frage, ich vermutete dass es durch ein TMenuItem oder so läuft. schient aber nicht so zu sein
// edit: mist, GTA, da hätt ich auch drauf kommen müssen ^^
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
Zuletzt bearbeitet von Tilman am Fr 22.08.08 16:16, insgesamt 1-mal bearbeitet
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Fr 22.08.08 16:14
Und woher weißt du, dass aus dem & ein _ wird? Nur weil ShowMessage das so anzeigt? 
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
n-regen 
      
Beiträge: 202
Erhaltene Danke: 2
|
Verfasst: Fr 22.08.08 16:20
Die PHP-Seite schreibt die Parameter folgendermaßen in eine Textdatei:
Quelltext 1: 2: 3: 4:
| eins eins aktuelle IP des Aufrufenden zwei |
Und das sieht dann so aus (JvEdit1 ist leer, wird aber seitens der PHP-Seite durch ein Leerzeichen ersetzt):
Quelltext 1: 2: 3:
| 22.08.2008 22.08.2008 84.150.219.88 |
Wie man sieht fehlt in der Datei dann die Uhrzeit, die aber essentiell ist.
EDIT1: Wenn man && verwendet, geht es auch nicht.
Wenn man die Seite samt Parametern im Browser aufruft, funktioniert es.
EDIT2: Kann man die Seite vielleicht irgendwie anders aufrufen (den Text der Seite brauche ich nicht; es geht nur darum, dass das PHP-Skript die Daten erhält)?
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Fr 22.08.08 16:46
Das & kannst du glaube ich auch durch ein ? ersetzen und andersrum.
edit: sry, funktioniert doch nicht immer.
|
|
Jerk
      
Beiträge: 251
Vista Ultimate, Ubuntu
Turbo Delphi 2006
|
Verfasst: Fr 22.08.08 17:45
Das Problem hatte ich auch mal, du musst den Teil nach php afaik als Params übergeben. Da gibt es dann eine function die Sonderzeichen umwandelt wo mir jetzt der name aber nicht mehr einfällt -.-
|
|
n-regen 
      
Beiträge: 202
Erhaltene Danke: 2
|
Verfasst: Fr 22.08.08 18:30
Ich habe das Problem gelöst, indem ich statt Indy URLDownloadToFile verwende - ich frage mich nur, warum es funktioniert.
|
|