Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » REF Seite    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
     REF Seite Zitat | Bearbeiten

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.




Post wurde schon 1x editiert, das letzte mal am 01.05.2010 um 21:40 von stex
01.05.2010, 21:32 Profil | PM | E-Mail  
WaRnuk3r
Mitglied
Anfänger


Dabei seit: 27.10.2009
Herkunft: keine Angabe
Posts: 62
      Zitat | Bearbeiten

Cooler script, gute Arbeit


01.05.2010, 21:41 Profil | PM | E-Mail  
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
      Zitat | Bearbeiten

BUHUHUHU

Jezt hab ich mir so viel Mühe gegeben und keine Meinungen *schluchz*


02.05.2010, 22:07 Profil | PM | E-Mail  
asdf
Mitglied
Guter User


Dabei seit: 26.10.2009
Herkunft: keine Angabe
Posts: 449
      Zitat | Bearbeiten

Zitat:
Cooler script, gute Arbeit


ist wohl auch eine meinung! oder?

und ich gebrauche momentan nicht so ein script. da ich an meinem cms arbeite und dort sehe ich keinen vorteil so ein script zu haben!


03.05.2010, 19:31 Profil | PM | E-Mail  
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
      Zitat | Bearbeiten

Ist halt gebrauchssache

Ging mir eigentlich mehr um Verbesserungsvorschläge oder sonstiges


03.05.2010, 19:56 Profil | PM | E-Mail  
Mogria
Mitglied
Sehr guter User


Dabei seit: 30.04.2010
Herkunft: Schweiz
Posts: 614
      Zitat | Bearbeiten

Und was ist wenn du den Router neustartest ? ^^
Da bringt das mit der IP nicht viel ;-)

Ich starte den Jeden Tag mindestens 1 Mal neu


08.05.2010, 13:15 Profil | PM | E-Mail  
Gast


      Zitat | Bearbeiten

Normaler weise nimmt man einen Cookie und die IP zur Prüfung.

Natürlich kann man den Cookie löschen und die IP Ändern, darum ist eine Manipulation immer möglich.




08.05.2010, 14:02  
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
      Zitat | Bearbeiten

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.


08.05.2010, 15:14 Profil | PM | E-Mail  
Mogria
Mitglied
Sehr guter User


Dabei seit: 30.04.2010
Herkunft: Schweiz
Posts: 614
      Zitat | Bearbeiten

Falls der Cookies ausgehschalten hat?
Kommt zwar nur selten vor, doch ich würd es mindestens mit einer Session kombinieren.




Post wurde schon 1x editiert, das letzte mal am 08.05.2010 um 19:40 von Mogria
08.05.2010, 19:35 Profil | PM | E-Mail  
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
      Zitat | Bearbeiten

Hmm man kann nicht jeden retten oder ?


08.05.2010, 21:36 Profil | PM | E-Mail  
Mogria
Mitglied
Sehr guter User


Dabei seit: 30.04.2010
Herkunft: Schweiz
Posts: 614
      Zitat | Bearbeiten

Doch kann man, aber nur wenn man will ;-)


09.05.2010, 00:36 Profil | PM | E-Mail  
stex
Mitglied
Sehr guter User


Dabei seit: 14.04.2009
Herkunft: Hannover
Posts: 650
      Zitat | Bearbeiten

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.


09.05.2010, 00:38 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » REF Seite   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz