Eigenen Counterservice
Hi,Heute programmieren wir einen eigenen Counterservice, wie hier auf webstylez.net.
Die Datenbank:
CREATE TABLE counter (
id bigint(20) NOT NULL auto_increment,
mail longtext,
name longtext,
homepage longtext,
iplog longtext,
count bigint(20),
cid bigint(20),
PRIMARY KEY (id)
);
OK, jetzt kommen wir zur Aufklärung:
-id wird automatisch vergeben
-iplog ist die IP des letzten Aufrufers
-count ist der Counterstand
-cid ist die Zufallszahl, mit der man den Counter aufruft
Der Rest sollte klar sein...
2. Registrieren
Jetzt kommt unsere 1. PHP-Datei...
<?php
include ('config.php');
$linkhandle = mysql_connect($server, $user, $pw);
mysql_select_db($db, $linkhandle);
srand((double)microtime()*1000000);
$cid = rand(199,24548974);
$query = "INSERT INTO counter (name,mail,count,homepage, cid) VALUES ('$name','$mail','1','$homepage', '$cid')";
mysql_query($query);
echo "Ihre Kundennummer ist '$cid' . Ihren Counter können sie unter <a href="http://www.huhu.de/service/counter.php?cid='$cid'" target="_blank">www.huhu.de/service/counter.php?cid=</a>$cid abfragen."
?>
<form action="<?=$PHP_SELF?>" method=POST>
<input type=text name="name" value="Name">
<input type=text name="mail" value="eMail">
<input type=text name="homepage" value="Homepage">
<input type=submit value="Anmelden">
</form>
Speichert diesen Code als: reg.php
srand((double)microtime()*1000000);
$cid = rand(199,24548974);
Erzeugt die Zufallszahl...
$query = "INSERT INTO counter (name,mail,count,homepage, cid) VALUES ('$name','$mail','1','$homepage', '$cid')";
mysql_query($query);
Schreibt Daten in die Tabelle der Datenbank
3. config.php
<?
$server="localhost";
$user="xxx";
$pw="xxx";
$db = "xxx";
?>
<?
include ('config.php');
$linkhandle = mysql_connect($server, $user, $pw);
mysql_select_db($db, $linkhandle);
$query = "SELECT * FROM counter WHERE cid = ".$cid;
$res = mysql_query($query);
$res_arr = mysql_fetch_array($res);
$ips = explode(";", $res_arr[iplog]);
$a = count($ips);
while($a >= 0){
if($_SERVER['REMOTE_ADDR'] == $ips[$a]) $check_var = true;
$a--;
}
if(!$check_var){
$ips[0] = '';
$iplog = "$REMOTE_ADDR";
$query = "UPDATE counter SET count = count+1, iplog = '$iplog' WHERE arrn = '$arrn'";
mysql_query($query);
}
echo "$res_arr[count]<br>Ein Service von:<br>Dieser HP";
?>
Speichert diese Datei als: counter.php,aber wenn ihr eine grafische schöne Ausgabe haben wollte nehmt den Code:
<?
include ('config.php');
$linkhandle = mysql_connect($server, $user, $pw);
mysql_select_db($db, $linkhandle);
$query = "SELECT * FROM counter WHERE cid = ".$cid;
$res = mysql_query($query);
$res_arr = mysql_fetch_array($res);
$ips = explode(";", $res_arr[iplog]);
$a = count($ips);
while($a >= 0){
if($_SERVER['REMOTE_ADDR'] == $ips[$a]) $check_var = true;
$a--;
}
if(!$check_var){
$ips[0] = '';
$iplog = "$REMOTE_ADDR";
$query = "UPDATE counter SET count = count+1, iplog = '$iplog' WHERE arrn = '$arrn'";
mysql_query($query);
}
$nullstr = str_repeat("0", 8 - strlen($res_arr[count]));
$ausgabe = $nullstr.$res_arr[count];
include("image.php");
?>
Erklärung:
$nullstr = str_repeat("0", 8 - strlen($res_arr[count]));
$ausgabe = $nullstr.$res_arr[count];
macht nichts anderes als den Counter 8-Stellig zu machen, und die freien Stellen mit 0 zu füllen
Dazu müsst ihr dann aber diese Grafiken laden images.zip.
Und braucht noch die Datei image.php:
<?php
header ("Content-type: image/jpeg");
$im = @imagecreatefromjpeg("image.jpg")
or die ("Cannot Initialize new GD image stream");
// $background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 233, 14, 91);
$text_color2 = imagecolorallocate ($im, 16, 24, 96);
imagestring ($im, 6, 15, 5, $ausgabe, $text_color);
imagejpeg ($im);
?>
Nun braucht ihr nur noch ein Bild,dass ihr image.jpg nennt:
Hier das Bild

Ihr könnt in dieses Bild auch noch ein Copyright reinmachen ;)!
Flo
Quelle siehe Kommentare

Kommentare
Das Bild sieht man nicht
okay Fehler behoben
okay Fehler behoben
Ist das Tut net geklaut ?
<br>http://lyrics2003.de/tut1
Jo das Tutorial kommt mir auch bekannt vor ( Link von Tha Bob )
nein,ich hab das System nur mal gesehn :-),aber ist doch cool,aber wenn du guckst sind auch unterschiede im Tut-Script. Außerdem haben es jetzt auch die,die es nicht kannten,aber ich kannte den Link wirklich nicht
Das kann nur geklaut sein allein wegen dieser ZEile:
<br>$cid = rand(199,24548974);
<br>die ist genau identisch
UNd das Image ist auch das gleich ;)
naja gut,aber ich hab sooo wenig Webpoints gekriegt,da hat das kopieren mühe gemacht. Und ich kenne diese Seite wirklich nicht. Nun haben auch die das Tut, die die Site nicht kannten
dann lasst es löschen, ich will mich nicht zum Verbrecher machen ;)
nö das bleibt ;D
<br>editiere es dann eben und gib dann halt den Link an von wem du es hast ;))
Parse error: parse error, unexpected T_STRING, expecting ´,´ or ´;´ in /home/www/htdocs/skate-for-fun.de/MFv3/Counterservice/reg.php on line 13
<br>
<br>
<br>
<br>Warum ????
Problehm gelöst ! Hab mir nun selber einen gecodet ... besser und mit internen Bereich ;) wer intresse an dem ding hat solls hier rein schreiben dann mach ich es hier al tutorial !
Das Bidl sieht man immernoch nicht!
jo schreibs hier rein ;)
Das Teil funktioniert nicht. Ich kann zwar einen Counter erstellen aber es wird kein Counter angezeigt wenn ich auf den Link mit der CID klicke. woran liegt das??
Hallo,
<br>
<br>gibt es derzeit eine möglichkeit das so viel angepreise counter system mit internen bereich zu bekommen??
<br>
@phigi ..
ich bin interessiert!