phpmtadmin en gastenboek

Status
Niet open voor verdere reacties.

uaejeroen

Terugkerende gebruiker
Lid geworden
7 dec 2009
Berichten
1.665
beste

nu ik eindelijk geslaagd ben in phpmyadmin te werken

wil ik graag een gastenboek

het liefs natuurlijk met voorbeeld tutorial maar kan iemand mij vertellen wat ik dan precies moet doen

Het gastenboek bestaat uit een tabel in de voorbeeld database, genaamd gastenboek en een aantal php pagina's. U maakt een php pagina genaamd gastenboek.php. Deze pagina bevat een knop die de pagina invoer.php opent, tevens laat het gastenboek.php alle gastenboek entries zien. Op de invoer.php pagina staan twee invoervelden, namelijk naam en boodschap. De invoer.php pagina bevat een knop "verstuur". Zodra de gebruiker op de knop "verstuur" drukt, wordt de inhoud van het formulier in de tabel "gastenboek" gestopt. De tabel gastenboek bevat de volgende datavelden: ID (int, primary key, auto-increment), naam (varchar 100), boodschap(TEXT), datum(date).

dit wil ik doen


ik heb die tabellen en datavelden aangemaakt, ben alleen kwijt waar ik primary key en auto increment kan vinden]

verder moet ik een html opmaak en een php pagina maken geloof ik
 
Laatst bewerkt:
beste

krijg allemaal foutmeldingen bij config, dat is toch geen database, tabel?
 
hartstikke bedankt

PHP:
<?php
error_reporting(E_ALL);
$host = ""; // Je host
$user = "root"; // Je MySQL gebruikersnaam
$pass = "usbw"; // Je MySQL wachtwoord
$datb = "voorbeeld"; // Je MySQL database

// Verbinding maken
mysql_connect($host, $user, $pass) or die ("Er is iets mis gegaan");
mysql_select_db($datb) or die ("Er is iets mis gegaan");

// UBB aanmaken
function ubb($string) {
    $string = htmlspecialchars($string); // Beveiligen voor XSS injection
    $string = stripslashes($string); // Slashes verwijderen
    $string = nl2br($string); // Zorgen dat er meerdere regels gebruikt kunnen worden
    $string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string); // [b][/b] => <b></b>
    $string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string); // [i][/i] => <i></i>
    $string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string); // [u][/u] => <u></u>
    $string = preg_replace("#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $string); // [s][/s] => <s></s>
    
    return $string;
}
$dagen = Array("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gastenboek</title>
</head>
<body>
<h1>Reactie plaatsen</h1>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Als er een veld niet ingevuld is
    if (empty($_POST['naam']) || empty($_POST['bericht'])) {
        echo '<span style="color:red; font-weight: bold">Je hebt niet alle velden ingevuld!</span>';
    } elseif (strlen($_POST['naam']) > 16 || strlen($_POST['bericht']) > 500) {
        echo '<span style="color:red; font-weight: bold">De ingevulde velden hebben te veel karakters (naam maximaal 16, bericht maximaal 500)</span>';
    } elseif ($_POST['dag'] != $dagen[date('w')]) {
        echo '<span style="color:red; font-weight: bold">De ingevulde dagnaam klopt niet!</span>';
    } else {
    // Als alle velden ingevuld zijn wordt het bericht gefilterd toegevoegd
        if (mysql_query("INSERT INTO gastenboek (naam, bericht, datum, ip) VALUES ('".trim(mysql_real_escape_string($_POST['naam']))."', '".trim(mysql_real_escape_string($_POST['bericht']))."', NOW(), '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."')")) {
            echo '<span style="color:green; font-weight: bold"Je reactie is succesvol toegevoegd!</span>';
        } else {
            echo '<span style="color:green; font-weight: bold">Er is iets fout gegaan en je reactie is niet toegevoegd. Probeer het later opnieuw.</span>';
        }
    }
}
?>
<form method="post" action=""><p>
Naam: (maximaal 16 karakters)<br />
<input type="text" name="naam" maxlength="16" /><br /><br />
Welke dag is het vandaag:<br />
<input type="text" name="dag" /><br /><br />
Bericht: (maximaal 500 karakters)<br />
<textarea name="bericht" id="tekst" rows="6" cols="37"></textarea><br /><br />
<input type="submit" value="Toevoegen" onclick="this.value='Reactie wordt geplaatst...';" /> <input type="reset" value="Herstel" />
</p></form>
<hr />
<p>
<?php
// Gegevens ophalen uit de database en sorteren op id
$sql = mysql_query("SELECT * FROM gastenboek ORDER BY datum DESC");
if (mysql_num_rows($sql) == 0) {
    // Als er nog geen reacties geplaatst zijn
    echo 'We hebben nog geen reacties!';
} else {
    while($data = mysql_fetch_assoc($sql)) {
        // Als er wel reacties zijn geplaatst worden deze nu weergegeven
        echo '<b>Naam:</b> '.htmlspecialchars(stripslashes($data['naam'])).'<br />
        <b>Datum:</b> '.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'.ubb($data['bericht']).'<br /><br />';
    }
}
?>
</p>
</body>
</html>

ik heb deze tabellen in de database

Veld Type Collatie Attributen Null Standaardwaarde Extra Actie
ID int(11) Nee Geen auto_increment
Naam varchar(100) latin1_swedish_ci Nee Geen
Boodschap text latin1_swedish_ci Nee Geen
Datum date Nee Geen


Alles schijnt te werken

behalve als ik een dag invul, krijg ik de melding dat het niet goed is
 
eey

ik dacht dat u mverder ging helpen
hoe kan ik dat als ik dagen invul dat ik dan geen fout melding krijg
 
Weet je zeker dat je de dag goed invult? Dus met kleine letters en niet met hoofdletters? Hij moet exact hetzelfde zijn als in jouw lijstje, anders gaat het mis.
 
bste

waar moet ik dat lijstje ingeven

in het script staat het geloof ik niet
 
Kan je even precies uitleggen, welke stappen je nu allemaal hebt genomen.
 
gewoon

tabel aangemaakt met Chat en alle dingen

maar wat je daarna allemaal kunt doen bijv met

value dat is me nog niet duidelijk

ik wil graag ook zo'n film lijst maken snapt u ?

graag advies
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan