Hyperlink

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

  • Hyperlink

    Hallo zusammen

    Gibt es eine möglichkeit, dass man zählen kann, wiefiele male man auf einen link geklikt hat??

  • #2
    mit Javasript kann man anzeigen wie oft einer auf den Link geklickt hat.

    Oder wolltest du speichern wie viele verschiedene Leute auf den Link geklickt haben?

    Offe

    Kommentar


    • #3
      Nein, ich wollte nur die anzahl klicks in eine db speichern.

      Hmm.. geht dies aber nicht mit php?
      Ist ja blöde, wenn jemand javascript deaktiviert hat..

      Kommentar


      • #4
        hmm,

        klar geht das.

        rufst nicht den link auf sondern weiter.php?link_id=7 und zählst, bevor du weiterleitest ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Ich habs so gemacht, falls es dich weiterbringt:
          PHP-Code:
          // weiterleitung.php

          <html>
          <head>
          <?php
          mysql_connect 
          ($dbserver,$dbuser,$dbpass);
          mysql_select_db ($dbname);
          $result mysql_query("SELECT * FROM links WHERE url ='$url' ");
          $daten mysql_fetch_array($result);
          $hitsneu=$daten[hits]+1;
          $query "UPDATE links  SET hits='$hitsneu' WHERE url ='$url'";
          $result mysql_query($query);
          mysql_query($query);
          mysql_close();
          ?>
          <?php
          if(isset($url)){
          echo
          "<meta http-equiv=\"refresh\" content=\"1; URL=http://$url\">"
          } else { 
          echo
          "<meta http-equiv=\"refresh\" content=\"1; URL=http://linkspage.php\">"
          }
          ?>
          </head>
          </html>
          Die weiter zu leitende URL übergibst du mit URI an weiterleitung.php
          <a href=\"weiterleitung.php?url=$daten[url]\" target=\"_blank\"><b> $daten[linkname]</b></a>

          Wes du nur brauchst ist ein Feld namens hits in deiner DB Tabelle.

          Kommentar


          • #6
            PHP-Code:
            mysql_connect ($dbserver,$dbuser,$dbpass);
            mysql_select_db ($dbname);
            $result mysql_query("UPDATE links  SET hits=hits+1 WHERE url ='$url'"); 
            ist etwas schneller, da du die datenbank nicht mit unnötigen anfragen belästigst *g*

            die weiterleitung kann man auch über header machen, das mit meta-refresh zu machen wird nicht bei allenbrowser(n|konfigurationen) funktionieren
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Alter Beitrag aber was solls...nach so einem Script habe ich gesucht...

              Leider:

              Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u/******/public_html/weiterleitung.php on line 7
              Ich habe allerdings den Parameter 'URL' mit www.bla.de/weiterleitung.php?url=xyz.de übergeben. Liegt es evtl daran?

              Kommentar


              • #8
                - benutze mysql_error()
                - laß dir die query ausgeben
                - register_globals
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Original geschrieben von derHund
                  hmm,

                  klar geht das.

                  rufst nicht den link auf sondern weiter.php?link_id=7 und zählst, bevor du weiterleitest ...

                  Frage zu dem wie erstelle ich so eine Datei mit der DB mysql.
                  Ausführliche Beschreibung ist gut . Da ich neu hier bin .

                  Geht das auch mit Views ?

                  vielen Dank im voraus

                  Kommentar


                  • #10
                    klar geht das. schattenbaum.net vermittelt grundlagen.

                    Kommentar


                    • #11
                      Ich hab mich an den Postings hier im Forum orientiert und verwende folgenden Code:

                      PHP-Code:
                      <html>
                      <head>
                      <?php
                      mysql_connect 
                      ('localhost','DBName','DBPasswort');
                      mysql_select_db ('klickcounter');
                      $result mysql_query("Select * from links WHERE id ='$id'");

                      while (
                      $row mysql_fetch_object($result)) {
                          
                      $ergebnis $row->hits;
                          
                      $addy $row->url;
                          
                      mysql_query("UPDATE `links`  SET hits=$ergebnis+1 WHERE id ='$id'");

                      echo
                      "<meta http-equiv=\"refresh\" content=\"0; URL=$addy\">"

                      }

                      mysql_close();
                      ?>

                      </head>
                      </html>
                      Nenne diese Datei weiterleitung.php...
                      Den Parameter ID übergibst du über die URL, z.B. http://www.deine-domain.de/weiterleitung.php?id=1

                      Um die Tabelle in der Datenbank anzulegen, solltest du dir phpMyAdmin installieren, sofern du nicht gerade mit Kommandozeile arbeiten möchtest.

                      Hast du phpMyAdmin installiert, musst du noch die Datei config.inc.php für PMA (phpMyAdmin) anpassen.

                      Anschliessend erstellst du eine Datenbank mit dem Namen klickcounter, wenn du obigen Code verwendest.

                      Nun musst du noch eine Tabelle anlegen, was du mit folgendem SQL Statement machst:
                      PHP-Code:
                      CREATE TABLE `klickcounter` (
                      `
                      idINT255 NOT NULL AUTO_INCREMENT ,
                      `
                      hitsVARCHAR255 NOT NULL ,
                      `
                      urlVARCHAR255 NOT NULL ,
                      PRIMARY KEY ( `id` )
                      ); 
                      Jetzt kannst du manuell Datensätze in die Tabelle einfügen, z.B.

                      ID = 1
                      hits = 0
                      URL = http://www.deine-domain.de/meinehtmlseite.html


                      Wenn du nun in deinem Browser die url http://www.deine-domain.de/weiterleitung.php?id=1 aufrufst, wird der Wert 'hits' bei jedem Klick um einen Punkt erhöht. Mit dem Wert ID, den du über die URL übergibst bestimmst du quasi, welcher Datensatz aus der Tabelle gewählt werden soll, also in welcher "Zeile" der Wert 'hits' erhöht werden soll und wie die Weiterleitungs URL lautet.

                      Kommentar


                      • #12
                        Vieeel zu umständlich der code!!!

                        PHP-Code:
                        <?php

                        mysql_connect 
                        ('localhost','DBName','DBPasswort');
                        mysql_select_db ('klickcounter');

                        $result mysql_query("Select url from links WHERE id ='$id' LIMIT 1");
                        $row mysql_fetch_assoc($result)
                        mysql_query("UPDATE `links`  SET hits=hits+1 WHERE id ='$id' LIMIT 1");
                        header('Location: ' $row['url'])

                        ?>
                        syntaktische fehler des Urhebers wurden NICHT berichtigt. NICHT getestet.

                        Kommentar


                        • #13
                          Wenn ich etwas mehr Zeit hätte, würde ich mich sicher auch mehr mit der Materie befassen und "sauberen" Code schreiben können...

                          Kommentar


                          • #14
                            ich hätte auch mal eine frage dazu.

                            ich habe jetzt folgenden code für die weiterleitung.php bzw. bei mir heisst sie call.php verwendet, der leider noch nicht ganz so funzt wie er soll. ich vermute aber, dass es nur eine kleinigkeit sein kann.

                            und zwar habe ich die variable id wie hier übergeben

                            http://www.meinedomain.com/call.php?id=1

                            die tabelle shoptable die ich damit anspreche und deren felder kann man im jpg im anhang des postings sehen.

                            zur Zeit bekomme ich immer den Fehler

                            PHP-Code:
                             Parse errorparse errorunexpected T_STRING in /verzeichnis/htdocs/call.php on line 11 
                            bin mir auch nicht sicher ob ich meine felder richtig hier eingebaut habe. warscheinlich irgendwo nicht?

                            kann mir jmd. helfen?



                            PHP-Code:
                            // call.php

                            <html>
                            <head>
                            <?php
                            mysql_connect 
                            ('*.*.*.*',"*****.com","******");
                            mysql_select_db ('DB1234');

                            $result mysql_query("Select linkadresse from shoptable WHERE ID ='$id'' LIMIT 1");
                            $row mysql_fetch_assoc($result)
                            mysql_query("UPDATE `shoptable`  SET hits=hits+1 WHERE ID ='$id' LIMIT 1");
                            header('Location: ' $row['linkadresse'])

                            mysql_close();
                            ?>
                            </head>
                            </html>
                            Zuletzt geändert von mannymanny; 07.03.2006, 12:11.

                            Kommentar


                            • #15
                              hier noch mal der screenshot meiner tabelle
                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X