hulp gezocht met PHP voor blog
Ik ben een website aan het maken (blog) en ben aan het werken aan een systeem om mijn blog te posten in een database via een formulier.
Dit gaat me nog redelijk goed af, maar ik loop nu tegen een aantal probleempjes.
Als je niet veel tijd hebt of geen zin hebt om hier naar te kijken en me te helpen,
dan zou ik nu alvast afhaken want ik geef je zo veel mogelijk informatie dat ik maar kan geven.
Mijn website is te bezoeken op:
http://stefandmindy2.netne.net/
Op de indexpagina kan je een voorbeeld zien van hoe een previewpblog eruit ziet.
De previewblog is niet de daadwerkelijke blog, maar een korte tekst die bezoekers uitnodigd om naar de echte blog te gaan.
Achter de schermen heb ik een inlogpagina en een blogposting pagina gemaakt.
Als ik een blog in de database post worden de volgende dingen in de database gezet:
de titel, de datum, de auteur, een preview tekst en de blog zelf.
(de tekst die je steeds ziet op de indexpagina is de de preview tekst)
Nu moet ik nog 3 dingen voor elkaar zien te krijgen op deze website:
- Universele blogpagina maken
- Afbeeldingen kunnen posten
- Reacties kunnen plaatsen
Ik begin maar bij het belangrijkste, de universele blogpagina:
Als je op de titel van de blog op de indexpagina klikt,
zou je doorverwezen moeten worden naar een pagina waar die blog helemaal staat.
Ik heb al begrepen dat ik een universele pagina moet maken en dat die universele pagina
dan te weten moet krijgen welke blog hij moet openen.
Ik kreeg een suggestie om te werken met:
Alleen weet ik niet hoe ik dit moet gebruiken en hoe dit dan werkt.
Zou iemand mij uit kunnen leggen hoe ik dit zou moeten verwezelijken?
Afbeeldingen posten:
Wat ik zou willen is dat ik, bij het posten van mijn blog, ook een afbeelding kan posten die dan gebruikt kan worden
voor de indexpagina. (nu heb ik maar een saai landschap)
Ik wil dus voor elke blog een andere afbeelding.
Als de link naar de afbeelding uit de database te halen is dan kan ik wel via css die als achtergrond van een div zetten tussen mijn html.
(zou dit mogelijk zijn?)
Maar ik heb sowiezo geen idee van hoe ik de afbeelding op mijn server zou moeten opslaan via een html form,
en hoe ik in de database ga zetten met het blogposten hoe de afbeelding heet.
Reacties kunnen plaatsen:
Uiteindelijk wil ik graag feedback kunnen ontvangen op mijn blogs en de website,
ik wil gebruik maken van het kunnen plaatsen van reacties.
Deze reacties zou je kunnen plaatsen onderaan de pagina bij de blog zelf (universele pagina)
De reacties moeten dus in een aparte tabel worden opgeslagen in de database met het blog id erbij,
zodat het daarna kan worden opgehaald door middel van de id.
Is dit een goede manier om een reactie systeem te maken?
Oke, nu mijn zooi aan website informatie/codes:
Mijn CSS: http://stefandmindy2.netne.net/default.css
Mijn indexpagina:
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?php
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<title>Stef&Mindy - Blogging2You</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="default.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<div id="header">
<div id="headertekst">
<p>
Stef&Mindy - Blogging2You
</p>
</div>
<div id="navcontainer">
<ul id="navlist">
<li> <a href="#"> Home </a> </li>
<li> <a href="#"> About Us </a> </li>
<li> <a href="#"> Blogs </a> </li>
<li> <a href="#"> Vlogs </a> </li>
<li> <a href="#"> Contact </a> </li>
</ul>
</div>
</div>
<div id="spacer"></div>
<div id="left">
<?PHP
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Titel,
Author,
Date,
Preview,
Bericht
FROM
blog
ORDER BY
ID
DESC LIMIT 4
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
echo '
<div id="prevblog">
<div id="prevblogphoto">
<div id="prevblogtitle">
<a href="#">' .$Row['Titel'].' </a>
</div>
</div>
<div id="prevblogtekst">
<p>' .nl2br($Row['Preview']). '</p>
</div>
<div id="prevblogfooter"><p> Date:' .$Row['Date']. ' Author:' .$Row['Author'].' Comments:</p>
</div>
</div>'
;}
}
}
?>
</div>
<div id="right">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
version: 2,
type: 'profile',
rpp: 4,
interval: 6000,
width: 250,
height: 300,
theme: {
shell: {
background: '#f03c00',
color: '#ffffff'
},
tweets: {
background: '#fffff0',
color: '#000000',
links: '#FFFFFF'
}
},
features: {
scrollbar: true,
loop: false,
live: false,
hashtags: true,
timestamp: true,
avatars: false,
behavior: 'all'
}
}
).render().setUser('stefandmindy').start();
</script><br>
</div>
</div><br>
<div id="footer">
<p>Copyright Stef&Mindy - Blogging2You - All rights Reserved 2010 - Design by: Stef van de Ven - Email: [email protected]</p>
</div>
<br>
</body>
</html>
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<title>Stef&Mindy - Blogging2You</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="default.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<div id="header">
<div id="headertekst">
<p>
Stef&Mindy - Blogging2You
</p>
</div>
<div id="navcontainer">
<ul id="navlist">
<li> <a href="#"> Home </a> </li>
<li> <a href="#"> About Us </a> </li>
<li> <a href="#"> Blogs </a> </li>
<li> <a href="#"> Vlogs </a> </li>
<li> <a href="#"> Contact </a> </li>
</ul>
</div>
</div>
<div id="spacer"></div>
<div id="left">
<?PHP
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Titel,
Author,
Date,
Preview,
Bericht
FROM
blog
ORDER BY
ID
DESC LIMIT 4
";
# Resultaat van de query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Fout in query
echo 'Foutje opgetreden: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'Er staan geen resultaten in de database.';
}
else
{
# While loop uitvoeren om gegevens te laten zien
while($Row = mysql_fetch_assoc($Result))
{
echo '
<div id="prevblog">
<div id="prevblogphoto">
<div id="prevblogtitle">
<a href="#">' .$Row['Titel'].' </a>
</div>
</div>
<div id="prevblogtekst">
<p>' .nl2br($Row['Preview']). '</p>
</div>
<div id="prevblogfooter"><p> Date:' .$Row['Date']. ' Author:' .$Row['Author'].' Comments:</p>
</div>
</div>'
;}
}
}
?>
</div>
<div id="right">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
version: 2,
type: 'profile',
rpp: 4,
interval: 6000,
width: 250,
height: 300,
theme: {
shell: {
background: '#f03c00',
color: '#ffffff'
},
tweets: {
background: '#fffff0',
color: '#000000',
links: '#FFFFFF'
}
},
features: {
scrollbar: true,
loop: false,
live: false,
hashtags: true,
timestamp: true,
avatars: false,
behavior: 'all'
}
}
).render().setUser('stefandmindy').start();
</script><br>
</div>
</div><br>
<div id="footer">
<p>Copyright Stef&Mindy - Blogging2You - All rights Reserved 2010 - Design by: Stef van de Ven - Email: [email protected]</p>
</div>
<br>
</body>
</html>
Mijn blogpost pagina:
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?PHP
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
/* Beveilig pagina zodat alleen geregistreerde gebruikers deze pagina kunnen bezoeken. */
require_once ('beveilig.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Stef&Mindy - Behind the scenes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="blogcreate.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<div id="formright">
<p>
Welkom bij de Control panel van Stef&Mindy Blogging2You!<br>
Hier kan je blogs aanmaken, verwijderen en aanpassen.<br><br>
Jouw gebruikersnaam: <?php echo $_SESSION['USER_Gebruikersnaam'] ?> <a href="Blogloguit.php">(Logout)</a>
</p>
</div>
<div id="createblog"><br>
<div id="createblogtitle">
<h>Maak een nieuwe blog</h>
</div>
<?PHP
/* Kijken of er iets gepost wordt. */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
/* Kijken of er op de knop GO wordt geklikt. */
if(isset($_POST['Go']))
{
/* Kijken of er een naam is ingevuld. */
if(isset($_POST['Titel']) && $_POST['Titel'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Author']) && $_POST['Author'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Date']) && $_POST['Date'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Preview']) && $_POST['Preview'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Bericht']) && $_POST['Bericht'] != '')
{
/* Query uitvoeren om de gegevens in de database te plaatsen. */
$cQuery =
"
INSERT INTO
blog
(
Titel,
Author,
Date,
Preview,
Bericht
)
VALUES
(
'".mysql_real_escape_string($_POST['Titel'])."',
'".mysql_real_escape_string($_POST['Author'])."',
'".mysql_real_escape_string($_POST['Date'])."',
'".mysql_real_escape_string($_POST['Preview'])."',
'".mysql_real_escape_string($_POST['Bericht'])."'
)
";
/* Resultaat van de query. */
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo 'Er is een fout opgetreden met het aanmaken van jouw bericht, <a href="javascript: history.go(-1)"class="link_orange">Terug</a>.';
exit();
}
else
{
/* Bericht is succesvol aangemaakt. */
echo '<p>Bericht succesvol aangemaakt!</p>';
}
}
else
{
/* bericht is niet geldig. */
echo 'U heeft geen bericht ingevult, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen preview ingevuld. */
echo 'U heeft geen preview ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen Datum ingevuld. */
echo 'U heeft geen datum ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen Author ingevuld. */
echo 'U heeft geen author ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen titel ingevuld. */
echo 'U heeft geen Titel ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
}
?>
<br>
<div class="textboxtop">
<form id="GB" name="Gastenboek bericht plaatsen" method="post" action="">
<input type="text" name="Titel" /class="tekst" value=" Titel "><br>
</div>
<div>
<input type="text" name="Author" /class="textbox2" value=" <?php echo $_SESSION['USER_Gebruikersnaam'] ?> "readonly><br>
</div>
<div>
<input type="text" name="Date" /class="textbox2" value=" <?php $datum=date("j M Y"); $maand['Jan']="januari"; $maand['Feb']="februari"; $maand['Mar']="maart";
$maand['Apr']="april"; $maand['May']="mei"; $maand['Jun']="juni"; $maand['Jul']="juli"; $maand['Aug']="augustus"; $maand['Sep']="september"; $maand['Oct']="oktober";
$maand['Nov']="november"; $maand['Dec']="december"; foreach($maand as $k=>$v){$datum=str_replace($k, $v, $datum);} echo $datum; ?>" readonly><br>
</div>
<div>
<textarea name="Preview" class="textbox1">Preview Tekst</textarea><br>
</div>
<div class="textbox">
<textarea name="Bericht">Schrijf hier je blog</textarea><br>
</div>
<div class="textboxbottom">
<input name="Go" type="submit" id="Go" value=" Post Bericht " /class="btn">
</form>
</div></div>
<div id="archive">
<h><center>Blog Archive</center></h>
</div>
</div>
<div id="footer">
<p>Copyright Stef&Mindy - Blogging2You - All rights Reserved 2010 - Design by: Stef van de Ven - Email: [email protected]</p>
</div><br>
</body>
</html>
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
/* Beveilig pagina zodat alleen geregistreerde gebruikers deze pagina kunnen bezoeken. */
require_once ('beveilig.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Stef&Mindy - Behind the scenes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="blogcreate.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="container">
<div id="formright">
<p>
Welkom bij de Control panel van Stef&Mindy Blogging2You!<br>
Hier kan je blogs aanmaken, verwijderen en aanpassen.<br><br>
Jouw gebruikersnaam: <?php echo $_SESSION['USER_Gebruikersnaam'] ?> <a href="Blogloguit.php">(Logout)</a>
</p>
</div>
<div id="createblog"><br>
<div id="createblogtitle">
<h>Maak een nieuwe blog</h>
</div>
<?PHP
/* Kijken of er iets gepost wordt. */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
/* Kijken of er op de knop GO wordt geklikt. */
if(isset($_POST['Go']))
{
/* Kijken of er een naam is ingevuld. */
if(isset($_POST['Titel']) && $_POST['Titel'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Author']) && $_POST['Author'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Date']) && $_POST['Date'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Preview']) && $_POST['Preview'] != '')
{
/* Kijken of er een bericht is ingevuld. */
if(isset($_POST['Bericht']) && $_POST['Bericht'] != '')
{
/* Query uitvoeren om de gegevens in de database te plaatsen. */
$cQuery =
"
INSERT INTO
blog
(
Titel,
Author,
Date,
Preview,
Bericht
)
VALUES
(
'".mysql_real_escape_string($_POST['Titel'])."',
'".mysql_real_escape_string($_POST['Author'])."',
'".mysql_real_escape_string($_POST['Date'])."',
'".mysql_real_escape_string($_POST['Preview'])."',
'".mysql_real_escape_string($_POST['Bericht'])."'
)
";
/* Resultaat van de query. */
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo 'Er is een fout opgetreden met het aanmaken van jouw bericht, <a href="javascript: history.go(-1)"class="link_orange">Terug</a>.';
exit();
}
else
{
/* Bericht is succesvol aangemaakt. */
echo '<p>Bericht succesvol aangemaakt!</p>';
}
}
else
{
/* bericht is niet geldig. */
echo 'U heeft geen bericht ingevult, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen preview ingevuld. */
echo 'U heeft geen preview ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen Datum ingevuld. */
echo 'U heeft geen datum ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen Author ingevuld. */
echo 'U heeft geen author ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
else
{
/* Geen titel ingevuld. */
echo 'U heeft geen Titel ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
}
?>
<br>
<div class="textboxtop">
<form id="GB" name="Gastenboek bericht plaatsen" method="post" action="">
<input type="text" name="Titel" /class="tekst" value=" Titel "><br>
</div>
<div>
<input type="text" name="Author" /class="textbox2" value=" <?php echo $_SESSION['USER_Gebruikersnaam'] ?> "readonly><br>
</div>
<div>
<input type="text" name="Date" /class="textbox2" value=" <?php $datum=date("j M Y"); $maand['Jan']="januari"; $maand['Feb']="februari"; $maand['Mar']="maart";
$maand['Apr']="april"; $maand['May']="mei"; $maand['Jun']="juni"; $maand['Jul']="juli"; $maand['Aug']="augustus"; $maand['Sep']="september"; $maand['Oct']="oktober";
$maand['Nov']="november"; $maand['Dec']="december"; foreach($maand as $k=>$v){$datum=str_replace($k, $v, $datum);} echo $datum; ?>" readonly><br>
</div>
<div>
<textarea name="Preview" class="textbox1">Preview Tekst</textarea><br>
</div>
<div class="textbox">
<textarea name="Bericht">Schrijf hier je blog</textarea><br>
</div>
<div class="textboxbottom">
<input name="Go" type="submit" id="Go" value=" Post Bericht " /class="btn">
</form>
</div></div>
<div id="archive">
<h><center>Blog Archive</center></h>
</div>
</div>
<div id="footer">
<p>Copyright Stef&Mindy - Blogging2You - All rights Reserved 2010 - Design by: Stef van de Ven - Email: [email protected]</p>
</div><br>
</body>
</html>
Als iemand mij zou kunnen helpen, dan zou ik dat hartstikke fijn vinden.
Dan kan ik eindelijk weer vooruit!
Met vriendelijke groet,
Stef van de Ven
p.s. ik sta altijd open voor goed onderbouwde kritiek, foutjes van mijn design kunsten,
ik ben een beginner dus ik kan alleen maar leren.
Gewijzigd op 01/01/1970 01:00:00 door Stef van de Ven
Er zijn nog geen reacties op dit bericht.