Ga naar inhoud

Reffer probleempje php


anoniem

Aanbevolen berichten

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
Link naar reactie
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.
Link naar reactie
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
Link naar reactie
[quote:14dab4206f="old"]ik heb hem iets aangepast [...stukkie code...] en pak nog steeds alleen mijn site url andere niet[/quote:14dab4206f] Het lijkt er een beetje op dat je als een kip zonder kop (excusez le mot) zomaar wat aan het aanpassen bent. Zo'n trial & error methode kan misschien wel werken, maar dat gaat je zonder een wat gestructureerdere aanpak heel wat pogingen (lees: tijd en frustratie) kosten. Dus nogmaals, heb je al geprobeerd om simpelweg te debuggen? Controleer dus de waarde van al je variabelen, controleer de samengestelde query en de uitkomsten daarvan, controleer de uitkomst van condities (bijv. if statements), enz. Alleen op het eind van het script controleren of er wat in de database staat is dus niet voldoende. Je bent dus wel op de goede weg. Alleen met wat beter debug werk kom je nog een heel stuk verder.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...