Ergebnis 1 bis 8 von 8

Thema: referrerscript problem=)

  1. #1
    Interessierte/r Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard referrerscript problem=)

    Hi leute,

    ich bin gerade dabei nen egenes referrer system zu programmieren und jetzt bekomme ich es einfach nicht hin, dass wenn der eintrag einer seite schon vorhanden ist dass dann die anzahl der besuche um eins erhöt wird, könnr ihr mir da evtl helfen? Also es geht nur um den unteren teil mit dem update...der rest funktioniert ja so wie ich es will^^
    Hier mein code:
    PHP-Code:
    <?php
    $ref 
    $HTTP_SERVER_VARS['HTTP_REFERER'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $datum date("d.m.Y H:i");
    list (
    $http$slash$ref) = split('[/]'$ref);
    $ref=str_replace("www.",""$ref);
    if(
    $ref=="free-websms.de"){exit;}
    $verbindung mysql_connect(************)
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("lippl") or die ("Datenbank konnte nicht ausgewählt werden");
        
    $sql "SELECT refs FROM websmsreferrer WHERE refs = '$ref'";
        
    $result mysql_query($sql) OR die(mysql_error());
        if(!
    $result) {
        
    $anzahl="SELECT anzahl FROM websmsreferrer WHERE refs = '$ref'";
        
    $anzahlplus $anzahl+1;
        echo 
    $anzahl;
        
    $aendern "UPDATE websmsreferrer SET anzahl = '$anzahlplus' WHERE ref = '$ref'";
        
    $update mysql_query($aendern);
        
    //seite schon vorhanden
        
    }
        elseif(
    $result=true){
        
    $eintrag "INSERT INTO websmsreferrer (id, refs, datum ) VALUES ('$ip', '$ref', '$datum' )";
        
    $eintragen mysql_query($eintrag);
        
    //seite noch nicht vorhanden
        
    }
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: referrerscript problem=)

    Zuerst einmal:
    Warum ist es schlecht, mit dem Referer zu arbeiten?
    http://php.faq-page.net/q-http-referer.html

    Dann: wo hast du gelesen, dass man seinen Quellcode nicht ordentlich einrücken sollte?

    PHP-Code:
        $sql "SELECT refs FROM websmsreferrer WHERE refs = '$ref'";
        
    $result mysql_query($sql) OR die(mysql_error());
        if(!
    $result
    Wenn $result false ist, stirbt dein Script schon bei "die", also ist diese Abfrage Quatsch
    PHP-Code:
        $anzahl="SELECT anzahl FROM websmsreferrer WHERE refs = '$ref'";
        
    $anzahlplus $anzahl+1
    Du addierst mit einem String!
    PHP-Code:
        $aendern "UPDATE websmsreferrer SET anzahl = '$anzahlplus' WHERE ref = '$ref'"
    Das kann man alles vereinfachen:
    PHP-Code:
        $aendern "UPDATE websmsreferrer SET anzahl = anzahl+1 WHERE ref = '$ref'"
    Und warum fehlt hier mysql_error:
    PHP-Code:
        $update mysql_query($aendern); 
    PHP-Code:
        elseif($result=true){ 
    Das ist eine Zuweisung, und wie oben schon erwähnt, völliger Quatsch.
    PHP-Code:
     $eintrag "INSERT INTO websmsreferrer (id, refs, datum ) VALUES ('$ip', '$ref', '$datum' )"
    Da fehlt die Anzahl

    Fazit: Wegschmeißen und neu machen.

  3. #3
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: referrerscript problem=)

    aalso einrücken kann ich ja noch, die anzahl wird standardmäßig in der datenbank auf eins gesetzt, dass mid dem addieren wusste ich nicht das sman es gleich dort reinschreiben kann, und meines erachtens is es nicht quatsch zu fragen ob die abfrage geklappt hat denn wie will ich den sonst unterscheiden wann jetzt geupdatet werden soll oder wann ein neuer eintrag geschrieben werden soll??

  4. #4
    Bandit
    Gast

    Standard AW: referrerscript problem=)

    Zitat Zitat von lippl Beitrag anzeigen
    aalso einrücken kann ich ja noch
    Jau, wir Deppen können uns ja erst mal durch diese Buchstabenwüste quälen.

    Zitat Zitat von lippl Beitrag anzeigen
    und meines erachtens is es nicht quatsch zu fragen ob die abfrage geklappt hat
    Und ob das Quatsch ist! mysql_query liefert beim einem Select eine Resource-ID, völlig unabhängig davon, ob es Treffer gibt oder nicht! Und genau deshalb ist
    PHP-Code:
    if (! $result
    völliger Blödsinn! Und sollte die Abfrage in die Hose gehen, schlägt "die" zu.
    Zitat Zitat von lippl Beitrag anzeigen
    denn wie will ich den sonst unterscheiden wann jetzt geupdatet werden soll oder wann ein neuer eintrag geschrieben werden soll??
    Vielleicht mit mysql_num_rows oder ein Count beim Select?!

  5. #5
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: referrerscript problem=)

    hm jaa is ma bedenkenswert xD
    ich m,eld mcih dann wieder wenn ichs umgeschriebn hab un es trotzdem nich funtzt=)

  6. #6
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: referrerscript problem=)

    so jetzt hab ichs gelöst und hoffentlich hat keinber mehr einwände=)
    PHP-Code:
    <?php
    $ref 
    $HTTP_SERVER_VARS['HTTP_REFERER'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $datum date("d.m.Y H:i");

    list (
    $http$slash$ref) = split('[/]'$ref);
    $ref=str_replace("www.",""$ref);

    if(
    $ref=="free-websms.de"){exit;}

    $verbindung mysql_connect(***********)
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("lippl") or die ("Datenbank konnte nicht ausgewählt werden");

        
    $sql "SELECT refs FROM websmsreferrer WHERE refs = '$ref'";
        
    $result mysql_query($sql) OR die(mysql_error());
        
    $num_rows mysql_num_rows($result);
        
        if(
    $num_rows>0){
            
    $aendern "UPDATE websmsreferrer SET anzahl = anzahl+1 WHERE refs = '$ref'";
            
    $update mysql_query($aendern) OR die(mysql_error());
            
    //seite schon vorhanden
        
    }
        elseif(
    $num_rows==0){
            
    $eintrag "INSERT INTO websmsreferrer (id, refs, datum ) VALUES ('$ip', '$ref', '$datum' )";
            
    $eintragen mysql_query($eintrag) OR die(mysql_error());
            
    //seite noch nicht vorhanden
        
    }
    ?>

  7. #7
    Bandit
    Gast

    Standard AW: referrerscript problem=)

    Naja, mir fällt da immer noch etwas auf.

    $HTTP_SERVER_VARS['HTTP_REFERER']; ist veraltet, benutze $_SERVER['HTTP_REFERER'];

    PHP-Code:
    $eintrag "INSERT INTO websmsreferrer (id, refs, datum ) VALUES ('$ip', '$ref', '$datum' )"
    Benutze den Typ date_time für das Datum in der MySQL-Tabelle, dann kannst du besser schreiben:
    PHP-Code:
    $eintrag "INSERT INTO websmsreferrer (id, refs, datum ) VALUES ('$ip', '$ref', now() )"

  8. #8
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: referrerscript problem=)

    also das mit dem $_SERVER['HTTP_REFERER']; hab ich übernommen aber dass mit dem datum lasse ich, weil ich es gerne in meiner reihenfolge haben möchte und ich die variable jetzt noch öfters brauche

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •