Gastenboek + CAPTCHA
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
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
<?
$mysql_user = "****"; // je mysql login naam
$mysql_pass = "****"; // je mysql wachtwoord
$mysql_host = "localhost"; // de host van je mysql database (localhost is meestal wel oke)
$mysql_dbn = "****"; // de naam van je database
if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))
{
echo "database connectie mislukt!";
exit();
}
if ($_POST['submit'] && $_POST['naam'] && $_POST['email'] && $_POST['bericht'])
{
$datum = date('d.m.Y H:i');
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO gastenboek SET ";
$sql .= "id = ''";
$sql .= ", naam = '" . $_POST['naam'] . "'";
$sql .= ", email = '" . $_POST['email'] . "'";
$sql .= ", bericht = '" . $_POST['bericht'] . "'";
$sql .= ", datum = '" . $datum . "'";
$sql .= ", ip = '" . $ip . "'";
$res = mysql_query($sql);
if ($res)
{
echo "Bedankt voor uw reactie. Het bericht zal z.s.m. geplaatst worden.<p>";
echo "Ga naar terug naar het <a href=\"index.php?p=gastenboek\">gastenboek</a>.";
}
else
echo "Bericht NIET toegevoegd. Er is iets misgegaan met het invoeren in de database.";
}
else
{
if ($_POST['submit'])
echo "<h1>Enkele velden vergeten!</h1>";
echo "<table width=\"50%\" align=\"center\"><tr><td>";
echo "<p><form method=\"POST\" action=\"index.php?p=schrijf\">";
echo "Naam:<br>";
echo "<input type=\"text\" name=\"naam\" value=\"" . htmlentities($_POST['naam']) . "\"><br>";
echo "Email:<br>";
echo "<input type=\"text\" name=\"email\" value=\"" . htmlentities($_POST['email']) . "\"><br>";
echo "Bericht:<br>";
echo "<textarea name=\"bericht\" rows=\"5\" cols=\"35\">" . htmlentities($_POST['bericht']) . "</textarea><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Bericht plaatsen!\">";
echo "</form></p>";
echo "</td></tr></table>";
echo "<br><div align=center>Gaarne geen ongewenste reclame achterlaten in ons gastenboek.</div>";
}
?>
$mysql_user = "****"; // je mysql login naam
$mysql_pass = "****"; // je mysql wachtwoord
$mysql_host = "localhost"; // de host van je mysql database (localhost is meestal wel oke)
$mysql_dbn = "****"; // de naam van je database
if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))
{
echo "database connectie mislukt!";
exit();
}
if ($_POST['submit'] && $_POST['naam'] && $_POST['email'] && $_POST['bericht'])
{
$datum = date('d.m.Y H:i');
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO gastenboek SET ";
$sql .= "id = ''";
$sql .= ", naam = '" . $_POST['naam'] . "'";
$sql .= ", email = '" . $_POST['email'] . "'";
$sql .= ", bericht = '" . $_POST['bericht'] . "'";
$sql .= ", datum = '" . $datum . "'";
$sql .= ", ip = '" . $ip . "'";
$res = mysql_query($sql);
if ($res)
{
echo "Bedankt voor uw reactie. Het bericht zal z.s.m. geplaatst worden.<p>";
echo "Ga naar terug naar het <a href=\"index.php?p=gastenboek\">gastenboek</a>.";
}
else
echo "Bericht NIET toegevoegd. Er is iets misgegaan met het invoeren in de database.";
}
else
{
if ($_POST['submit'])
echo "<h1>Enkele velden vergeten!</h1>";
echo "<table width=\"50%\" align=\"center\"><tr><td>";
echo "<p><form method=\"POST\" action=\"index.php?p=schrijf\">";
echo "Naam:<br>";
echo "<input type=\"text\" name=\"naam\" value=\"" . htmlentities($_POST['naam']) . "\"><br>";
echo "Email:<br>";
echo "<input type=\"text\" name=\"email\" value=\"" . htmlentities($_POST['email']) . "\"><br>";
echo "Bericht:<br>";
echo "<textarea name=\"bericht\" rows=\"5\" cols=\"35\">" . htmlentities($_POST['bericht']) . "</textarea><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Bericht plaatsen!\">";
echo "</form></p>";
echo "</td></tr></table>";
echo "<br><div align=center>Gaarne geen ongewenste reclame achterlaten in ons gastenboek.</div>";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Joyce
Ouch! $_POST variabelen nooit direct in je SQL query stoppen!
iChris.nl schreef op 07.07.2008 10:51:
Ouch! $_POST variabelen nooit direct in je SQL query stoppen!
Dit is een script door iemand anders gedaan, dus ik heb er maar niets aan gedaan ik moest alleen de captcha nog toevoegen.
Heb jij tips?
Dit is geen datum! Het is enkel een string waarvan jij en ik weten dat het een datum voor moet stellen. De database kan er echter helemaal niets mee aangezien deze alleen data in het formaat 'yyyy-mm-dd hh:mm:ss' als geldige data ziet...
Verder controleer je nergens de input uit je formulier? Zoals gezegd kun je $_POST variabele nooit direct in je query gebruiken, je zult altijd minimaal mysql_real_escape_string() moeten toepassen. Maar ik kan me ook niet voorstellen dat er helemaal niets ingevuld hoeft te worden, en dat is nu wel het geval. Je controleert immers nergens of de velden wel ingevuld zijn.
Kortom, er zijn nog genoeg dingen waar je eerst eens naar moet kijken voordat je een captcha aan dit systeem kunt toevoegen.
Blanche schreef op 07.07.2008 11:00:
Dit is geen datum! Het is enkel een string waarvan jij en ik weten dat het een datum voor moet stellen. De database kan er echter helemaal niets mee aangezien deze alleen data in het formaat 'yyyy-mm-dd hh:mm:ss' als geldige data ziet...
Verder controleer je nergens de input uit je formulier? Zoals gezegd kun je $_POST variabele nooit direct in je query gebruiken, je zult altijd minimaal mysql_real_escape_string() moeten toepassen. Maar ik kan me ook niet voorstellen dat er helemaal niets ingevuld hoeft te worden, en dat is nu wel het geval. Je controleert immers nergens of de velden wel ingevuld zijn.
Kortom, er zijn nog genoeg dingen waar je eerst eens naar moet kijken voordat je een captcha aan dit systeem kunt toevoegen.
Dit is geen datum! Het is enkel een string waarvan jij en ik weten dat het een datum voor moet stellen. De database kan er echter helemaal niets mee aangezien deze alleen data in het formaat 'yyyy-mm-dd hh:mm:ss' als geldige data ziet...
Verder controleer je nergens de input uit je formulier? Zoals gezegd kun je $_POST variabele nooit direct in je query gebruiken, je zult altijd minimaal mysql_real_escape_string() moeten toepassen. Maar ik kan me ook niet voorstellen dat er helemaal niets ingevuld hoeft te worden, en dat is nu wel het geval. Je controleert immers nergens of de velden wel ingevuld zijn.
Kortom, er zijn nog genoeg dingen waar je eerst eens naar moet kijken voordat je een captcha aan dit systeem kunt toevoegen.
Oke ik zie dus al dat ik er niets van snap, ben echt een PHP nul!
Toch bedankt! Maar ik heb te weinig kennis om dat aan te passen.
Blanche schreef op 07.07.2008 11:04:
Oke dank je ik ga ernaar kijken.
Nou ik snap er niets van toch bedankt voor jullie hulp!
Joyce schreef op 07.07.2008 11:14:
OMG, misschien dat je er iets meer tijd in moet steken en niet na 7 minuten al moet roepen dat je er niets van snapt?!Nou ik snap er niets van toch bedankt voor jullie hulp!
PHP leer je niet in een paar uur, laat staan dat je het in een paar minuten door hebt. Ga er dus eens rustig voor zitten en begin eens bij het begin, daar heb je waarschijnlijk veel meer aan dan rommelen met slechte scriptjes die je van anderen hebt gekregen...
Blanche schreef op 07.07.2008 11:44:
PHP leer je niet in een paar uur, laat staan dat je het in een paar minuten door hebt. Ga er dus eens rustig voor zitten en begin eens bij het begin, daar heb je waarschijnlijk veel meer aan dan rommelen met slechte scriptjes die je van anderen hebt gekregen...
Joyce schreef op 07.07.2008 11:14:
OMG, misschien dat je er iets meer tijd in moet steken en niet na 7 minuten al moet roepen dat je er niets van snapt?!Nou ik snap er niets van toch bedankt voor jullie hulp!
PHP leer je niet in een paar uur, laat staan dat je het in een paar minuten door hebt. Ga er dus eens rustig voor zitten en begin eens bij het begin, daar heb je waarschijnlijk veel meer aan dan rommelen met slechte scriptjes die je van anderen hebt gekregen...
Nee heb niet in 7 minuten doorgelezen maar de eerste zin snap ik al niet :(
Als je die uit mijn eerdere post bedoelt, is het een goed idee om eerst eens rustig die handleiding door te lezen. Zodra je die kennis onder de knie hebt, zul je wel begrijpen wat ik met die eerste zin bedoel.
Snap je de eerste zin uit de handleiding niet? Kan ik me eigenlijk niet voorstellen, maar goed wellicht dat gewoon even verder lezen wel wil helpen.
Je zult zelf wel een beetje inzet moeten tonen als je hier nog verder mee wilt komen...
Quote:
Dat snap je niet? ;) ff serieus, kijk die handleidingen gewoon door, maak wat kleine scriptjes, upload ze, verbeterze en je leert het vanzelf.. Succes!Welkom bij deze PHP beginners handleiding waarin ik de basis van het programmeren in PHP zal uitleggen.
Nu dit moet toch wel te doen zijn?
Quote:
Welkom bij deze PHP beginners handleiding waarin ik de basis van het programmeren in PHP zal uitleggen.
[/zijkbui]
Gewijzigd op 01/01/1970 01:00:00 door --