URL auslesen und einen Teil davon in einen Link auf der selben Seite kopieren..

  • Hallo liebe Experten!


    Ich möchte über PHP eine URL auslesen und einen Teil davon (eine Zahl) an einen Destiantion Link auf der selben Seite übergeben.


    z.B.: meinedomain.com/100


    Die Zahl 100 auslesen und per Script an einen Destination Link in der selben Seite (Banner Link) anfügen


    z.B.: destinationlink.com/100


    Funktioniert das mit einer Zahl (ohne Fragezeichen davor) überhaupt?


    Danke!

  • Irrtum!


    Ich befasse mich seit 2 Tagen ausführlich damit!
    Fakt ist das ich mit der .htaccess oder mode_rewrite nichts anfangen kann, da mein Provider einen IIS 7 Webserver betreibt und keinen Apache.
    Ich habe die web.config so weit wie möglich angepasst das die Seiten jetzt mit fortlaufender Nummer angezeigt werden.


    HTML
    <?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>         <rewrite>            <rules>                <rule name="Imported Rule 1" stopProcessing="true">                    <match url="^.*$" />                    <conditions logicalGrouping="MatchAny">                        <add input="{REQUEST_FILENAME}"                             matchType="IsFile" pattern=""                             ignoreCase="false" />                        <add input="{REQUEST_FILENAME}"                             matchType="IsDirectory"                             pattern=""                             ignoreCase="false" />                    </conditions>                    <action type="None" />                </rule>                <rule name="Imported Rule 2" stopProcessing="true">                    <match url="^.*$" />                    <action type="Rewrite" url="index.php" />                </rule>            </rules>        </rewrite>    </system.webServer></configuration>


    Nun hab ich das Problem das ich die URL nicht richtig parsen kann, da vor der Zahl kein Fragezeichen steht.
    Aber wenn mir hier keiner helfen will/kann bin ich wohl im falschen Forum gelandet...

  • Dein Server sollte dir die Zahl als Parameter bereitstellen..
    Ansonsten hilft dir das $_SERVER Array um die url auszulesen und das sollte eig. schon langen, zurnot hilft ein explode oder eine RegEx

  • Daran zermürb ich mir seit 2 Tagen den Kopf.
    Ich habe deswegen auch die web.config angepasst.
    Wenn ich die Zahl in einen Parameter ausgeben möchte, schmiert der Server mit dem Code 500 ab.


    .htaccess und mode_rewite funktionieren nicht, da ja kein Apache.


    Bin natürlich auch über den Befehl


    $_SERVER Array


    gestolpert


    Dort erhalte ich aber nur Informationen über Server und dessen Ausführungsumgebung.
    Da hab ich auch etwas über


    REQUEST_URI


    gelsen.


    Explode oder eine RegEx sagen mir garnichts.


    Ich drehe mich vollständig im Kreis...


    Es gibt so viele Seiten im Netz, die so funktionieren wie ich es gerne möchte, nur ich bekomm das irgendwie nicht hin...

  • PHP
    <?php $indicesServer = array(
    
    
    
    
    'REQUEST_URI') ; 
    echo '<table cellpadding="10">' ; foreach ($indicesServer as $arg) {     if (isset($_SERVER[$arg])) {         echo '<tr><td>'.$arg.'</td><td>' . $_SERVER[$arg] . '</td></tr>' ;     }     else {         echo '<tr><td>'.$arg.'</td><td>-</td></tr>' ;     } } echo '</table>' ; 
    ?>


    Das hab ich jetzt einmal, aber wie soll ich "regex" anwenden?

  • vorkauen werde ich es dir nicht. wenn du dich wirklich mit PHP einen Tag auseinandersetzt kannst du den rest alleine.. übrigens liefert google::"PHP regex" dir all das was du brauchst, als erstes ergebniss sogar dir richtige PHP funktion .. ;)

  • Das Hilft mir aber auch nicht weiter...
    Bis jetzt hat mir ja noch niemand eine richtige Lösung vorgelegt.


    Das einfachste wäre wahrscheinlich den Webhoster zu wechseln, solchen nehmen der Apache verwendet, was ich bis dato aber vermeiden wollte.


    Ich bin ein Mensch der sein Wissen gern an andere weiter gibt und nicht mit Prepotenz strotzt und einen vollständigen Quereinsteiger zwingt sich von A-Z mit der Materie auseinander zu setzen.


    Ich verlange ja auch nicht, wenn mich wer fragt wie er eine Zündkeze wechselt, das er die Funktion vom ganzen Motor lernen muss...


    Mag nimmer ehrlich, ich werde morgen eine Firma beauftragen...

  • was ich bis dato aber vermeiden wollte


    Warum?


    Hast du Rechte für so was?


    url_rewrite


    Wenn nein: Was ist das für ein Hoster und warum bist du ausgerechnet da und kostte dich das Geld?


    Übrigens ist das was wolf sagt ja auch nicht böse gemeint. Du hast nur ziemlich hohe Erwartungen an dich selbst. Sogar wenn du alles vorgeschustert bekommst musst du es erst verstehen um es einsetzen zu können. Wenn du irgendwann mal etwas ändern willst wirst du für dich unauffindbare Fehler produzieren wenn du so gar nicht weißt was Sache ist.


    Wenn es eine einmalige Sache ist die eh kein Herzblut verdient solltest du wirklich eine Firma beauftragen.

  • Wenn ich morgen bei dir klingel und frage ob du mir als wildfremden kurz mal die Zündkerzen austauscht (gegen maximal ein danke) wirst du mir auch den Vogel zeigen und sagen, geh in ne KFZ Werkstatt..

  • wolf
    Ja, das sind wir wahrscheinlich nicht der selben Meinung...
    Ich bin ein sehr hilfsbereiter Mensch, was solche Dinge angeht.


    Ich hab auch nicht gesagt das es derjenige umsonst machen muss/soll.


    Man muss sich halt eingestehen dass man mit manchen Dingen im Leben überfordert ist und ich bin im Moment dort angelangt.


    Für das ich nicht vom Fach bin, habe ich mir in den Jahren sehr viel selbst beigebracht, bin aber ehrlich gesagt auch keine 20 mehr das alles so locker flockig über die Bühne geht...


    Basi
    Nein diese Rechte habe ich natürlich nicht...
    Der Hoster ist ein guter Freund von mir und stellt mir seine IIS 7.5 Umgebung und Plesk kostenlos zu Verfügung.

  • Laut Rücksprache mit Ihm hat er das bereits vor einiger Zeit eingespielt...


    Ich bin jetzt schon einen Schritt weiter..


    PHP
    <?php$urlPart = explode("/", $_SERVER['REQUEST_URI']);print_r ($urlPart);?>


    Ich habe jetzt das Array der URL ausgelesen, weiss aber nicht wie ich mit dem Array [2] das wäre die Zahl die ich in den Link bekommen möchte, weiter arbeiten kann...


    Array ( [0] => [1] => ref [2] => 100



  • PHP
    <?php $urlPart = explode("/", $_SERVER['REQUEST_URI']);if(in_array("ID", $urlPart));{  echo $urlPart[2];}?>


    Jetzt hab ich endlich die Zahl herausgefiltert.
    Wie bekomme ich die nun in den Destination Link?


    PHP
    echo '<a href="http://destination.com/' . $urlPart[2] .'" target="_blank">';



    In etwa so?

  • Zahl in einer URL via PHP auslesen:


    PHP
    <?php $urlPart = explode("/", $_SERVER['REQUEST_URI']);$ref = $urlPart[2];?>


    Ausgelesene Zahl in einen Link (Banner) via HTML übergeben:


    HTML
    <button onclick="window.open('http://destinationlink.com/ref/<?php print($urlPart[2]); ?>'); return false;">Banner klicken</button>


    Danke an alle Beteiligten!

  • htmlspecialchars()
    Bissl Sicherheit muss sein =)

    PHP
    <button onclick="window.open('http://destinationlink.com/ref/<?php echo htmlspecialchars($urlPart[2]) ?>'); return false;">
        Banner klicken
    </button>


    Warum?
    Ruf mal in Deiner jetzigen Version das hier auf

    Code
    http://url.de/aaa/');alert(1);document.write('2/ccc


    Keine Ahnung voher woher die url kommt. Man sollte aber nicht mal den eigenen Daten trauen.


    edit: voher ... was is denn mit mir los :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!