Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Reffer probleempje php

Anoniem
Annie
7 antwoorden
  • Hallo,

    Waarom werkt deze reffer script niet
    zo dat ik kan zien welke site mij gelinkt heb.

    [code:1:a19b2f1b60]

    $referer = $_SERVER["HTTP_REFERER"];

    $query8547 = mysql_query("SELECT url FROM nfsu_referer WHERE url='$referer'") or die(mysql_error());
    while($row = mysql_fetch_array($query8547)) {

    $uri = $row[url];

    if($referer == $uri) {

    mysql_query ("UPDATE nfsu_referer SET counter = counter +1 WHERE url = '$referer'")
    or die (mysql_error());

    }else{

    mysql_query("INSERT INTO nfsu_referer

    (rid,url,counter)
    VALUES
    ('$user_id','$referer','1')")
    or die (mysql_error());
    }

    [/code:1:a19b2f1b60]

    Bedankt
  • Het probleem is…. ? :-?

    - Bas
  • Nou ik denk dat het probleem is dat voor een referer die niet bestaat de query geen results teruggeeft en er dus ook nooit een insert kan plaatsvinden in de db omdat de insert binnen de while-lus staat.

    Overigens is de while lus imho sowieso een beetje krom gekozen aangezien je altijd maar 1 of 0 resultaten verwacht. Ik zou gewoon de rowcount opvragen (of een [i:077075d58e]select count(*)[/i:077075d58e]) en afhankelijk daarvan een update of een insert doen.
    Een nog kortere methode zou zijn om gewoon meteen een update te doen en indien er geen rows aangepast zijn (dat kan je afaik opvragen) een insert te doen, dat scheelt je weer een query.
  • Het probleem is:

    hij slaat alleen alles op van van z`n eigen url is

    komen ze via een andere site dan doet dat ruk ding niets
  • [quote:640520a0c0="old"]komen ze via een andere site dan doet dat ruk ding niets[/quote:640520a0c0]
    En mag ik vragen wat je zelf al hebt onderzocht?
    Wat staat er bijvoorbeeld in de referer? Wat staat er in de database (zie mijn vorige antwoord)?
  • ik heb hem iets aangepast

    [code:1:1a3a2ccc81]
    $result = mysql_query("SELECT url FROM nfsu_referer WHERE url='$referer'");
    $referer = $_SERVER["HTTP_REFERER"];
    $uri201 = $row[url];
    $uri = @mysql_result($result, "url");

    if ($referer == $uri201){


    mysql_query ("UPDATE nfsu_referer SET counter = counter +1 WHERE url ='$referer'")
    or die (mysql_error());



    }else{


    mysql_query("insert into nfsu_referer values( '','$referer','1')")or die (mysql_error());


    }[/code:1:1a3a2ccc81]

    en pak nog steeds alleen mijn site url andere niet
  • Je doet eerst een query (…. where url='$referer') en zet daarna pas een waarde in die $referer.

    Taalgebruik mag overigens wat netter.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.