Gastenboek + CAPTCHA

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joyce

Joyce

07/07/2008 10:43:00
Quote Anchor link
Ik heb het gastenboek wel, maar de captcha moet er nog in wie kan mij helpen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
$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
 
PHP hulp

PHP hulp

23/11/2024 14:42:44
 
- -

- -

07/07/2008 10:51:00
Quote Anchor link
Ouch! $_POST variabelen nooit direct in je SQL query stoppen!
 
Joyce

Joyce

07/07/2008 10:59:00
Quote Anchor link
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?
 
Joren de Wit

Joren de Wit

07/07/2008 11:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$datum
= date('d.m.Y H:i');
?>

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.
 
Joyce

Joyce

07/07/2008 11:02:00
Quote Anchor link
Blanche schreef op 07.07.2008 11:00:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$datum
= date('d.m.Y H:i');
?>

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.
 
Joren de Wit

Joren de Wit

07/07/2008 11:04:00
Quote Anchor link
PHP Beginnershandleiding

Misschien is het dan verstandig om hier eens mee te beginnen?
 
Joyce

Joyce

07/07/2008 11:07:00
Quote Anchor link
Blanche schreef op 07.07.2008 11:04:
PHP Beginnershandleiding

Misschien is het dan verstandig om hier eens mee te beginnen?

Oke dank je ik ga ernaar kijken.
 
Joyce

Joyce

07/07/2008 11:14:00
Quote Anchor link
Nou ik snap er niets van toch bedankt voor jullie hulp!
 
Joren de Wit

Joren de Wit

07/07/2008 11:44:00
Quote Anchor link
Joyce schreef op 07.07.2008 11:14:
Nou ik snap er niets van toch bedankt voor jullie hulp!
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?!

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

Joyce

07/07/2008 13:08:00
Quote Anchor link
Blanche schreef op 07.07.2008 11:44:
Joyce schreef op 07.07.2008 11:14:
Nou ik snap er niets van toch bedankt voor jullie hulp!
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?!

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 :(
 
Joren de Wit

Joren de Wit

07/07/2008 13:13:00
Quote Anchor link
Welke eerste zin snap je 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...
 
--

--

07/07/2008 13:14:00
Quote Anchor link
Quote:
Welkom bij deze PHP beginners handleiding waarin ik de basis van het programmeren in PHP zal uitleggen.
Dat snap je niet? ;) ff serieus, kijk die handleidingen gewoon door, maak wat kleine scriptjes, upload ze, verbeterze en je leert het vanzelf.. Succes!
 
Crispijn -

Crispijn -

07/07/2008 13:14:00
Quote Anchor link
[zeikbui]
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]
 
--

--

07/07/2008 14:02:00
Quote Anchor link
Waah, wij dachten hetzelfde!
Gewijzigd op 01/01/1970 01:00:00 door --
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.