Xava: Link als Parameter

Beitrag lesen

Hallo tester!

für mein weiterleitungsscript will ich den link, zu dem
weitergeleitet werden soll, als parameter übergeben.
somit sieht also ein link z.b. so aus:
./weiterleitung.php?param1=bla1&link=http://test.de/?
nochwas/das=für die andre?seite bestimmt ist&

o.ä.

nun könnt Ihr Euch das problem denken, oder?

Ja: Wenn du die URL einfach so ranhängst und das ganze ohne Formular machst, sondern einfach so als selbstzusammengebastelten Link, musst du den Parameter der gesamten URL vorher noch encoden, damit die in einer URL reservierten Zeichen mit Ersatzzeichen dargestellt werden.

Dies wird folgendermaßen gemacht:
   <a href="./weiterleitung.php?param1=bla1&link=<?php urlencode(http://test.de/) ?>

Mehr Informationen in der dclp-FAQ unter:
  5.12. Wie kann ich einen Parameter von einer PHP-Seite an eine andere weitergeben?
  http://www.dclp-faq.de/q/q-variable-weitergeben.html

Übrigens werden Parameter nach dem Folgenden Schema angefügt:

http://www.example.de/?option1=wert&option2=wert&option3=wert

Soll heissen, _nur_ vor dem _ersten_ Parameter (option1=wert) steht immer ein Fragezeichen. Bei allen darauf folgenden Parametern steht vor jedem Parameter ein "&".

nunja, wie lässt sich sowas lösen, ohne eine db anzulegen mit den
links drin?

Alternativ zu einer Datenbank kannst du in der Datei "weiterleitung.php" ein Array anlegen, in denen du alle möglichen URLs ablegst. Um dann zu prüfen, ob eine übergebene URL erlaubt ist, durchsuchst du einfach das Array, ob die übergebene URL im Array vorhanden ist.
Dies geht z. B. mit folgenden Funktionen:
 - array_search(): http://de.php.net/manual/de/function.array-search.php
 - in_array(): http://de.php.net/manual/de/function.in-array.php

Hättest du anstatt "nun könnt Ihr Euch das problem denken, oder?" dein Problem genau geschildert, so hätte man gezielter antworten können.

Ich hoffe, dass ich dich richtig verstanden habe und dass ich dir weiterhelfen konnte.