Nieuwe reactie bovenaan
Ik heb een goed werkend gastenboek, alleen als ik een nieuw bericht plaats, komt die onderaan te staan, dat werkt niet egt. Is er een manier die ervoor zorgt dat een nieuw bericht ALTIJD bovenaan komt te staan?
bvd
Frans
Jah, door in je mysql query DESC te typen.
eh sorry, is geen mysql gastenboek, alleen php:/
Hoe worden de berichten dan opgeslagen?
in een berichten.php bestand
Een gastenboek zonder DB is af te raden. Je hebt met data te maken, dus gebruik een database. Hoe sla je nu je data op? In platte tekst files?
je hebt hem niet zelf gemaakt (A)
ok de script:
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
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
<?php
$verbodentekens = array("<", ">", "&");
$schelden = array("fuck","fack", "f*ck",
"Fuck", "Fack", "F*ck", "shit",
"Shit", "kanker", "Kanker", "k@nker",
"K@nker", "kank3r", "Kank3r", "k@nk3r",
"K@nk3r", "slet", "Slet", "sl3t",
"Sl3t", "hoer", "Hoer", "h0er",
"H0er", "h03r", "H03r", "bitch",
"Bitch", "tering", "Tering", "t3ring",
"T3ring", "lul", "Lul", "kut", "Kut",
"tyfus", "Tyfus", "joden", "Joden",
"j0den", "J0den", "jod3n", "Jod3n",
"j0d3n", "J0d3en");
$naam = $_POST['naam'];
$naam = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$naam);
$naam = str_replace($schelden,"***",$naam);
$email = $_POST['email'];
$email = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$email);
$email = str_replace($schelden,"***",$email);
$homepage = $_POST['homepage'];
$homepage = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$homepage);
$homepage = str_replace($schelden,"***",$homepage);
$bericht = $_POST['bericht'];
$tekens = strlen($bericht);
if ("$tekens" > "255")
{
echo 'Je bericht is te lang! Je mag maximaal 255 tekens per bericht gebruiken <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
elseif ("$tekens" <= "255")
{
$bericht = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$bericht);
$bericht = str_replace($schelden,"***",$bericht);
$data = fopen("berichten.php", "a");
$fout = 'Je hebt iets niet goed ingevuld <a href="gastenboek.php">Klik hier</a> om terug te gaan';
$opentabel = '<table border="1">';
$sluittabel = '</table>';
$opentr = '<tr>';
$sluittr = '</tr>';
$opentd = '<td>';
$sluittd = '</td>';
$opendik = '<b>';
$sluitdik = '</b>';
$mailnaar = '<a href="mailto:';
$ziennamailnaar = '">';
$sluitlink = '</a>';
$ahref = '<a href="';
$zienganaar = '">';
$sluitlink3 = '</a>';
$door = 'Door:';
$Emailadres = 'Emailadres:';
$homepage1= 'Homepage:';
if ($naam == "")
{
echo ''.$fout.'';
}
elseif ($bericht == "")
{
echo ''.$fout.'';
}
else
{
fputs(
$data, $opentabel.''.$opentr.''.$opentd.'
'.$opendik.''.$door.''.$sluitdik.''.$naam.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.'
'.$opendik.''.$Emailadres.''.$sluitdik.''.$mailnaar.'
'.$email.''.$ziennamailnaar.''.$email.''.$sluitlink.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.''.$opendik.'
'.$homepage1.''.$sluitdik.''.$ahref.''.$homepage.''.$zienganaar.'
'.$homepage.''.$sluitlink3.''.$sluittd.''.$sluittr.''.$opentr.'
'.$opentd.''.$bericht.''.$sluittd.''.$sluittr.''.$sluittabel
);
fclose($data);
echo 'Het bericht is geplaats en je kunt het hier zien: <a href="gastenboek.php">Klik hier</a>';
;}
}
else
{
echo 'Fout! Het bericht kan niet goed worden gelezen! <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
?>
$verbodentekens = array("<", ">", "&");
$schelden = array("fuck","fack", "f*ck",
"Fuck", "Fack", "F*ck", "shit",
"Shit", "kanker", "Kanker", "k@nker",
"K@nker", "kank3r", "Kank3r", "k@nk3r",
"K@nk3r", "slet", "Slet", "sl3t",
"Sl3t", "hoer", "Hoer", "h0er",
"H0er", "h03r", "H03r", "bitch",
"Bitch", "tering", "Tering", "t3ring",
"T3ring", "lul", "Lul", "kut", "Kut",
"tyfus", "Tyfus", "joden", "Joden",
"j0den", "J0den", "jod3n", "Jod3n",
"j0d3n", "J0d3en");
$naam = $_POST['naam'];
$naam = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$naam);
$naam = str_replace($schelden,"***",$naam);
$email = $_POST['email'];
$email = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$email);
$email = str_replace($schelden,"***",$email);
$homepage = $_POST['homepage'];
$homepage = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$homepage);
$homepage = str_replace($schelden,"***",$homepage);
$bericht = $_POST['bericht'];
$tekens = strlen($bericht);
if ("$tekens" > "255")
{
echo 'Je bericht is te lang! Je mag maximaal 255 tekens per bericht gebruiken <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
elseif ("$tekens" <= "255")
{
$bericht = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$bericht);
$bericht = str_replace($schelden,"***",$bericht);
$data = fopen("berichten.php", "a");
$fout = 'Je hebt iets niet goed ingevuld <a href="gastenboek.php">Klik hier</a> om terug te gaan';
$opentabel = '<table border="1">';
$sluittabel = '</table>';
$opentr = '<tr>';
$sluittr = '</tr>';
$opentd = '<td>';
$sluittd = '</td>';
$opendik = '<b>';
$sluitdik = '</b>';
$mailnaar = '<a href="mailto:';
$ziennamailnaar = '">';
$sluitlink = '</a>';
$ahref = '<a href="';
$zienganaar = '">';
$sluitlink3 = '</a>';
$door = 'Door:';
$Emailadres = 'Emailadres:';
$homepage1= 'Homepage:';
if ($naam == "")
{
echo ''.$fout.'';
}
elseif ($bericht == "")
{
echo ''.$fout.'';
}
else
{
fputs(
$data, $opentabel.''.$opentr.''.$opentd.'
'.$opendik.''.$door.''.$sluitdik.''.$naam.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.'
'.$opendik.''.$Emailadres.''.$sluitdik.''.$mailnaar.'
'.$email.''.$ziennamailnaar.''.$email.''.$sluitlink.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.''.$opendik.'
'.$homepage1.''.$sluitdik.''.$ahref.''.$homepage.''.$zienganaar.'
'.$homepage.''.$sluitlink3.''.$sluittd.''.$sluittr.''.$opentr.'
'.$opentd.''.$bericht.''.$sluittd.''.$sluittr.''.$sluittabel
);
fclose($data);
echo 'Het bericht is geplaats en je kunt het hier zien: <a href="gastenboek.php">Klik hier</a>';
;}
}
else
{
echo 'Fout! Het bericht kan niet goed worden gelezen! <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
?>
Maar het gaat om het scriptdeel waarmee je de berichten ophaalt.
Als je dat nu omdraait door $data achteraan te zetten komen de nieuwe berichten voortaan bovenaan.
Verder moet je NOOIT een mailto gebruiken! Dit levert veel spam op!
En Jan heeft gelijk ;) met mysql is het een stuk beter :)
koen schreef op 27.01.2007 22:00:
ik weet niet hoeveel ervaring je hebt, maar je kan zien dat je eerst $data gebruikt en daarna pas het nieuwe bericht plaatst.
Hij gebruikt een foute variabelenaam. Het is eigenlijk een filepointer, want hij is het resultaat van fopen.
als je de input even om tovert naar lowercase en dan op scheldwoorden controleert hoef je niet elke keer Fuck, fuck, FuCk, fuCK enz te doen...
htmlentities() gebruiken, die vervangt alle tekens als < en dergelijke door een code als <.
Edit: Typo, het is al laat...
Even offtopic, je kunt voor het 'onschadelijk maken' van html tekens (in je script 'verboden tekens') ook de functie Edit: Typo, het is al laat...
Gewijzigd op 01/01/1970 01:00:00 door Rolf Flikker op
Jan Koehoorn schreef op 27.01.2007 22:00:
Dit script zet een nieuw bericht in je gastenboek. Er zitten trouwens er veel rare fouten in; zo heeft $opentabel.''.$opentr.''. enzovoort geen zin.
Maar het gaat om het scriptdeel waarmee je de berichten ophaalt.
Maar het gaat om het scriptdeel waarmee je de berichten ophaalt.
Hoezo heeft dat geen zin?:O
Sorry, ik ben nieuw, een vraag kan toch wel?:)
koen schreef op 27.01.2007 22:00:
ik weet niet hoeveel ervaring je hebt, maar je kan zien dat je eerst $data gebruikt en daarna pas het nieuwe bericht plaatst.
Als je dat nu omdraait door $data achteraan te zetten komen de nieuwe berichten voortaan bovenaan.
Verder moet je NOOIT een mailto gebruiken! Dit levert veel spam op!
En Jan heeft gelijk ;) met mysql is het een stuk beter :)
Als je dat nu omdraait door $data achteraan te zetten komen de nieuwe berichten voortaan bovenaan.
Verder moet je NOOIT een mailto gebruiken! Dit levert veel spam op!
En Jan heeft gelijk ;) met mysql is het een stuk beter :)
$data staat toch achteraan??
in het script staat er dit, of bedoel je dat niet?
fputs(
$data, $opentabel.''.$opentr.''.$opentd.'
'.$opendik.''.$door.''.$sluitdik.''.$naam.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.'
'.$opendik.''.$Emailadres.''.$sluitdik.''.$mailnaar.'
'.$email.''.$ziennamailnaar.''.$email.''.$sluitlink.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.''.$opendik.'
'.$homepage1.''.$sluitdik.''.$ahref.''.$homepage.''.$zienganaar.'
'.$homepage.''.$sluitlink3.''.$sluittd.''.$sluittr.''.$opentr.'
'.$opentd.''.$bericht.''.$sluittd.''.$sluittr.''.$sluittabel
);
fclose($data);
echo 'Het bericht is geplaats en je kunt het hier zien: <a href="gastenboek.php">Klik hier</a>';
;}
}
else
{
echo 'Fout! Het bericht kan niet goed worden gelezen! <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
?>
frans schreef op 29.01.2007 08:56:
Hoezo heeft dat geen zin?:O
Sorry, ik ben nieuw, een vraag kan toch wel?:)
Jan Koehoorn schreef op 27.01.2007 22:00:
Dit script zet een nieuw bericht in je gastenboek. Er zitten trouwens er veel rare fouten in; zo heeft $opentabel.''.$opentr.''. enzovoort geen zin.
Maar het gaat om het scriptdeel waarmee je de berichten ophaalt.
Maar het gaat om het scriptdeel waarmee je de berichten ophaalt.
Hoezo heeft dat geen zin?:O
Sorry, ik ben nieuw, een vraag kan toch wel?:)
Tuurlijk mag je altijd wat vragen en vooral veel vragen want in mijn beleving maakt vragen je alleen maar wijs.
Wat je dan wel merkt dat naar mate je hier langer rondzweeft je wel wordt geacht iets op te steken en keer op keer de zelfde vraag stelt omdat je bijv. te lui bent om zelf na te denken.
Niet dat jij dit bent in tegendeel!!!
Dus lekker vragen en snap je de uitleg niet dan gewoon aangeven vanaf waar je iets niet snapt!!!
Suc6 met alles.
ok ontopic nu:)
Eh, ik heb geprobeerd om $data achteraan te zetten. Maar ik vraag me af welke $data er bedoeld word:O
het gaat om de verwijzing in fputs()
ok tnx
Zijn er nog mensen die me willen helpen?:)
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
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
<?php
$verbodentekens = array("<", ">", "&");
$schelden = array("fuck","fack", "f*ck",
"Fuck", "Fack", "F*ck", "shit",
"Shit", "kanker", "Kanker", "k@nker",
"K@nker", "kank3r", "Kank3r", "k@nk3r",
"K@nk3r", "slet", "Slet", "sl3t",
"Sl3t", "hoer", "Hoer", "h0er",
"H0er", "h03r", "H03r", "bitch",
"Bitch", "tering", "Tering", "t3ring",
"T3ring", "lul", "Lul", "kut", "Kut",
"tyfus", "Tyfus", "joden", "Joden",
"j0den", "J0den", "jod3n", "Jod3n",
"j0d3n", "J0d3en");
$naam = $_POST['naam'];
$naam = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$naam);
$naam = str_replace($schelden,"***",$naam);
$email = $_POST['email'];
$email = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$email);
$email = str_replace($schelden,"***",$email);
$homepage = $_POST['homepage'];
$homepage = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$homepage);
$homepage = str_replace($schelden,"***",$homepage);
$bericht = $_POST['bericht'];
$tekens = strlen($bericht);
if ("$tekens" > "255")
{
echo 'Je bericht is te lang! Je mag maximaal 255 tekens per bericht gebruiken <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
elseif ("$tekens" <= "255")
{
$bericht = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$bericht);
$bericht = str_replace($schelden,"***",$bericht);
$data = fopen("berichten.php", "a");
$fout = 'Je hebt iets niet goed ingevuld <a href="gastenboek.php">Klik hier</a> om terug te gaan';
$opentabel = '<table border="1">';
$sluittabel = '</table>';
$opentr = '<tr>';
$sluittr = '</tr>';
$opentd = '<td>';
$sluittd = '</td>';
$opendik = '<b>';
$sluitdik = '</b>';
$mailnaar = '<a href="mailto:';
$ziennamailnaar = '">';
$sluitlink = '</a>';
$ahref = '<a href="';
$zienganaar = '">';
$sluitlink3 = '</a>';
$door = 'Door:';
$Emailadres = 'Emailadres:';
$homepage1= 'Homepage:';
if ($naam == "")
{
echo ''.$fout.'';
}
elseif ($bericht == "")
{
echo ''.$fout.'';
}
else
{
fputs(
$opendik.''.$door.''.$sluitdik.''.$naam.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.'
'.$opendik.''.$Emailadres.''.$sluitdik.''.$mailnaar.'
'.$email.''.$ziennamailnaar.''.$email.''.$sluitlink.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.''.$opendik.'
'.$homepage1.''.$sluitdik.''.$ahref.''.$homepage.''.$zienganaar.'
'.$homepage.''.$sluitlink3.''.$sluittd.''.$sluittr.''.$opentr.'
'.$opentd.''.$bericht.''.$sluittd.''.$sluittr.''.$sluittabel.'
'.$data, $opentabel.''.$opentr.''.$opentd
);
fclose($data);
echo 'Het bericht is geplaats en je kunt het hier zien: <a href="gastenboek.php">Klik hier</a>';
;}
}
else
{
echo 'Fout! Het bericht kan niet goed worden gelezen! <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
?>
$verbodentekens = array("<", ">", "&");
$schelden = array("fuck","fack", "f*ck",
"Fuck", "Fack", "F*ck", "shit",
"Shit", "kanker", "Kanker", "k@nker",
"K@nker", "kank3r", "Kank3r", "k@nk3r",
"K@nk3r", "slet", "Slet", "sl3t",
"Sl3t", "hoer", "Hoer", "h0er",
"H0er", "h03r", "H03r", "bitch",
"Bitch", "tering", "Tering", "t3ring",
"T3ring", "lul", "Lul", "kut", "Kut",
"tyfus", "Tyfus", "joden", "Joden",
"j0den", "J0den", "jod3n", "Jod3n",
"j0d3n", "J0d3en");
$naam = $_POST['naam'];
$naam = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$naam);
$naam = str_replace($schelden,"***",$naam);
$email = $_POST['email'];
$email = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$email);
$email = str_replace($schelden,"***",$email);
$homepage = $_POST['homepage'];
$homepage = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$homepage);
$homepage = str_replace($schelden,"***",$homepage);
$bericht = $_POST['bericht'];
$tekens = strlen($bericht);
if ("$tekens" > "255")
{
echo 'Je bericht is te lang! Je mag maximaal 255 tekens per bericht gebruiken <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
elseif ("$tekens" <= "255")
{
$bericht = str_replace($verbodentekens,"Er is een verboden teken gebruikt!",$bericht);
$bericht = str_replace($schelden,"***",$bericht);
$data = fopen("berichten.php", "a");
$fout = 'Je hebt iets niet goed ingevuld <a href="gastenboek.php">Klik hier</a> om terug te gaan';
$opentabel = '<table border="1">';
$sluittabel = '</table>';
$opentr = '<tr>';
$sluittr = '</tr>';
$opentd = '<td>';
$sluittd = '</td>';
$opendik = '<b>';
$sluitdik = '</b>';
$mailnaar = '<a href="mailto:';
$ziennamailnaar = '">';
$sluitlink = '</a>';
$ahref = '<a href="';
$zienganaar = '">';
$sluitlink3 = '</a>';
$door = 'Door:';
$Emailadres = 'Emailadres:';
$homepage1= 'Homepage:';
if ($naam == "")
{
echo ''.$fout.'';
}
elseif ($bericht == "")
{
echo ''.$fout.'';
}
else
{
fputs(
$opendik.''.$door.''.$sluitdik.''.$naam.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.'
'.$opendik.''.$Emailadres.''.$sluitdik.''.$mailnaar.'
'.$email.''.$ziennamailnaar.''.$email.''.$sluitlink.'
'.$sluittd.''.$sluittr.''.$opentr.''.$opentd.''.$opendik.'
'.$homepage1.''.$sluitdik.''.$ahref.''.$homepage.''.$zienganaar.'
'.$homepage.''.$sluitlink3.''.$sluittd.''.$sluittr.''.$opentr.'
'.$opentd.''.$bericht.''.$sluittd.''.$sluittr.''.$sluittabel.'
'.$data, $opentabel.''.$opentr.''.$opentd
);
fclose($data);
echo 'Het bericht is geplaats en je kunt het hier zien: <a href="gastenboek.php">Klik hier</a>';
;}
}
else
{
echo 'Fout! Het bericht kan niet goed worden gelezen! <a href="gastenboek.php">Klik hier</a> om terug te gaan';
}
?>