Nun ja manche von euch werden sich jezt fragen was eine Ref Seite ist. Es geht darum dass der User seinen eigenen Link bekommt diesen weiterverschickt und dafür ein Counter hochgezählt wird und er ab einer gewissen Klick Zahl etwas sieht.
Kommen wir zum Code:
Es werden 2 Tabellen benötigt. Einmal eine für die User und einmal eine für die Besucher. In meinem Beispiel ref für die User und ref2 für die Besucher.
Struktur zu ref:
ID |IP | Clicks
Ref2:
ID | IP
Was man nehmen muss Auto Increment und Index brauch ich ja jezt nicht erzählen...
$verbindung = mysql_connect ("Servername",
"Username", "Passwort")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("Datenbankenname")
or die ("Die Datenbank existiert nicht."); // Normaler Verbindungsaufbau
$ip = $_SERVER["REMOTE_ADDR"]; // IP-Adresse ermitteln
$id = mysql_real_escape_string($_GET["id"]); // ID aus der URL ermitteln
$qq = mysql_query("SELECT * FROM ref");
$row = mysql_fetch_object($qq);
if($row->id == $id AND $row->ip == $ip) // Wenn ID und IP gleich sind Daten für denn User anzeigen
{
if(($row->clicks)<= 10 )
{
echo "Du hast weniger als 10 Klicks"; // Hier können natürliche alle Daten rein die der User ab 10 oder unter 10 Klicks sehen soll
}
elseif(($row->clicks >= 10))
{
echo "Du hat mehr als 10 Klicks";
}
}
$query= mysql_query("SELECT * FROM `ref2` WHERE id='$id' AND ip='$ip'"); // Hier wird geguckt ob der Besucher schon einmal auf dieser ID war
if(mysql_num_rows($query) == "0" )
{
$q = mysql_query ("UPDATE ref SET clicks=clicks+1 WHERE id=$id"); //Wenn kein Eintrag gefunden wurde Counter für die ID erhöhen
$ins = mysql_query("INSERT INTO ref2 VALUES('$id','$ip')"); //Sichern dass ein zweites Mal nicht mehr vorkommt
}
elseif(mysql_num_rows($query)!= "0") // Andernfalls keine Aktion ausführen
{
echo "Du hast schon geklickt";
}
// Copyright by Stex. Darf frei verwendet werden
?>
Durch die Comments müsste das eigentlich selbsterklärend sein. Links werden dann natürlich so aussehen ref.php?id=XX . Nun könnte man da noch einen Link einbauen z.B Du willst deinen eigenen Link dann klicke hier dann kommt man zur
$verbindung = mysql_connect ("Servername",
"Username", "Passwort")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("Datenbankenname")
or die ("Die Datenbank existiert nicht."); // Normaler Verbindungsaufbau
$ip = $_SERVER["REMOTE_ADDR"]; // IP ermitteln
$q= mysql_query("SELECT * FROM ref WHERE ip='$ip'"); // Gucken ob der User schon einen Link hat
if(mysql_num_rows($q) == "0") //Wenn er keinen Link hat einen erstellen und Link ausgeben
{
$query= mysql_query("INSERT INTO ref(ip)
VALUES ('$ip')");
?>
Hier ist dein Link <a href="http:/localhost/ref.php?id=<?php echo mysql_insert_id(); ?>"> Dein Link </a>
<?php
}
else
{
echo "Du hast schon ein Link"; // Andernfalls sagen dass er schone einen Link hat
}
// Copyright by Stex. Darf frei verwendet werden.
?>
Bei Fragen oder so einfach hier reinschreiben. Wenn jemand ein Upload mit install etc alles wünscht wird das nachgereicht.
Post wurde schon 1x editiert, das letzte mal am 01.05.2010 um 21:40 von stex
Gibt immer möglichkeiten zu tricksen. Jedoch sehe ich grade ein, dass man evtl die Erkennung des Users ob es seine eigene Seite ist als Cookie machen sollte.
Naja Cookies sind irgendwo schon Web 2.0 Standard aber ich werd mich mal dran setzen und es noch ein bisschen perfektionieren. So viel ist das ja auch nicht.