HTML formulier data in Mysql database plaatsen.
Je gebruikt MySQL als sql database server en creëert een tabel gastenboek met 4 velden:
SQL code :
CREATE TABLE `gastenboek` (
`id` int(10) unsigned NOT NULL auto_increment,
`naam` varchar(30) NOT NULL default '',
`boodschap` text NOT NULL,
`datum` int(11) NOT NULL default '0',
PRIMARY KEY (`g_id`)
)
HTML formulier
Als html formulier gebruik je het voorbeeld op de vorige pagina. Voor dit voorbeeld gastenboek slaan we het html formulier op als 'gastenboek.php'.
PHP en sql connectie script
Na verzending van het formulier moet het PHP script eerst een connectie maken met de MySQL database:
Gezien je de MySQL connectie in dit voorbeeld in meerdere bestanden gebruikt, kun je het php connectie–script het beste in een apart bestand opslaan en er dan naar verwijzen. – alternatief is dat je deze php code gewoon bovenaan in elk bestand zet.
<?
// deze variabelen vervangen met je Mysql server / database gegevens
$hostname = "locahost";
$username = "gebruikersnaam";
$password = "wachtwoord";
$database = "gastenboek";
// Functie om eventuele MySQL errors te specificeren
function showerror()
{
die("Error" .mysql_errno() . " : " . mysql_error());
exit;
}
// MySQL connectie maken
if (!($connection= @ mysql_connect($hostname, $username, $password))) showerror();
// specificeren welke database op de MySQL server we gebruiken
if (!mysql_select_db($database, $connection))
showerror();
?>
Na dit php script naar behoren te hebben aangepast, sla je het op als mysql.php (bijvoorbeeld).
Nu kun je in elk bestand door een php include een connectie maken met de sql server en database:
<?
include 'mysql.php' ;
?>
PHP kan door deze connectie communiceren met de sql database server en door het html formulier verzonden data verwerken.
Html formulier data ophalen met php en invoegen in de mysql database
Indien de data in je html formulier verzonden is met de 'post methode' kun je deze ophalen in php dmv de 'superglobal' $_POST (of $HTTP_POST_VARS als je een php versie gebruikt ouder dan 4.1.0). Indien de html formulier data verzonden is met de GET methode gebruik je hiervoor $_GET (of $HTTP_GET_VARS als je een php versie gebruikt ouder dan 4.1.0)
<?
include 'mysql.php';
// formulier POST variabelen ophalen
$naam = $_POST['naam'];
$boodschap = $_POST['boodschap'];
// unix timestamp om het tijdstip de van de boodschap op te slaan.
$time= time();
// sql insert die je in de database gaat doen
$sql ="INSERT INTO gastenboek(naam, boodschap, datum)
VALUES ('".$naam."', '".$boodschap."', '".$time."')";
//uitvoeren van de query :
if (!($temp = mysql_query($sql,$connection)))
showerror();
?>
Php redirect
Na de sql transactie stuur je de bezoeker met een php redirect weer terug naar het gastenboek / annex html formulier.
<?
header ( "Location: http://www.voorbeeld.com/gastenboek.php" );
?>
Dit geheel sla je op als verwerkscript.php.
Het volledige HTML formulier naar SQL – PHP script vindt je op de volgende pagina.
PHP gastenboek
Het php gastenboek is pas compleet wanneer je de data in je database ook weergeeft. In php en sql doe je dit bijvoorbeeld met het volgende script: (Uiteraard moet je ook de hierboven beschreven mysql connectie code in je gastenboek.php script zetten of includeren)
<?
include 'mysql.php';
//Mysql DATA selecteren
$query="SELECT * FROM gastenboek ORDER BY id DESC";
if (!($temp = mysql_query($query,$connection)))
showerror();
//mysql data weergeven
while ($gastenboek = mysql_fetch_array($temp))
{
echo "<hr>
<div>Naam: <strong>".$gastenboek ['naam']."</strong></div>
<div>".date("H:i:s, jS–M–y", $gastenboek ['datum'])."</div>
<div>".$gastenboek ['boodschap']."</div><hr> ";
}
?>


