Welkom, Gast. Je bent niet ingelogd.

PHPlay Linkpartner systeem

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 20:28
PimpCoins: 0
💸+
Bewerken Quote

Hey,

Ik (NickD) en Badeendje gaan een php/mysql doen om onze skills wat op te krikken .

Het gaat een link partner systeem worden en ik doe dus de aftrap met de db connectie.

features:

- ins en outs tellen (unieke hits dus word gecontroleerd dmv. ip logs)
- open admin (Later misschien beveiligd)- admin moet eerst links goedkeuren
- wijzigen / verwijderen dmv. ip controle

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

//DB connectie
$connect["gebruikersnaam"] = "iets";
$connect["paswoord"] = "xxx";
$connect["host"] = "xxx";
$connect["dbnaam"] = "linkpartners";

mysql_connect($connect["host"],$connect["gebruikersnaam"],$connect["paswoord"]) or die ("Er kan geen connectie worden gemaakt met de host")
mysql_select_db($connect["linkpartners"]) or die ("Er is geen database gevonden met de gedefineerde naam!")


 ?>

badeendje 2e stap: klik
NickD 3e stap: klik
badeendje 4e stap: klik
NickD 5e stap: klik
badeendje 6e stap: klik
NickD 7e stap: klik

Modbreak

Titel aangepast zodat iedereen weet waarom het gaat.

[Laatst bewerkt door NickD op maandag 5 maart 2007, om 11:43]
Artofdead
Master Fish
Geplaatst op: 04 Mar 2007, 20:29
PimpCoins: 0
💸+
Bewerken Quote

Veel succes

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 20:30
PimpCoins: 0
💸+
Bewerken Quote

thx m8!
zal ik hard nodig hebben

Badeendje
Pompehdompehdom
moderator
Geplaatst op: 04 Mar 2007, 20:30
PimpCoins: 0
💸+
Bewerken Quote

ok, mijn stap komt later/morgen wel, maar ik ga een database class gebruik maken, is wat makkelijker

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 04 Mar 2007, 20:34
PimpCoins: 0
💸+
Bewerken Quote

Badeendje schreef:

ok, mijn stap komt later/morgen wel, maar ik ga een database class gebruik maken, is wat makkelijker

Onnodig om weer helemaal een class ervoor te gaan maken Gebruik mijne gewoon

En veel plezier

Badeendje
Pompehdompehdom
moderator
Geplaatst op: 04 Mar 2007, 20:36
PimpCoins: 0
💸+
Bewerken Quote

iisys schreef:

[...]
Onnodig om weer helemaal een class ervoor te gaan maken Gebruik mijne gewoon

oke iisysz Database class
code ga ik ervoor geeneens plaatsen die staat hierow dan al klikjah

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE `linkpartners` (
  `id` mediumint(4) NOT NULL auto_increment,
  `sitenaam` varchar(50) default NULL,
  `url` varchar(75) default NULL,
  `email` varchar(75) default NULL,
  `tijd` int(10) default NULL,
  `geaccepteerd` enum('0','1') NOT NULL default '0',
  `ins` mediumint(7) default NULL,
  `outs` mediumint(7) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM

[Laatst bewerkt door Badeendje op zondag 4 maart 2007, om 20:43]
Artofdead
Master Fish
Geplaatst op: 04 Mar 2007, 20:36
PimpCoins: 0
💸+
Bewerken Quote

iisys schreef:

[...]
Onnodig om weer helemaal een class ervoor te gaan maken Gebruik mijne gewoon

En veel plezier


dat is vals spele

Florian
kunjeditzien:')?
Geplaatst op: 04 Mar 2007, 20:36
PimpCoins: 0
💸+
Bewerken Quote

Succes, ben benieuwd .

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 20:37
PimpCoins: 0
💸+
Bewerken Quote

ok, leuk dat je 't ok ff tegen mij privé heb vermeld badeendje xD
Met classes heb ik nog nooit gewerkt dus ik zie wel

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 04 Mar 2007, 20:38
PimpCoins: 0
💸+
Bewerken Quote

Soaddemon schreef:

[...]
dat is vals spele

Tuurlijk niet Is gewoon een al bestaande class gebruiken, net zoals je dir() gebruikt als je die nodig zou hebben in je systeem. dir() ga je toch ook niet eerst opnieuw schrijven

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 20:47
PimpCoins: 0
💸+
Bewerken Quote

jaa lol
ik begrijp geen reet van die hele klas maar 't zal wel, zolang de database maar connect met 't script hou ik 't vol

Maarten
Geplaatst op: 04 Mar 2007, 20:51
PimpCoins: 0
💸+
Bewerken Quote

NickD schreef:

jaa lol
ik begrijp geen reet van die hele klas maar 't zal wel, zolang de database maar connect met 't script hou ik 't vol

het is class maar veel succes enzo..

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 21:11
PimpCoins: 0
💸+
Bewerken Quote

omg hoe ik zo dom zijn door klas te schrijven xD

maar dit de derde stap van mij:

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
<?php

include("/class/connection.php");

$querry = "SELECT * FROM linkpartners WHERE geaccepteerd = '1' ORDER BY id DESC";
    $querry2 = mysql_querry($querry);
        while ($data = mysql_fetch_array($querry2); {
        
            $sitenaam = $data["sitenaam]";
            $url = $data["url]";
            $ins = $data["ins]";
            $outs = $data["outs"];
            
            ?>
            
            <table border = "1">
                <tr>
                    <td>Naam</td>
                    <td><?php echo $sitenaam; ?></td>
                </tr>
                <tr>
                    <td>Bezoek!</td>
                    <td><a href="<?php echo $url; ?>">Bezoek!</a></td>
                </tr>
                <tr>
                    <td>Ins</td>
                    <td><?php echo $ins; ?></td>
                </tr>
                <tr>
                    <td>Outs</td>
                    <td><?php echo $outs; ?></td>
                </tr>
            </table>
            
        <?php } ?>

[Laatst bewerkt door NickD op zondag 4 maart 2007, om 21:26]
Thomaz
'
Geplaatst op: 04 Mar 2007, 21:13
PimpCoins: 0
💸+
Bewerken Quote

Waarom zo:

1
2
3
4
5
6
7
8
<?php

            $sitenaam = $data["sitenaam]"; 
            $url = $data["url]"; 
            $ins = $data["ins]"; 
            $outs = $data["outs"]; 

?>

En niet gewoon bij de echo $data['outs']; gebruiken?

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 21:15
PimpCoins: 0
💸+
Bewerken Quote

lol je hebt eigenlijk wel gelijk, weet eigenlijk niet waarom ik 't zo deed. misschien dat ik 't nog verander maar opzich maakt 't niet zo veel uit geloof ik

[Laatst bewerkt door NickD op maandag 5 maart 2007, om 11:40]
Badeendje
Pompehdompehdom
moderator
Geplaatst op: 04 Mar 2007, 21:37
PimpCoins: 0
💸+
Bewerken Quote

NickD schreef:

omg hoe ik zo dom zijn door klas te schrijven xD

maar dit de derde stap van mij:

[...]

Van de connection class gebruik gemaakt en de foutjes (voor zover ik zag dan) weggewerkt:

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
<?php
include "class/connection.php";

$db =  new Connection;
$db -> Connection();

$query = $db -> Query("SELECT id, sitenaam, url, ins, outs FROM linkpartners WHERE geaccepteerd = '1' ORDER BY id DESC");

if (mysql_num_rows($query) == '0')
{

die ('Er zijn geen linkpartners gevonden.');

}

    echo '<table border="1">
            <tr>
                <td>Naam:</td>
                <td>inhits</td>            
                <td>outhits</td>
            </tr>';
            
while ($data = mysql_fetch_assoc($query)) 
 {
 
echo '<tr>
        <td>- <a href="out.php?id=' . $db -> SafeOutput($data['id']) . '"  title="' . $db -> SafeOutput($data['ins']) . ' inkomende kliks, ' . $db -> SafeOutput($data['outs']) . ' uitgaande kliks" target="_blank">' . $db -> SafeOutput($data['sitenaam']) . '</a><br></td>
        <td>' . $db -> SafeOutput($data['ins']) . '</td>
        <td>' . $db -> SafeOutput($data['outs']) . '</td>
     </tr>';
 
 }
 
echo '</table>';

$db -> Disconnect();

?>

succes nick

[Laatst bewerkt door Badeendje op maandag 5 maart 2007, om 00:03]
Hunterseaker
Geplaatst op: 04 Mar 2007, 21:46
PimpCoins: 0
💸+
Bewerken Quote

Cool, ik ga dit topic maar eens volgen....

NickD
Kurosaki Kun!!
Geplaatst op: 04 Mar 2007, 22:49
PimpCoins: 0
💸+
Bewerken Quote

ok,

dit is dus out.php?id=?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

include "class/connection.php";

$db =  new Connection;
$db -> Connection(); 

if(isset($_get['id']) && (is_numeric($_get['id']))) {

    $query = $db -> UpdateRow("UPDATE linkpartners SET outs = outs+1 WHERE id = '".$_get['id']."'") or die (mysql_error()); 
    
        $var = $db -> Query("SELECT url FROM linkpartners WHERE id = '".$_GET['id']."'") or die(mysql_error());
        
            $variable = mysql_fetch_array($var);
                
                header("Location: http://".$variable['url']);
                exit("U wordt nu doorgestuurd");
}

$db -> Disconnect(); 

?>

[Laatst bewerkt door NickD op zondag 4 maart 2007, om 22:53]
Badeendje
Pompehdompehdom
moderator
Geplaatst op: 04 Mar 2007, 23:59
PimpCoins: 0
💸+
Bewerken Quote

de nieuwe out.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
<?php
include "class/connection.php";
include "functions.php";

$db =  new Connection;
$db -> Connection();
 
 if(isset($_GET['id']) && (ctype_digit($_GET['id']))) {

        $query = $db -> Query("SELECT url FROM linkpartners  WHERE id = '" . $_GET['id'] . "'");

        $num = mysql_num_rows($query);

if ($num != '0')
 {

         $db -> Query("UPDATE linkpartners SET outs = outs + 1 WHERE id = '" . $_GET['id'] . "'"); 
         $db -> Query("INSERT INTO linkinout (link_id, ip, hostname) VALUES ('" . $_GET['id'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . gethostbyaddr($_SERVER['REMOTE_ADDR']) . "')");

         $sendto =  mysql_fetch_assoc($query);

         redirect($sendto['url'], 3);

 } else {

     echo 'Dit is geen bestaande linkpartner, u wordt binnen 3 seconden doorverwezen naar de mainpagina';
     redirect("http://www.jouwsite.nl", 3);

 }

 } else {

    echo 'Dit is geen bestaande linkpartner, u wordt binnen seconden doorverwezen naar de mainpagina';
    redirect("http://www.jouwsite.nl", 3);

 }

$db -> Disconnect();

?>

Zoals je ziet zit er een functions.php bij:

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
<?php
function redirect($invoer, $tijd)
{
    ?>
    <br>
    Je wordt doorverwezen binnen <span id="countdown"></span> seconden. 
    <script>
        var targetURL="<?=$invoer?>"
        var countdownfrom=<?=$tijd?>
        
        var currentsecond=document.getElementById('countdown').innerHTML=countdownfrom+1
        function countredirect()
        {
            if (currentsecond!=1)
            {
                currentsecond-=1
                document.getElementById('countdown').innerHTML=currentsecond
            }
            else
            {
                window.location=targetURL
                return
            }
            setTimeout("countredirect()",1000)
        }
        
        countredirect()
        //-->
    </script>    
    <?
}
?>

En zoals je misschien ook ziet zit er een nieuwe table bij:

1
2
3
4
5
6
7
CREATE TABLE `linkinout` (
  `id` mediumint(4) NOT NULL auto_increment,
  `link_id` mediumint(4) default NULL,
  `ip` varchar(39) collate latin1_general_ci NOT NULL default '',
  `hostname` varchar(128) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM

Succes met de ip check of die persoon al eens op die link geklikt heeft, zoja, dan moet er bij de posts geen 1 bijgeteld worden, aangezien ik nu slaapjes ga doen

[Laatst bewerkt door Badeendje op maandag 5 maart 2007, om 08:39]
Lennard
?
Geplaatst op: 05 Mar 2007, 07:29
PimpCoins: 0
💸+
Bewerken Quote

Kunnen jullie alles niet gewoon een beetje gezond uitlijnen?

NickD
Kurosaki Kun!!
Geplaatst op: 05 Mar 2007, 10:56
PimpCoins: 0
💸+
Bewerken Quote

hoe bedoel je gezond uitlijnen?

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 05 Mar 2007, 11:34
PimpCoins: 0
💸+
Bewerken Quote

Mja en gebruik je nou mijn class? Zo ja, dan is deze line niet nodig:
$db -> Connection();

En je kan er nog efficiënter gebruik van maken. Ik zal als ik thuis ben ff een voorbeeldje posten.

NickD
Kurosaki Kun!!
Geplaatst op: 05 Mar 2007, 11:41
PimpCoins: 0
💸+
Bewerken Quote

Ok heb de out.php aangepast voor de ip controle
(ik weet niet of ik 't zo goed doe, reacties graag )

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
47
48
49
50
51
<?php
include "class/connection.php";
include "functions.php";

$db =  new Connection;
$db -> Connection();
 
 if(isset($_GET['id']) && (ctype_digit($_GET['id']))) {
 
    $q = $db -> Query("SELECT * FROM linkinout WHERE id = '" . $_GET['id'] . "'");
    $r = $db -> Query("SELECT url FROM linkpartners WHERE id = '" . $_GET['id'] . "'");
    
    while ($check = mysql_fetch_array($q) {
            if($check['ip'] == '$_SERVER['REMOTE_ADDR']' && $check['hostname'] == gethostbyaddr($_SERVER['REMOTE_ADDR']) {
                reddirect($r, 3); 
            } else {                    
    
    
 if(isset($_GET['id']) && (ctype_digit($_GET['id']))) {

        $query = $db -> Query("SELECT url FROM linkpartners  WHERE id = '" . $_GET['id'] . "'");

        $num = mysql_num_rows($query);

if ($num != '0')
 {

         $db -> Query("UPDATE linkpartners SET outs = outs + 1 WHERE id = '" . $_GET['id'] . "'"); 
         $db -> Query("INSERT INTO linkinout (link_id, ip, hostname) VALUES ('" . $_GET['id'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . gethostbyaddr($_SERVER['REMOTE_ADDR']) . "')");

         $sendto =  mysql_fetch_assoc($query);

         redirect($sendto['url'], 3);

 } else {

     echo 'Dit is geen bestaande linkpartner, u wordt binnen 3 seconden doorverwezen naar de mainpagina';
     redirect("http://www.jouwsite.nl", 3);

 }

 } else {

    echo 'Dit is geen bestaande linkpartner, u wordt binnen seconden doorverwezen naar de mainpagina';
    redirect("http://www.jouwsite.nl", 3);

 }}

$db -> Disconnect();

?>

Saven
admin
Geplaatst op: 05 Mar 2007, 11:48
PimpCoins: 0
💸+
Bewerken Quote

NickD schreef:

omg hoe ik zo dom zijn door klas te schrijven xD

maar dit de derde stap van mij:

[...]


$querry2 = mysql_querry($querry);

querry?

Saven
admin
Geplaatst op: 05 Mar 2007, 11:49
PimpCoins: 0
💸+
Bewerken Quote

NickD schreef:

Ok heb de out.php aangepast voor de ip controle
(ik weet niet of ik 't zo goed doe, reacties graag )

[...]


Je moet wel de database class gebruiken he

📫

Nieuw privébericht

🔥

Registreren


Login