Referrer speichern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Referrer speichern

    hallo,

    ich habe folgendes problem:
    in einer datenbank soll der referrer gespeichert werden.
    wenn der referrer schon exestiert soll das feld anzahl eins hochgezählt werden.
    wenn der referrer noch nicht exestiert soll er in der datenbank eingetragen werden.

    so habe ich es gemacht:

    $ref = getenv("HTTP_REFERER");
    $sql = "UPDATE referrer SET date=NOW(), anzahl = anzahl +1 WHERE url = '$ref'";
    if (!@mysql_query($sql)) {
    $sql = "INSERT INTO referrer SET url='$ref', date=NOW(), anzahl='1'";
    @mysql_query($sql);
    }

    der obere bereich mit dem hochzählen funktioniert *freu*,
    nur der teil nicht der einen neuen eintrag vornimmt.

    was mache ich denn falsch?

  • #2
    Re: Referrer speichern

    Original geschrieben von sprueher
    der obere bereich mit dem hochzählen funktioniert *freu*,
    nur der teil nicht der einen neuen eintrag vornimmt.
    aber dass er bei einem fehlschlag der UPDATE-query dann auch wirklich in den if-teil hineinspringt, hast du du natürlich bereits durch eine entsprechende kontroll-ausgabe überprüft?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hi,

      nein, habe ich nicht. leider weiss ich auch nicht wie ich das anstellen sollte...
      Zuletzt geändert von sprueher; 29.03.2004, 17:49.

      Kommentar


      • #4
        deine if() funkt so nicht. es sei denn sql weigert sich deinen query anzunehmen. es wird kein false zurückgegeben, wenn es nichts zum updaten gibt ....
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          ich stehe gerade auf dem schlauch...
          welche möglichkeit hätte ich denn sonst noch?
          ich wäre um jeden tip dankbar!

          Kommentar


          • #6
            du könntest mal sauber abprüfen, ob deine UPDATE-query datensätze beeinflusst hat - mit mysql_affected_rows() z.b.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              jetzt gehts *jubel*,

              der letzte tip mit mysql_affected_rows() hat leider auch nicht funktioniert.
              dann habe ich es so probiert, dann hat es gefunzt:

              $ref = getenv("HTTP_REFERER");
              $sql = "UPDATE referrer SET date=NOW(), anzahl = anzahl +1 WHERE url = '$ref'";
              if (mysql_num_rows(mysql_query($sql)) == 0) {
              $sql = "INSERT INTO referrer SET url='$ref', date=NOW(), anzahl=1";
              @mysql_query($sql);
              }

              danke für eure hilfe!

              Kommentar


              • #8
                Mhh, ja ein ähnliches Beispiel hatte ich neulich auch.

                Kann man das denn nich in einen query packen?
                Die Musikreview Seite

                hi, i'm a signature virus. copy me into your signature to help me spread.

                Kommentar


                • #9
                  ich nochmal *schäm*

                  das ganze ging doch noch nicht richtig :-((

                  jetzt aber! (ich denke das ich jetzt alle varianten geprüft habe)


                  PHP-Code:
                  $ref getenv("HTTP_REFERER");
                  $sql="SELECT url FROM referrer WHERE url='$ref'";
                  $anf=@mysql_query($sql);
                  if(
                  mysql_num_rows($anf) == 0) {
                  @
                  mysql_query("INSERT INTO referrer SET url='$ref', date=NOW(), anzahl=1");
                  } else {
                  @
                  mysql_query("UPDATE referrer SET date=NOW(), anzahl=anzahl +1 WHERE url='$ref'");

                  Kommentar

                  Lädt...
                  X