Webstatt.org - Community seit 2006 - 2012 (2024?)

Einfacher Klickzähler

user-137
21.05.2006 15:13

Hallo,

ich habe für meine Page einen klickzähler gemacht:

<?php 
/* Cookie setzen */

setcookie("internetivpartnerklick","yes"zwinkern;

/* Cookie setzen Ende */
//
/* Aus Adresszeile Auslesen */

$id = $_GET['id'];
$tabelle = $_GET['tab'];

/* Aus Adresszeile Auslesen ENDE*/
//
/* Variablen zum addieren */

$abfrage = mysql_query("SELECT * FROM $tabelle WHERE id='$id'"zwinkern;
$row = mysql_fetch_object($abfrage);
$zahl = $row->name;
$ergebniss = $zahl++;

/* Variablen zum addieren ENDE */
//
/* Überprüfen ob mit dem Cookie bzw. der ID schon aufgerufen wurde */

if ($_COOKIE["internetivpartnerklick"]!="yes"zwinkern {
}

elseif {
}
/* Überprüfen ob mit dem Cookie bzw. der ID schon aufgerufen wurde ENDE */
//
/* Eins dazuzählen */
else {
mysql_query("INSERT INTO $tabelle WHERE id='$id' " . $ergebniss . ""zwinkern;

}
/* Eins dazuzählen ENDE */

?>


Mein Problem ist nun, ich will das in die Datenbank Tabelle: "ip" die IP des Besuchers eingetragen wird, zur sicherheit, falls er keine Cookies hatt.
Nur wie trage ich die ip's ein, und trenne sie durch " # ", und erkene das beim überprüfen auch, also splite es??

Mfg. BNS

Avatar user-118
21.05.2006 15:34

Original von user-137

[...]

if ($_COOKIE["internetivpartnerklick"]!="yes"zwinkern {
}

elseif #hier fehlt die bedingung
{
}
/* Überprüfen ob mit dem Cookie bzw. der ID schon aufgerufen wurde ENDE */
//
/* Eins dazuzählen */
else {
mysql_query("INSERT INTO $tabelle WHERE id='$id' " . $ergebniss . ""zwinkern;

}
/* Eins dazuzählen ENDE */

?>




Wieso trägst du nicht einfach jede ip einzeln ein?
Dann brauchst nichts splitten oder sowas ..

mfg Alex

Ich brauche keine Signatur
user-137
21.05.2006 15:36

Aber
dan müsste ich eine neue tabelle machen, usw. und das ist wie du siehst ein script das ich für durch GET steuere, und ich brauche es für mom, 10 Seiten, dan müsste ich 10 extra Tabellen machen, und bei jeder neuerung noch ein, das ist mir mehr arbeit als etwas zu coden das splitet!

Kann mir sonst keiner helfen??

Mfg. BNS

user-137
21.05.2006 15:38

Ach, so weit bin ich jetzt:

//
/* IP speichern wenn noch nicht vorhanden */

$abfrageip = mysql_query("SELECT * FROM $tabelle WHERE id='$id'"zwinkern;
$rowip = mysql_fetch_object($abfrageip);
$rowip->ip;


/* IP speichern ENDE */


Das hab ich unter Cookies eingefügt, nun will ich die Tabelle nach der IP die der user hat durchsuchen, wenn vorhanden nichts tun, wenn nicht vorhanden eintragen, nur habe ich leider keinen plan!

Avatar user-118
21.05.2006 15:47

//
/* IP speichern wenn noch nicht vorhanden */

$abfrageip = mysql_query("SELECT * FROM $tabelle'"zwinkern;
while ($rowip = mysql_fetch_object($abfrageip)) {
if (!$rowip->ip == $REMOTE_ADDR) {
$senden = mysql_query("INSERT INTO $tabelle ip VALUES $REMOTE_ADDR"zwinkern;
}

/* IP speichern ENDE */



mhhh hoffentlich sind keine Fehler drin, ist grade in der Eile improvisiert.

mfg Alex

Ich brauche keine Signatur
user-137
21.05.2006 15:49

Teusch ich mich, oder werden die einfach so hintereinander eingetragen wie kann ich sie trennen, z.B. durch "#"

Avatar user-118
21.05.2006 16:11

Was zum Teufel willst du denn trennen ?

willst du die in eine Tabellezeile eintragen und dann sowas da drin haben

127.0.0.1#127.0.0.25#127.0.0.7#127.0.0.1


oder was ?

Ist doch totaler quatsch das so einzutragen. Wieso benutzt die nicht einfach die Methode , die ich dir vorgeschlagen haben. user-158n hast du eine Tabelle , in der du die klicks zählts und eine in der du die Ip's loggst.

Wo ist das Problem ?

mfg Alex

Ich brauche keine Signatur
user-137
21.05.2006 16:22

Das will ich ja eben nicht, weil ich nicht 10-20 Tabellen extra machen will!

Avatar user-118
21.05.2006 16:25

Original von user-137
Das will ich ja eben nicht, weil ich nicht 10-20 Tabellen extra machen will!


Wieso 10 bis 20 Tabellen extra ? Du kannst doch link-ids vergeben.

Ich brauche keine Signatur
Avatar user-168
21.05.2006 16:34

Du sollst nicht 20 Tabellen anlegen, sondern eine Tabelle.

Die Tabelle hat dann beispielsweise die folgenden Felder:

ID - einfach zum Hochzählen (auto-increase am besten)
Link - zu welchem Link der Eintrag gehört
IP - die gespeicherte IP
Zeit - Zeitpunkt des Eintrags

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-137
21.05.2006 16:43

Original von user-137
Aber
dan müsste ich eine neue tabelle machen, usw. und das ist wie du siehst ein script das ich für durch GET steuere, und ich brauche es für mom, 10 Seiten, dan müsste ich 10 extra Tabellen machen, und bei jeder neuerung noch ein, das ist mir mehr arbeit als etwas zu coden das splitet!

Kann mir sonst keiner helfen??

Mfg. BNS


Deshalb 10-20!

Avatar user-168
21.05.2006 16:46

Willst du damit 10 Seiten einer Website steuern oder die diversen Pages einer einzelnen Website???

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-137
21.05.2006 16:53

Original von user-168
Willst du damit 10 Seiten einer Website steuern oder die diversen Pages einer einzelnen Website???


Deshalb ja auch die GET übertragung! Ich habe keine lust für jedes immer eine einzelne Datei zu machen!

Avatar user-255
21.05.2006 16:55

Nimm den chCounter.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-168
21.05.2006 17:00

Original von user-137
Original von user-168
Willst du damit 10 Seiten einer Website steuern oder die diversen Pages einer einzelnen Website???


Deshalb ja auch die GET übertragung! Ich habe keine lust für jedes immer eine einzelne Datei zu machen!


Selbst dann verstehe ich nicht dein Problem. Ob man nun den Dateinamen, den Inhalt der Get-Variable oder sonst nen Schmarn als Wiedererkennungsmerkmal in die DB einträgt.... Das ist doch nun wirklich egal. :tired:

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-137
21.05.2006 17:11

Original von user-255
Nimm den chCounter.


Ich wollt es aber alleine machen, wie die Fertigen nie richtig gehen!
Und ich habe doch nur diese zwei Probleme:

1. Überprüfen ob vorhanden, ja = nichts nein = eintragen(Durch "#" trennen)
2. Überprüfen ob IP vorhanden

Ich will doch nur das wissen!

Avatar user-118
21.05.2006 17:17

Original von user-137
Original von user-255
Nimm den chCounter.


Ich wollt es aber alleine machen, wie die Fertigen nie richtig gehen!
Und ich habe doch nur diese zwei Probleme:

1. Überprüfen ob vorhanden, ja = nichts nein = eintragen(Durch "#" trennen)
2. Überprüfen ob IP vorhanden

Ich will doch nur das wissen!



Manchmal soll es auch am Anwender liegen, dass fertig Script nicht auf Anhieb funktionieren.
Ich würde dir auch den chCounter empfehler, Nutze ich auch , und der ist wirklich sehr gut und umfangreich, und du kannst sogar fast nichts falsch machen.

mfg Alex

Ich brauche keine Signatur
user-137
21.05.2006 17:29

Manchmal soll es auch am Anwender liegen, dass fertig Script nicht auf Anhieb funktionieren.
Ich würde dir auch den chCounter empfehler, Nutze ich auch , und der ist wirklich sehr gut und umfangreich, und du kannst sogar fast nichts falsch machen.

mfg Alex


Deshalb frage ich ja hier nach!

Avatar user-168
21.05.2006 18:01

Du kommst mit einem fertigen Script nicht klar, aber willst selbst eins schreiben??? böse

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-137
21.05.2006 18:30

Original von user-168
Du kommst mit einem fertigen Script nicht klar, aber willst selbst eins schreiben??? böse


Genau!!! Ich will einmal fernüftig sein, und meine ganze Page selber machen!

user-137
24.05.2006 11:49

Also ich habe den Code soweit umgeproggt, ich mache es jetzt "nur" auf Cookies:
Nur Leider wird nicht's dazu gezählt!

<?php 
$page_titel = 'Weiterleitung..';
/* Aus Adresszeile Auslesen */

$typ = $_GET['typ'];
$id = $_GET['id'];
$tabelle = $_GET['tab'];

/* Aus Adresszeile Auslesen ENDE*/
//
/* Cookie setzen */

setcookie("internetiv" . $typ . "klick" . $id . "","yes" . $id . ""zwinkern;

/* Cookie setzen Ende */?>
<!-- Hier beginnt das einbinnden der config.ini.php -->
<?php include("function.ini.php"zwinkern; ?>
<!-- Hier endet das einbinnden der config.ini.php -->

<!-- Hier beginnt das einbinnden der config.ini.php -->
<?php include("config.ini.php"zwinkern; ?>
<!-- Hier endet das einbinnden der config.ini.php -->
<?php
/* Variablen zum addieren */

$abfrage = mysql_query("SELECT * FROM $tabelle WHERE id='$id'"zwinkern;
$row = mysql_fetch_object($abfrage);
$zahl = $row->klick;
$ergebniss = $zahl++;

/* Variablen zum addieren ENDE */
//
/* Überprüfen ob mit dem Cookie bzw. der ID schon aufgerufen wurde */

if ($_COOKIE["internetiv" . $typ . "klick" . $id . ""]!="yes" . $id . ""zwinkern {
}
/* Überprüfen ob mit dem Cookie bzw. der ID schon aufgerufen wurde ENDE */
//
/* Eins dazuzählen */
else {
mysql_query("INSERT INTO $tabelle (klick) WHERE id='$id' VALUES (" . $ergebniss . "zwinkern"zwinkern;
}
/* Eins dazuzählen ENDE */
?>