gastenboek

Gesponsorde koppelingen

PHP script bestanden

  1. gastenboek

« Lees de omschrijving en reacties

gastenboek zelf:

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
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
<?php
echo "<h1>Gastenboek</h1>\n";
echo "<p><a href=\"nieuw.php\">Schrijf ook iets in het gastenboek</a></p>\n";

// MySQL-selectiequery opstellen:
$sql  = 'SELECT * ';                   // Selecteer alle gegevens
$sql .= 'FROM `gastenboek` ';          // uit de tabel 'gastenboek'
$sql .= 'ORDER BY `bericht_id` DESC '; // en sorteer ze aflopend.

// Aflopend sorteren op de datum en tijd:
// $sql .= 'ORDER BY `datum` DESC , `tijd` DESC ';

// Constanten voor mysql_connect() insluiten:

require_once('mysql_connect.inc.php');
// Databaseverbinding openen met mysql_connect():
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
// Database 'test' selecteren:
mysql_select_db("test") or die(mysql_error());
// Query uitvoeren en een resultaatset opslaan:
$resultaat = mysql_query($sql) or die(mysql_error());

// Alle records weergeven:
while ($rij = mysql_fetch_assoc($resultaat)) {

    // Alinea met de datum, tijd en tekst:
    echo '<p style="border-top: dotted 2px gray;">';
    echo '<span style="color: gray;">[';

    $datum = $rij["datum"];
    // Datum eventueel converteren van YYYY-MM-DD naar DD-MM-YYYY:
    if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $datum, $substring)) {
        echo "$substring[3]-$substring[2]-$substring[1]";
    }
else {
        echo $datum;
    }


    echo ' om ';
    echo $rij["tijd"];
    echo "]</span> ";
    echo nl2br($rij["tekst"]);
    echo "</p>\n";

    // Alinea met de ondertekening:
    echo '<p style="margin-left: 25%">';
    $naam = $rij["naam"];
    if ((is_null($naam)) or (strlen($naam) < 1)) {
        echo "Anoniem";
    }
else {
        echo $naam;
        $emailadres = $rij["email"];
        if (strlen($emailadres) >= 7) {
            $emailadres = geenSpam($emailadres);
            echo "<br>&lt;" . $emailadres . "&gt;";
        }

        $website = $rij["website"];
        if (strlen($website) >= 5) {
            echo '<br><a href="http://' . $website . '">';
            echo $website;
            echo '</a>';
        }
    }

    echo "</p>\n";
}


// Resultaatset vrijgeven:
mysql_free_result($resultaat);
// Databaseverbinding sluiten:
mysql_close($verbinding);

function
geenSpam($string, $nadruk = FALSE)
{

    if ($nadruk) {
        $string = str_replace("@", " <strong>apenstaartje</strong> ", $string);
        $string = str_replace(".", " <strong>punt</strong> ", $string);
    }
else {
        $string = str_replace("@", " apenstaartje ", $string);
        $string = str_replace(".", " punt ", $string);
    }

    return $string;
}

?>


Nieuw.php:
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
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
<?php
$melding
    = ""; // Variabele voor foutmeldingen
$tekst      = "";
$naam       = "";
$emailadres = "";
$website    = "";

// Formulier alleen verwerken als op de knop met de naam 'submit'
// EN de waarde 'Toevoegen' is geklikt:

if (isset($_POST['submit'])) {
    if ($_POST['submit'] == "Toevoegen") {
        $datum      = date("Y-m-d");
        $tijd       = date("H:i:s");
        $tekst      = $_POST['t'];
        $naam       = $_POST['n'];
        $emailadres = $_POST['e'];
        $website    = $_POST['w'];
        // HTML-tags verwijderen uit de tekst met strip_tags() en
        // pas DAARNA de tekst omzetten in HTML met htmlentities():

        $tekst = strip_tags($tekst);
        $tekst = htmlentities($tekst);
        // Het voorvoegsel "http://" verwijderen uit de URL van de website:
        $website = eregi_replace("^http://", "", $website);
        // Overige invoer omzetten in HTML-tekens, vooral voor
        // de naam, want voor een e-mailadres of URL hoeft dat niet:

        $naam       = htmlentities($naam);
        $emailadres = htmlentities($emailadres);
        $website    = htmlentities($website);

        // Alleen een tekst van minimaal 4 tekens
        // en maximaal 500 woorden toevoegen:

        define("MINIMUMAANTAL_TEKENS", 4);
        define("MAXIMUMAANTAL_WOORDEN", 500);
        $aantal_tekens  = strlen($tekst);
        $aantal_woorden = str_word_count($tekst);
        if (($aantal_tekens >= MINIMUMAANTAL_TEKENS) and ($aantal_woorden <= MAXIMUMAANTAL_WOORDEN)) {
            // MySQL-toevoegquery opstellen:
            $sql  = "INSERT INTO `gastenboek` ";
            $sql .= "(`bericht_id`, `datum`, `tijd`, `tekst`, `naam`, `email`, `website`) ";
            $sql .= "VALUES ";
            $sql .= "('', '$datum', '$tijd', '$tekst', '$naam', '$emailadres', '$website') ";
            $sql .= "; ";
            // Databaseverbinding openen en query uitvoeren:
            require_once('mysql_connect.inc.php');
            $verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
            mysql_select_db("test") or die(mysql_error());
            $toegevoegd = mysql_query($sql) or die(mysql_error());
            mysql_close($verbinding);

            // Browser omleiden naar het gastenboek
            // als de bijdrage is toegevoegd:

            if ($toegevoegd) {
                header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/gastenboek.php");
                exit;
            }
        }
else {
            // Foutmelding weergeven:
            if (!($aantal_tekens >= MINIMUMAANTAL_TEKENS)) {
                $melding .= "De tekst is te kort.";
            }

            if (!($aantal_woorden <= MAXIMUMAANTAL_WOORDEN)) {
                $melding .= "Uw tekst telt " . $aantal_woorden . "&nbsp;woorden. ";
                $melding .= "Kort de tekst in tot maximaal " . MAXIMUMAANTAL_WOORDEN . "&nbsp;woorden. ";
            }
        }

    }
}


// Een eventuele foutmelding opmaken als een alinea:
if (strlen(trim($melding)) > 1) {
    $melding = '<p class="w">' . $melding . "</p>\n";
}

?>

<h1>Schrijf in het gastenboek</h1>
<?php echo $melding; ?>
<p>Voer uw tekst voor het <a href="gastenboek.php" title="Gastenboek">gastenboek</a> in en klik op Toevoegen. <br>
U hoeft geen naam, e-mailadres of website op te geven.</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <table border="0" cellpadding="0" cellspacing="2">
    <tr>
      <td colspan="2" valign="top"><label for="t"><span style="text-decoration: underline">T</span>ekst voor het gastenboek:</label></td>
    </tr>
    <tr>
      <td colspan="2"><textarea accesskey="t" cols="50" id="t" name="t" rows="10"><?php echo htmlentities($tekst); ?></textarea></td>
    </tr>
    <tr>
      <td><label for="n"><span style="text-decoration: underline">N</span>aam:</label></td>
      <td><input accesskey="n" id="n" name="n" type="text" size="47" value="<?php echo htmlentities($naam); ?>"></td>
    </tr>
    <tr>
      <td><label for="e"><span style="text-decoration: underline">E</span>-mailadres:</label></td>
      <td><input accesskey="e" id="e" name="e" type="text" size="47" value="<?php echo $emailadres; ?>"></td>
    </tr>
    <tr>
      <td nowrap><label for="w">URL <span style="text-decoration: underline">w</span>ebsite:</label></td>
      <td><input accesskey="w" id="w" name="w" type="text" size="47" value="<?php echo $website; ?>"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td align="right" nowrap>
        <input class="knop" name="submit" type="submit" value="Toevoegen"> &nbsp;
        <input class="knop" name="submit" type="submit" value="Wissen">
        <script type="text/javascript">
        <!--
        document.write("<input class=knop onclick=\"window.location.href = 'gastenboek.php'\" type=button value=Annuleren>");
        -->
        </script>
      </td>
    </tr>
  </table>
</form>

 
 

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.