Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 21.05.06 17:13

Hallo,

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

<?php
/* Cookie setzen */

setcookie("internetivpartnerklick","yes");

/* 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'");
$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") {
}

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 . "");

}
/* 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

netcup.de Warum gibt es hier Werbung?
Al3x0r Al3x0r am 21.05.06 17:34

Quote
Original von BNightSpeeder
[...]

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

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 . "");

}
/* Eins dazuzählen ENDE */

?>




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

mfg Alex

BNightSpeeder am 21.05.06 17: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

BNightSpeeder am 21.05.06 17:38

Ach, so weit bin ich jetzt:

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

$abfrageip = mysql_query("SELECT * FROM $tabelle WHERE id='$id'");
$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!

Al3x0r Al3x0r am 21.05.06 17:47

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

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

/* IP speichern ENDE */



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

mfg Alex

BNightSpeeder am 21.05.06 17:49

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

Al3x0r Al3x0r am 21.05.06 18: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. Dann 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

BNightSpeeder am 21.05.06 18:22

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

Al3x0r Al3x0r am 21.05.06 18:25

Quote
Original von BNightSpeeder
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.

Dustwolf Dustwolf am 21.05.06 18: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

BNightSpeeder am 21.05.06 18:43

Quote
Original von BNightSpeeder
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!

Dustwolf Dustwolf am 21.05.06 18:46

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

BNightSpeeder am 21.05.06 18:53

Quote
Original von Dustwolf
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!

milahu milahu am 21.05.06 18:55

Nimm den chCounter.

Dustwolf Dustwolf am 21.05.06 19:00

Quote
Original von BNightSpeeder
[quote]Original von Dustwolf
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![/quote]

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:

BNightSpeeder am 21.05.06 19:11

Quote
Original von milahu
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!

Al3x0r Al3x0r am 21.05.06 19:17

Quote
Original von BNightSpeeder
[quote]Original von milahu
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![/quote]


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

BNightSpeeder am 21.05.06 19:29

Quote
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!

Dustwolf Dustwolf am 21.05.06 20:01

Du kommst mit einem fertigen Script nicht klar, aber willst selbst eins schreiben??? :evil:

BNightSpeeder am 21.05.06 20:30

Quote
Original von Dustwolf
Du kommst mit einem fertigen Script nicht klar, aber willst selbst eins schreiben??? :evil:


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

BNightSpeeder am 24.05.06 13: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 . "");

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

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

$abfrage = mysql_query("SELECT * FROM $tabelle WHERE id='$id'");
$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 . "") {
}
/* Ü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 . ")");
}
/* Eins dazuzählen ENDE */
?>

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt