Parameter aus URL auslesen und mitgeben

  • Hallo,

    ich habe z.B. eine URL die irgendwo verlinkt ist mit einer partnerid. z.B. http://www.urlrurlrurlrurl.de/?partnerid=123

    Wenn man auf den Link klickt kommt man auf die Startseite von urlurlurlurl.de . Die partnerid wird in einem Cookie abgelegt.

    Der "user" surft nun auf der Seite und klickt z.B. auf einen Kaufbutton -> jetzt soll in die kaufbutto- url die partnerid mitgegeben werden...

    Hat da jemand eine Idee?

    Beste Grüße

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ja da ist doch schon alles bestens vorbereitet.

    Auf der Seite mit dem Kaufbutton muß die Kauf-URL dynamische erzeugt werden. Also Cookie auslesen und die Partner-ID an die Kauf-URL anfügen.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

  • Das hängt davon ab, wie die Seite mit dem Kauf-Button realisiert ist. Ist das eine einfache, statische Wordpress-Seite oder wird die von einem Plugin erzeugt, steckt da ein richtiges Shop-System dahinter?
    Ohne mehr Informationen kann man da schlecht etwas sagen.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.


  • ich habe z.B. eine URL die irgendwo verlinkt ist mit einer partnerid. z.B. http://www.urlrurlrurlrurl.de/?partnerid=123

    Auf GET Variablen kannst du mit get_query_var zurück greifen

    https://codex.wordpress.org/Function_Reference/get_query_var


    Die partnerid wird in einem Cookie abgelegt.

    dafür gibt es in PHP die Funktion

    setcookie
    http://php.net/manual/en/function.setcookie.php



    jetzt soll in die kaufbutto- url die partnerid mitgegeben werden...

    PHP
    echo $_COOKIE['partnerid'];

    Mit offenen Augen träumen

  • Besten Dank! Ich versuch mal r23's Variante.

    Putzlowitsch, einfache wordpress Seite, der Link öffnet dann eine Art "Rechner" der aber auf einer anderen URL läuft und die mitgegeben Parameter ausliest und zuordnet..in dem Fall die PartnerId.

  • ahoi,

    Ist das so gemeint? Und wo füge ich das jetzt ein etc.? z.B: mit einem PHP Code Plugin?

    function add_query_vars_filter( $vars ){
    $vars[] = "partnerid";
    return $vars;
    }
    add_filter( 'query_vars', 'add_query_vars_filter' );
    [COLOR=#000000][COLOR=#0000BB]
    $value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]'partnerid'[/COLOR][COLOR=#007700];
    [/COLOR][COLOR=#0000BB]setcookie[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"TestCookie"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$value[/COLOR][COLOR=#007700]);[/COLOR][/COLOR]


    Die Url von dem Button sieht z.B. so aus
    https://www.buttonbuttonbutton.de/default.aspx?partnerid=[COLOR=#000000][COLOR=#0000BB]$_COOKIE[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'partnerid'[/COLOR][COLOR=#007700]];
    [/COLOR][/COLOR]
    Sorry,aber bin da leider Anfänger :-/

  • Hmm, aus dem Code oben kann ich zumindest keinen Sinn machen.

    Versuch es nochmal mit so etwas:

    $value = $_GET['variablen-name'];
    setcookie(cookie_name, $value, time() + (86400 * 30), "/");

    Wenn du dann den Cookie wieder lesen willst:
    $value = $_COOKIE['cookie_name'];


  • Versuch es nochmal mit so etwas:

    $value = $_GET['variablen-name'];

    verwende mindestens ein (string) oder (int)

    PHP
    $sStr  = (string) $_GET['partnerid'];
    
    
    $nID  = (int) $_GET['partnerid'];


    und bevor man irgendetwas annimmt,

    PHP
    if (isset($_GET['partnerid']) && is_numeric($_GET['partnerid'])) {
        $nID  = (int) $_GET['partnerid'];
    }
    
    
    
    
    if (isset($_GET['partnerid']) && is_string($_GET['partnerid'])) {
        $sStr  = (string) $_GET['partnerid'];
    }

    Da dir per se irgendein Plugin oder deine Permalinks Einstellungen dir deine globalen Variablen [$_GET) versauen - muust / solltest du
    Query-Parameter bei WP registrieren und anschließend mit der WP-Funktion get_query_var darauf zugreifen.

    Mit offenen Augen träumen

  • Erstmal Besten Dank an euch!

    Aber ich verstehe nicht so ganz was und wo ich genau einfügen muss...
    Und wie dann die konkrete URL aussieht damit der sich die partnerid aus dem cookie holt und einsetzt..

    function add_query_vars_filter( $nID ){

    if (isset($_GET['partnerid']) && is_numeric($_GET['partnerid'])) {
    $nID = (int) $_GET['partnerid'];
    }

    setcookie(cookie_name, $nID, time() + (86400 * 30), "/");


    }
    add_filter( 'query_vars', 'add_query_vars_filter' );

    Einmal editiert, zuletzt von BenjaminGo (24. Juli 2015 um 09:04)

  • Also so scheint es jetzt zu gehen:
    in die functions.php ->

    function add_query_vars_filter( $vars ){

    if (isset($_GET['partnerid']) && is_numeric($_GET['partnerid'])) {
    $nID = (int) $_GET['partnerid'];
    setcookie(partner_id, $nID, time() + (86400 * 30), "/");
    }
    }
    add_filter( 'query_vars', 'add_query_vars_filter' );

    und dann im Beitrag selbst : <p>PartnerID <?php echo $_COOKIE['partner_id']; ?> </p>

    Oder auch nicht :-( ging irgendwie nur als ich im backend eingeloggt war.

    Einmal editiert, zuletzt von BenjaminGo (24. Juli 2015 um 09:52)

  • Also es scheint doch zu gehen,

    aber auf der startseite setzt er die partnerid nicht ein nur wenn ich erst auf eine Unterseite geklickt habe merkt er sich die Zahl und fügt sie dann auch ein.

  • Also es scheint doch zu gehen,

    aber auf der startseite setzt er die partnerid nicht ein nur wenn ich erst auf eine Unterseite geklickt habe merkt er sich die Zahl und fügt sie dann auch ein.

    Und egal welchen Menüpunkt ich dann anklicke zeigt er immer die Startseite....


  • Sollen wir dir das PHP Handbuch und den WordPress Codex vorlesen?


    PHP
    add_filter('query_vars', 'affiliate_variables');
    function affiliate_variables($public_query_vars) {
    	$public_query_vars[] = 'partnerid';
    	return $public_query_vars;
    }

    danach steht dir in query_vars deine Variable zur Verfügung.


    PHP
    if( array_key_exists( 'partnerid' , $wp_query->query_vars ) ) {
    // prüfe ob es eine Zahl ist
    // lege die Cookie Domain fest,
    // schreibe den Wert in den Cookie
    }

    Mit offenen Augen träumen

  • Sollen wir dir das PHP Handbuch und den WordPress Codex vorlesen?


    PHP
    add_filter('query_vars', 'affiliate_variables');
    function affiliate_variables($public_query_vars) {
        $public_query_vars[] = 'partnerid';
        return $public_query_vars;
    }

    danach steht dir in query_vars deine Variable zur Verfügung.


    PHP
    if( array_key_exists( 'partnerid' , $wp_query->query_vars ) ) {
    // prüfe ob es eine Zahl ist
    // lege die Cookie Domain fest,
    // schreibe den Wert in den Cookie
    }

    ja bitte ;) Funzt jetzt alles! Vielen dank an euch!

Jetzt mitmachen!

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