linksysteem
Alleereerst de databaseverbinding.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
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.');
?>
// 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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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&linkid='.$id.'" target="_blank">'.ucfirst($naam).'</a> '.$omschrijving.'</p>';
}
}
?>
//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&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)
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
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';
}
}
}
?>
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)
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
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> </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> </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>';
}
?>
<?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> </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> </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)
1
2
3
4
5
6
7
8
9
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)
);
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...