Wie kann ich parse_url in PHP, wenn es eine URL in eine string-variable?

Ich bin zwar ein PHP-newbie, so brauche ich etwas Hilfe.

Ich Schaffe ein selbst gestaltetes Partnerprogramm für meine Website und haben die Möglichkeit, für ein affiliate-hinzufügen einer SubID, um Ihre link für die Sendungsverfolgung. Ohne die Kontrolle über das, was eingetragen ist, habe ich getestet, verschiedene Szenarien und einen Fehler gefunden, wenn eine vollständige URL eingegeben werden (d.h. "http://example.com").

In meiner PHP, die ich greifen kann, die variable aus dem string kein problem. Mein problem kommt aus, wenn ich die Referrer-URL und analysiert (da muss ich analysieren, die Referrer-URL, um die host-Mähne für andere Verwendungen). Code unter:

$refURL = getenv("HTTP_REFERER");

$parseRefURL = parse_url($refURL);

FUNKTIONIERT, wenn eingehende Links (zum Beispiel):

http://example.com/?ref=REFERRER'S-ID&sid=www.test.com

FEHLER, wenn der eingehende link (beachten Sie den Zusatz "http://" hinter "sid="):

http://example.com/?ref=REFERRER'S-ID&sid=http://www.test.com

Hier ist die Warnung:

Warnung: parse_url(/?ref=REFERRER-ID&sid=http://www.test.com) [function.parse-url]: Unable to parse url in /home4/'Verzeichnis'/public_html/hosterdoodle/header.php auf der Linie 28`

Irgendwelche Ideen auf, wie die parse-url-Funktion wird ausgelöst, wenn jemand beschließen, eine URL in eine variable? (Habe ich tatsächlich getestet, das problem bis zu dem Punkt, es wirft den Fehler mit so wenig wie ":/" in die variable)

Benötigen Sie zum speichern die "zweite" url in irgendeiner Weise oder kann es entsorgt werden?
Es kann verworfen werden, da ich schon ziehen Sie die Variablen. die Funktion parse_url muss nicht die Zeichenfolge, die Informationen in keiner Weise, da alles, was ich bin, ist, dass die verweisende Hosts root-URL (example.com, test.com).
Warum ist Ihre Warnung verpassen http://example.com/ aus der Verknüpfung, die den Fehler generiert?..
Ich bin nicht sicher, salathe. Ich Frage mich, warum es ziehen JEDER Teil der EINGEHENDEN LINK, wenn ich analysieren, die Referrer-URL.
Ich eliminiert alle header('Location:') Elemente aus meinem code um zu verhindern, dass eine looping-Problem werfen den query-string in der parse_url() Funktion und das problem WEITERHIN besteht! Warum ist parse_url() sogar einen Blick auf den query-string des eingehenden link-wenn es sein soll-Analyse wird die referrer-url? Es gibt keinen Weg, es sollte noch wissen, was der query-string ist auf der aktuellen Seite...richtig?

InformationsquelleAutor Eric O | 2010-04-23

Schreibe einen Kommentar