Persoonlijke favorieten
Ik heb het al heel vaak geprobeerd te maken en ook al heel vaak gezocht, maar het is me nooit gelukt :(.
Kan iemand me helpen? Alvast bedankt :)
Code (php)
1
2
3
4
5
2
3
4
5
<?
$sql = "SELECT * FROM favorieten WHERE ip = '".$_SERVER['REMOTE_ADDR'];
[/code]
Deze query heb je nodig....
Je slaat het IP adres op en de link van de favorieten pagina en klaar ben je, lijkt me niet zo moeilijk
$sql = "SELECT * FROM favorieten WHERE ip = '".$_SERVER['REMOTE_ADDR'];
[/code]
Deze query heb je nodig....
Je slaat het IP adres op en de link van de favorieten pagina en klaar ben je, lijkt me niet zo moeilijk
Gewijzigd op 01/01/1970 01:00:00 door Drodr
Ik zal een voorbeeldje voor je maken. Momentje!
Jan Koehoorn schreef op 15.12.2006 18:42:
Ik zal een voorbeeldje voor je maken. Momentje!
stuur hem eens :D
Oke, bedankt dat je zoveel moeite voor me doet :)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require '../db_config.php';
function get_ip () {
if (@getenv ($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = @getenv ($_SERVER['HTTP_X_FORWARDED_FOR']);
}
elseif (@getenv ($_SERVER['HTTP_CLIENT_IP'])) {
$ip = @getenv ($_SERVER['HTTP_CLIENT_IP']);
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array ();
$values = array ();
foreach ($_POST as $key => $value) {
if (empty ($value)) {
array_push ($errors, '<p class="error">Niets ingevuld bij <strong>' . $key . '</strong></p>');
}
else {
$values[$key] = mysql_real_escape_string ($value);
}
}
}
$ip = get_ip ();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Voeg je favorieten toe</title>
<style type="text/css">
h1 {
font: bold 14px arial;
}
h2 {
font: bold 12px verdana;
}
p, input, label {
font: 12px verdana;
}
label {
float: left;
width: 100px;
text-align: right;
}
.indent {
margin-left: 100px;
}
form {
border: 1px solid #ccc;
padding: 9px;
}
input.large {
width: 500px;
}
p.error {
color: red;
}
</style>
</head>
<body>
<h1>Sla je eigen favorieten op</h1>
<h2>Jouw ip adres is: <?php echo $ip; ?></h2>
<form method="post" action="#">
<p>
<label for="titel">titel:</label>
<input id="titel" name="titel" type="text" class="large" value="<?php if (isset ($_POST['titel'])) echo $_POST['titel']; ?>">
</p>
<p>
<label for="url">url:</label>
<input id="url" name="url" type="text" class="large" value="<?php if (isset ($_POST['url'])) echo $_POST['url']; ?>">
</p>
<p>
<input type="submit" value="opslaan" class="indent">
</p>
</form>
<?php
if (isset ($errors) && !empty ($errors)) {
foreach ($errors as $error) {
echo $error;
}
}
elseif (isset ($values)) {
$sql = "
INSERT INTO favorieten
(
titel,
url,
datumtijd,
ip
)
VALUES
(
'" . $values['titel'] . "',
'" . $values['url'] . "',
NOW(),
'" . $ip . "'
)
";
if (mysql_query ($sql)) {
echo '<p>De link <strong>' . $values['titel'] . '</strong> is toegevoegd</p>';
}
elseif (mysql_errno () == 1062) {
echo '<p class="error">Die url staat al bij je favorieten</p>';
}
else {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
}
?>
<h1>Jouw favorieten:</h1>
<?php
$sql = "
SELECT titel, url
FROM favorieten
WHERE ip = '" . $ip . "'
ORDER BY datumtijd DESC
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p><a href="' . $row['url'] . '">' . $row['titel'] . '</a></p>';
}
}
?>
<h1>Favorieten van anderen:</h1>
<?php
$sql = "
SELECT titel, url, ip
FROM favorieten
WHERE ip != '" . $ip . "'
ORDER BY datumtijd DESC
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
$next_ip = '';
while ($row = mysql_fetch_assoc ($res)) {
if ($next_ip != $row['ip']) {
echo '<h2>Favorieten van ' . $row['ip'] . '</h2>';
$next_ip = $row['ip'];
}
echo '<p><a href="' . $row['url'] . '">' . $row['titel'] . '</a></p>';
}
}
?>
</body>
</html>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
require '../db_config.php';
function get_ip () {
if (@getenv ($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = @getenv ($_SERVER['HTTP_X_FORWARDED_FOR']);
}
elseif (@getenv ($_SERVER['HTTP_CLIENT_IP'])) {
$ip = @getenv ($_SERVER['HTTP_CLIENT_IP']);
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array ();
$values = array ();
foreach ($_POST as $key => $value) {
if (empty ($value)) {
array_push ($errors, '<p class="error">Niets ingevuld bij <strong>' . $key . '</strong></p>');
}
else {
$values[$key] = mysql_real_escape_string ($value);
}
}
}
$ip = get_ip ();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Voeg je favorieten toe</title>
<style type="text/css">
h1 {
font: bold 14px arial;
}
h2 {
font: bold 12px verdana;
}
p, input, label {
font: 12px verdana;
}
label {
float: left;
width: 100px;
text-align: right;
}
.indent {
margin-left: 100px;
}
form {
border: 1px solid #ccc;
padding: 9px;
}
input.large {
width: 500px;
}
p.error {
color: red;
}
</style>
</head>
<body>
<h1>Sla je eigen favorieten op</h1>
<h2>Jouw ip adres is: <?php echo $ip; ?></h2>
<form method="post" action="#">
<p>
<label for="titel">titel:</label>
<input id="titel" name="titel" type="text" class="large" value="<?php if (isset ($_POST['titel'])) echo $_POST['titel']; ?>">
</p>
<p>
<label for="url">url:</label>
<input id="url" name="url" type="text" class="large" value="<?php if (isset ($_POST['url'])) echo $_POST['url']; ?>">
</p>
<p>
<input type="submit" value="opslaan" class="indent">
</p>
</form>
<?php
if (isset ($errors) && !empty ($errors)) {
foreach ($errors as $error) {
echo $error;
}
}
elseif (isset ($values)) {
$sql = "
INSERT INTO favorieten
(
titel,
url,
datumtijd,
ip
)
VALUES
(
'" . $values['titel'] . "',
'" . $values['url'] . "',
NOW(),
'" . $ip . "'
)
";
if (mysql_query ($sql)) {
echo '<p>De link <strong>' . $values['titel'] . '</strong> is toegevoegd</p>';
}
elseif (mysql_errno () == 1062) {
echo '<p class="error">Die url staat al bij je favorieten</p>';
}
else {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
}
?>
<h1>Jouw favorieten:</h1>
<?php
$sql = "
SELECT titel, url
FROM favorieten
WHERE ip = '" . $ip . "'
ORDER BY datumtijd DESC
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p><a href="' . $row['url'] . '">' . $row['titel'] . '</a></p>';
}
}
?>
<h1>Favorieten van anderen:</h1>
<?php
$sql = "
SELECT titel, url, ip
FROM favorieten
WHERE ip != '" . $ip . "'
ORDER BY datumtijd DESC
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo htmlentities ($sql);
echo '</pre>';
}
else {
$next_ip = '';
while ($row = mysql_fetch_assoc ($res)) {
if ($next_ip != $row['ip']) {
echo '<h2>Favorieten van ' . $row['ip'] . '</h2>';
$next_ip = $row['ip'];
}
echo '<p><a href="' . $row['url'] . '">' . $row['titel'] . '</a></p>';
}
}
?>
</body>
</html>
Zou het ook kunnen dat je bijvoorbeeld op een link klikt en dan een bepaalde titel en url toegevoegd wordt?
Hoe bedoel je?
Gewijzigd op 01/01/1970 01:00:00 door Drodr
En waar zou die link moeten staan? Op een andere pagina? Dan kun je er niet bij met je PHP code. Op je eigen pagina? Hoe komt hij er dan op?
Drodr schreef op 15.12.2006 19:27:
Dat je op een link klikt en dat er dan automatisch een bepaalde titel en url toegevoegd wordt aan je favorieten, zodat de mensen niet meer zelf kunnen bepalen welke titel en welke url ze willen toevoegen (net zo iets als de PHPhulp favorieten)
De PHP hulp favorieten zijn interne links. Dat is een ander verhaal want dan weet je de url al.
Nogmaals bedankt dat je het voor me hebt gemaakt :)
edit: bij mijn site weet je de url dan ook al want het is een clip script en dan kun je bij de url zo doen: <a href="?pagina=play&id='.$add['id'].'">
Maar als het niet kan laat dan maar zitten hoor!
Gewijzigd op 01/01/1970 01:00:00 door Drodr
Als het gaat om een interne link, dan zou je er een soort link naast kunnen maken, iets als "toevoegen aan favorieten".
Als je dat doet, dan wordt het script wel ietsje ingewikkelder dan mijn voorbeeld. De link zou er ongeveer zo uit moeten zien:
<a href="?link_id=1&action=addtofavs">toevoegen aan favorieten</a>
Het link_id moet dan al bekend zijn omdat het uit een tabel komt. Via $_GET['action'] kun je detecteren dat iemand een link aan zijn favorieten wil toevoegen.
Gewijzigd op 01/01/1970 01:00:00 door Drodr
Dat kan wel, maar dan moet je heel erg oppassen met vreemde tekens. Daarom had ik het gedaan met een link_id, zodat je hem uit je DB kunt trekken.
Oke, in dat geval zal ik het met het formulier doen, bedankt voor je hulp!
Oh, by the way, zou je de SQL tabellen will posten?
Ja, misschien kun je er een tekstje bijzetten met een uitleg over knippen en plakken. Dat verhoogt de gebruiksvriendelijkheid nog een beetje :-)