PHP weiterleitung funktioniert nicht

Hallöchen!

Habe gerade ein Problem. Ich bastel halt gerade an einem Script, für den empfang/versand von SMS. Hab halt dazu mich bei einem entsprechendem Dienst angemeldet.

Folgendes ist mein Problem: Jede eingegangene SMS erhalte ich dort per HTTP-weiterleitung, also wird meine Internetseite ungefähr so aufgerufen von denen:

http://www.MeineSeite.de/SMSverarbeitung.php?Handynu…

und ich muss halt in meinem PHP Script die Daten verarbeiten und dann an eine vorgegeben Adresse von dem Dienstanbieter meine Antwort-SMS schicken, was genauso aussieht:

http://www.DerDienstanbieter.de/Empfängernummer=0049…

So, ich weiß nur nicht, wie ich das hin bekomme. Das auslesen klappt denke ich soweit beim empfang der SMS bei mir, benutze halt
$_GET[‚variablenname‘]

Ich denke mein Fehler liegt vielleicht bei meiner weiterleitung am ende der Seite

header("Location: http://www.DerDienstanbieter.de/Empfängernummer=0049…);

Könnt Ihr mir da mal nen Tipp geben, was ich da falsch mache?

Leider hast du nicht sehr viel über deinen Code gepostet, daher kann ich nur raten wo dein Fehler liegt :confused:
Ich hoffe du hast beachtet, dass der header() die erste ausgabe zum Client sein muss, sonst wird dieser in der Regel vom Browser ignoriert :wink:

Beachten Sie, dass header() aufgerufen werden muss, bevor eine Ausgabe gesendet wurde, egal ob dies normale HTML Tags, leere Zeilen in einer Datei oder von PHP sind. Ein weit verbreiteter Fehler ist, mittels include(), require() oder anderen Dateizugriffsfunktionen Code zu lesen, und so unbewusst Leerzeichen oder Leerzeilen auszugeben, bevor header() aufgerufen wird. Das gleiche Problem besteht auch bei Verwendung einer einzigen PHP/HTML Datei.

siehe dazu: http://de.php.net/header

LG Matthias

Hallo

eine fehlermeldung wäre net schlecht.

Gruß
Phillip

Hallo,

mit dem Header(„Location:…“) schickst du ja nur als Antwort auf die Anfrage des SMS-Dienstes einen Status 30X für „Seite verschoben“ zurück zusammen mit der URL, wo die liegen soll, der Server des Anbieters wird das sicher nicht auswerten und die Seite für dich abrufen.

Ich denke, du musst stattdessen selbst aktiv werden und die Seite zum Senden bei dem Anbieter selbst aufrufen:

$antwort = file_get_contents("http://www.DerDienstanbieter.de/Empfängernummer=0049…);

(das geht nur, wenn allow_url_fopen an ist, ansonsten müsste man mit curl oder fsockopen etwas basteln, sofern das verfügbar ist).

Alexander

Ich denke mein Fehler liegt vielleicht bei meiner weiterleitung am ende der Seite

header("Location: http://www.DerDienstanbieter.de/Empfängernummer=0049…);

  1. Die URL muss mittels urlencode codiert werden, z.B. sind Umlaute sind URLs nicht erlaubt.
  2. Es scheint als ob vor „Empfängernummer“ ein Fragezeichen fehlt.
  3. Welches Problem tritt eigentlich auf?
    SMS kommt nicht an?
    Es wird nicht weitergeleitet?
  4. Der Benutzer wird durch den header-Befehl auf die Seite des Dienstanbieters weitergeleitet. Ist das wirklich was du willst?

Grüße