Ankündigung

Einklappen
Keine Ankündigung bisher.

Counter zählt die Klicks nicht...

Einklappen

Neue Werbung 2019

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

  • Counter zählt die Klicks nicht...

    Hallo,
    ich habe ein Counter Script das Klicks auf einen Link zählen und diese dann auf eine Spalte in einer MySQL Tabelle addieren soll.
    Leider funktioniert es nicht und ich hab keine Ahnung woran es liegen könnte. habe auch schon sehr viel ausprobiert.

    <?php
    $host = "localhost";
    $user = "name";
    $pass = "pw";
    $dbase = "dbname";
    $connection = mysql_connect("$host" , "$user" , "$pass") or die;
    $db = mysql_select_db($dbase , $connection) or die;

    $query="SELECT * FROM privat where id='".strip_tags($_REQUEST["user"])."'";
    $result= mysql_query($query, $connection) or die
    ("Fehler: $query." . mysql_error());

    $row=mysql_fetch_array($result);
    $LINK = $row['LINK'];
    $gesundheit1 = $row['gesundheit1'];

    $query="update privat set gesundheit1 = gesundheit1+'1' where id='".strip_tags($_REQUEST["user"])."'";
    $result= mysql_query($query) or die (mysql_error());
    header("Location: $LINK");
    ?>

    Der Link eingebaut :

    <img src="balkenanfang.gif" height="10"><img src="balkenmitte.gif" height="10" width="<?= $row->gesundheit1 ?>"><img src="balkenende.gif" height="10">
    <br><a href="count.php?id=<?=$row->id ?>" target="blank">pflegen</a>

    Hat jemand ne Idee wo der Fehler sein könnte?


  • #2
    count.php?id=<?=$row->id ?>

    $_REQUEST["user"]

    ich glaube da muss ich nichts weiter zu sagen oder?

    Kommentar


    • #3
      der obere PHP Teil ist aber für sich.
      Der untere wird auf einer anderen Seite eingebaut wo alle daten eines Users der sich eingelogged hat erfragt werden.

      Quasi so :

      <?php
      include("header.php");
      include("db.php");
      include("functions.inc.php");
      if(exist("privat WHERE id = '".strip_tags($_REQUEST["user"])."'")) {
      $abfrage = "SELECT * FROM privat WHERE id = '".strip_tags($_REQUEST["user"])."' LIMIT 0,1";
      $ergebnis = mysql_query($abfrage);
      while($row = mysql_fetch_object($ergebnis))
      {
      ?>

      Kommentar


      • #4
        Dann geb doch mal mehr Infos... mit "funktioniert nicht" kann hier keiner was anfangen...

        Kommentar


        • #5
          strip_tags ist nicht zum Sichern von SQL Parametern geeignet. Mysql hat keine Probleme mit HTML Sonderzeichen. Wenn Du mysql_query verwendest, brauchst Du mysql_real_escape_string.
          Was passiert mit
          PHP-Code:
          <?php
          error_reporting
          (E_ALL);
          ini_set('display_errors'1);
          if (!isset(
          $_REQUEST['user']))
          {
            die(
          'REQUEST[user] fehlt');
          }
          $host "localhost";
          $user "name";
          $pass "pw";
          $dbase "dbname";
          $connection mysql_connect("$host"$user"$pass") or die(mysql_error());
          $db mysql_select_db($dbase $connection) or die(mysql_error($connection));
          $sql_userid mysql_real_escape_string($_REQUEST["user"], $connection);

          $query="update privat set gesundheit1 = gesundheit1+'1' where id='$sql_userid'";
          $resultmysql_query($query$connection) or die (mysql_error());
          if (
          mysql_affected_rows($connection)>0)
          {
            
          $query="SELECT LINK FROM privat where id='$sql_userid'";
            
          $resultmysql_query($query$connection) or die (mysql_error());
            
          $row mysql_fetch_array($result);
            if (
          $row===false || !isset($row['LINK']))
            {
              
          var_dump($row);
              exit;
            }
            
          header("Location: " $row['LINK']);
          }
          ?>
          ?

          Kommentar


          • #6
            also, wenn ich es eingebaut habe gibt es keine fehlermeldung.
            Der Link der angeklickt wird mit counter.php führt zum Verzeichnis anstatt zum angegebenen Link. Außerdem wird wie gesagt auch nicht die Spalte mit +1 addiert.

            Kommentar


            • #7
              hab das von David probiert.
              es kommt folgende meldung :

              REQUEST[user] fehlt

              Kommentar


              • #8
                Dann ist eben doch der Link das Problem. id ist nicht user.

                Kommentar


                • #9
                  Zitat von David Beitrag anzeigen
                  strip_tags ist nicht zum Sichern von SQL Parametern geeignet. Mysql hat keine Probleme mit HTML Sonderzeichen. Wenn Du mysql_query verwendest, brauchst Du mysql_real_escape_string.
                  Was passiert mit
                  PHP-Code:
                  <?php
                  error_reporting
                  (E_ALL);
                  ini_set('display_errors'1);
                  if (!isset(
                  $_REQUEST['user']))
                  {
                    die(
                  'REQUEST[user] fehlt');
                  }
                  $host "localhost";
                  $user "name";
                  $pass "pw";
                  $dbase "dbname";
                  $connection mysql_connect("$host"$user"$pass") or die(mysql_error());
                  $db mysql_select_db($dbase $connection) or die(mysql_error($connection));
                  $sql_userid mysql_real_escape_string($_REQUEST["user"], $connection);

                  $query="update privat set gesundheit1 = gesundheit1+'1' where id='$sql_userid'";
                  $resultmysql_query($query$connection) or die (mysql_error());
                  if (
                  mysql_affected_rows($connection)>0)
                  {
                    
                  $query="SELECT LINK FROM privat where id='$sql_userid'";
                    
                  $resultmysql_query($query$connection) or die (mysql_error());
                    
                  $row mysql_fetch_array($result);
                    if (
                  $row===false || !isset($row['LINK']))
                    {
                      
                  var_dump($row);
                      exit;
                    }
                    
                  header("Location: " $row['LINK']);
                  }
                  ?>
                  ?
                  strip_tags entfernt aber alle html und php befehle in dem sting, was zumindest in meinen augen bei gästebüchern etc ganz praktisch ist... klar das die sachen escaped werden müssen...
                  Under Construktion

                  Kommentar


                  • #10
                    Also in die Tabellenspalte habe ich eine einfache URL eingetragen... auch mit http ...

                    Kommentar


                    • #11
                      Zitat von areUkidding Beitrag anzeigen
                      Also in die Tabellenspalte habe ich eine einfache URL eingetragen... auch mit http ...
                      Ich verstehe nicht, was Du damit sagen willst.
                      Wenn Du das Skript über einen Link aufrufen möchtest, muss im Link irgendwo user=irgendwas stehen. Also zum Beispiel http://localhost/dasSkript.php?user=345

                      Kommentar

                      Lädt...
                      X