Gastenboek, bericht lay-out
Ik plaats een bericht zoals:
"Hallo allemaal,
Het was een heel leuk weekend,
ik hoop dat we dit nog eens over kunnen doen!
Groetjes,
Stef"
Dit bericht wordt in mijn database opgeslagen en op het gastenboek lezen pagina worden de berichten weergegeven. Het zelfde bericht ziet er zo uit in mijn berichten weergeven pagina:
"Hallo allemaal, Het was een heel leuk weekend, ik hoop dat we dit nog eens over kunnen doen! Groetjes, Stef"
Alles staat aan elkaar geschreven.
Ik wil er voor zorgen dat mijn berichten opgeslagen en getoond worden met de lay-out waarin de gebruiker het bericht heeft geschreven.
Mijn PHP voor het schrijven van het bericht:
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
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
<?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['Naam']) && $_POST['Naam'] != '')
{
/* 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
gastenboek
(
Naam,
Email,
Bericht
)
VALUES
(
'".mysql_real_escape_string($_POST['Naam'])."',
'".mysql_real_escape_string($_POST['Email'])."',
'".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 'Bericht succesvol aangemaakt!<br><br>';
}}
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 gnaam ingevuld. */
echo 'U heeft geen naam ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
}
?>
/* 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['Naam']) && $_POST['Naam'] != '')
{
/* 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
gastenboek
(
Naam,
Email,
Bericht
)
VALUES
(
'".mysql_real_escape_string($_POST['Naam'])."',
'".mysql_real_escape_string($_POST['Email'])."',
'".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 'Bericht succesvol aangemaakt!<br><br>';
}}
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 gnaam ingevuld. */
echo 'U heeft geen naam ingevuld, <a href="javascript: history.go(-1)"class="link_orange">Terug</a><br><br>';
exit();
}
}
}
?>
Heeft iemand een oplossing?
Bij het opslaan hoeft er niks te gebeuren. Je moet alleen even nl2br() aanroepen bij het tonen van het bericht.
Mijn php voor berichten tonen:
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
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# 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="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
;}
}
}
?>
# Errors weergeven
error_reporting(E_ALL);
# Query uitvoeren
$Query =
"
SELECT
ID,
Naam,
Bericht
FROM
gastenboek
ORDER BY
ID
DESC
";
# 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="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
;}
}
}
?>
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
vervangen voor dit:
echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>' . nl2br($Row['Bericht']) . '</p><br></div></div><br>'
Dat zou moeten werken...
het werkt perfect!
Als er meerdere berichten in mijn gastenboek komen te staan dan gaan er berichten uit de lay-out van de website verschijnen.
Ik laat de berichten achter elkaar zien, alleen wil ik niet dat er zoveel berichten op een pagina komen te staan.
Hoe zou ik dit op kunnen lossen?
Door met meerdere pagina's te werken?
Door een maximum aantal berichten te stellen?
Of hoe wordt dit normaal gedaan en hoe zou ik dit moeten doen?
alvast bedank!
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Stef van de Ven