PHP-Einfach.de PHP lernen leicht gemacht

Navigation
» Startseite
» Newsübersicht
» Kontakt
» Impressum

Community
» Forum
» Gästebuch

Tutorial
» PHP Tutorial
» MySQL Tutorial
» PHP
» MySQL
» Codeschnipsel

Downloads
» Einführung
» Scripts
» Command Board

Sonstiges
» md5-Generator
» Generator
» Wissenswertes

PHP lernen


Dieses Projekt wird unterstützt von
Lichteffekte Shop

 
Partner:
PHP Forum
Mathe Nachhilfe
Suchmaschinenoptimierung

REF Seite

Zurück zur Übersicht

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...

So nun die

ref.php
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:

<?php

  $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";
            }
    }


  
$querymysql_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


anmelden.php
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:

<?php

  $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

  
$qmysql_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
  
{
    
$querymysql_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.

Kommentare

Zurück zur Übersicht

Autor stex

News
13.08 - » Spam im Gästebuch
Endlich Schluss mit dem Spam

08.12 - » Clanletter 2.0
Clanletter wurde komplett neu programmiert

01.09 - » Command Board 1.0 - 2.0
Das Command Board 1.0 Beta 2.0 ist erschienen


Mehr

Forum
» Entwickler Forum

» insert nach login

» Tabellenzelle zu groß







© PHP-Einfach.de 2003 - 2012