linksysteem

Gesponsorde koppelingen

PHP script bestanden

  1. linksysteem

« Lees de omschrijving en reacties

Alleereerst de databaseverbinding.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// Database gegevens.
$db_host = '';         // Server
$db_user = '';         // Gebruikersnaam
$db_pass = '';         // Wachtwoord
$db_name = '';         // Database
  
mysql_connect($db_host, $db_user, $db_pass) or die('Er kon geen verbinding met de server worden gemaakt.');
mysql_select_db($db_name) or die('Ik kon de juiste database niet vinden.');
?>


Op de webpagina waar je het overzicht van de linkjes wilt hebben voeg je de volgende code toe (of include je).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
//Database verbinding maken
require_once('databaseverbinding.php');

//We halen alle linkjes op met een SQL Query.
$query         = "SELECT naam, id, omschrijving FROM affiliatie ORDER BY naam ASC";
$resultaat     = mysql_query($query);
        
//Als er resultaat is en er één of meerdere linkjes zijn...
if($resultaat && mysql_num_rows($resultaat) >= 1)
{

    //... gaan we alle linkjes en hun omschrijving laten zien.
    while($rij = mysql_fetch_array($resultaat))
    {

        $naam            = stripslashes($rij['naam']);
        $omschrijving    = stripslashes($rij['omschrijving']);        
        $id                = $rij['id'];
        
        echo '<p><a href="?actie=uitgaand&amp;linkid='.$id.'" target="_blank">'.ucfirst($naam).'</a> '.$omschrijving.'</p>';
    }
}

?>


Bovenaan de index.php, of welke andere pagina de bovenstaande linkjes naartoe verwijzen (je kan ook een speciale link.php o.i.d. aanmaken) zet je de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
if($_SERVER['REQUEST_METHOD'] == "GET")
{

    if(isset($_GET['actie']))
    {

        //Is de actie toegestaan?
        $acties = array('inkomend','uitgaand');
        $actie = mysql_real_escape_string($_GET['actie']);
        
        if(in_array($actie,$acties))
        {

            if(isset($_GET['linkid']))
            {

                if(is_numeric($_GET['linkid']))
                {

                    $linkid = mysql_real_escape_string($_GET['linkid']);
                    
                    //Updaten die handel!
                    $query = "UPDATE affiliatie SET ".$actie." = ".$actie." + 1 WHERE id = ".$linkid."";
                    $resultaat = mysql_query($query);
                    
                    //Als het updaten gelukt is, en de actie is uitgaand...
                    if($resultaat && (mysql_affected_rows() == 1) && $actie == 'uitgaand')
                    {

                        //We halen de url op
                        $query = "SELECT url FROM affiliatie WHERE id = ".$linkid."";
                        $resultaat = mysql_query($query);
                        
                        if($resultaat && mysql_num_rows($resultaat) == 1)
                        {

                            $rij = mysql_fetch_array($resultaat);
                            $url = stripslashes($rij['url']);
                
                            //Doorsturen die handel!
                            header('Location:'.$url.'');
                        }
                    }                    
                }
else{
                    echo 'Sorry, dit accepteer ik niet.';
                }
            }
        }
else{
            echo 'Sorry, deze actie is niet toegestaan';
        }
    }
}

?>


Uiteraard hebben we ook een administratie systeem nodig. Vrij eenvoudig maar wel werkend. Je moet hem zelf nog beveiligen met een loginsysteem of een .htaccess.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<h2>Links toevoegen</h2>
<?php

require_once('databaseverbinding.php');

if($_SERVER['REQUEST_METHOD'] == "POST")
{

    if(isset($_POST['naam']) && isset($_POST['url']) && isset($_POST['omschrijving']))
    {

        $naam             = mysql_real_escape_string($_POST['naam']);
        $url             = mysql_real_escape_string($_POST['url']);
        $omschrijving    = mysql_real_escape_string($_POST['omschrijving']);
        
        $query = "INSERT INTO affiliatie (naam, url, omschrijving) VALUES('".$naam."','".$url."','".$omschrijving."')";
           $resultaat = mysql_query($query);
           
           if($resultaat)
        {

            echo '<p id="reden">De link is succesvol toegevoegd!</p>';
        }
else{
            echo '<p id="reden">Sorry, er ging iets mis bij het updaten van de database!</p>';
        }
    }
}

?>


<form method="post" name="formulier" action="">
<table>
<tr>
<td width="100">Naam:</td>
<td><input type="input" name="naam"></td>
</tr>
<tr>
<td>Url:</td>
<td><input type="input" name="url"></td>
</tr>
<tr>
<td>Omschrijving:</td>
<td><textarea name="omschrijving" rows="5" cols="40">Beschrijving van de link...</textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Toevoegen" name="verstuur"> <input type="reset" value="Wis Formulier"></td>
</tr>
</table>
</form>

<h2>Links verwijderen</h2>

<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{

    if(!empty($_POST['delete']))
    {

        $i = 0;
        $ii = 0;
        
        foreach($_POST['delete'] as $id)
        {

            $query = "DELETE FROM affiliatie WHERE id =".mysql_real_escape_string($id)."";
            $resultaat = mysql_query($query);
                        
            if($resultaat && (mysql_affected_rows() == 1))
            {

                $i++;
            }
else{
                $ii++;
            }
        }

        
        echo '<p id="reden">De database is geupdate, er zijn '.$i.' records goed verwijderd en '.$ii.' mislukt!</p>';
    }
}


$query     = "SELECT id, naam, url, inkomend, uitgaand FROM affiliatie ORDER BY naam";
$resultaat     = mysql_query($query);
                
if ($resultaat && (mysql_num_rows($resultaat) >= 1))
{

?>

<form method="post" name="formulier" action="">
<table>
<tr>    
<td></td>
<td><b>Naam:</b></td>
<td><b>Url:</b></td>
<td><b>Inkomend:</b></td>
<td><b>Uitgaand:</b></td>
</tr>
<?php
while($rij = mysql_fetch_array($resultaat))
{

    echo '<tr>';
    echo '<td><input type="checkbox" name="delete[]" value="'.$rij['id'].'"></td>';
    echo '<td>'.ucfirst($rij['naam']).'</td>';
    echo '<td><a href="'.$rij['url'].'" target="_blank">'.$rij['url'].'</a></td>';
    echo '<td>'.$rij['inkomend'].'</td>';
    echo '<td>'.$rij['uitgaand'].'</td>';
    echo '</tr>';
}

?>

<tr>
<td>&nbsp;</td>
<td colspan="4"><input type="submit" value="Verwijderen" name="verstuur"> <input type="reset" value="Wis Formulier"></td>
</tr>
</table>
</form>

<?php
    
}else{
    echo '<p>Sorry, er staan nog geen links in de database!</p>';
}

?>


Zo, nu rest mij alleen nog de databasecode:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
CREATE TABLE affiliatie (
    id int(11) NOT NULL auto_increment,
    naam varchar(255) NOT NULL,
    omschrijving text NOT NULL,
    url varchar(255) NOT NULL,
    inkomend int(11) NOT NULL default '0',
    uitgaand int(11) NOT NULL default '0',
    PRIMARY KEY  (id)
);


Als iets niet duidelijk is of niet werkt hoor ik het graag...

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.