home  :: Home/Artikels/Webdesign enzo/PHP script voor MySQL database insert

PHP script voor MySQL database insert

Pagina 3 van 4
«vorige |1|2| 3 |4| volgende»
door: Joriso 

Data uit HTML formulieren kun je het best in een apart PHP bestand met redirect verwerken, en dus niet in een script op dezelfde pagina als het formulier. Dit om te voorkomen dat wanneer de bezoeker na het formulier te verzenden op de resultaatpagina bijvoorbeeld op refresh, of "back en forward" button klikt, de formulier data opnieuw door het PHP script in de sql database wordt ge–insert.

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> ";
}

?>



Commentaar van bezoekers:
van: bauke
22:00:03, 14th-Sep-06
hallo

van: Jos Kuijpers
22:38:50, 28th-Jan-07
wat moet ik intypen bij mysql_query bij verwerkingsscript regel 19? en hij geeft ook foutmelding over showerror()

van: danny
07:59:13, 11th-Apr-07
hoe doe je het als je wilt een slash meesturen want bij mij wilt dit niet lukken en zonder slash lukt het opslaan in de database wel

van: aafafafa
15:28:18, 15th-Aug-07
<strong>test</strong>

van: wouter
21:52:03, 10th-Sep-07
dankjewel man! ik heb nou eindelijk een gastenboek!

van: Arne
16:38:32, 17th-Oct-07
Ik vind jullie info zeer nuttig, maar ik vroeg me af of je deze html code ook in Dreamweaver kan gebruiken en of je die dan nog steeds kan linken naar een sql database?


van: Nielz
10:14:18, 2nd-Nov-07
Ik snap er geen zak van deze site is wel helemaal top!:D
Alleen ik snap geen zak van myPHPadmin en shit
HELP:D:D

van: W
15:36:52, 24th-Nov-07
Ik snap niet wat je met de broncode onder het kopje "Html formulier data ophalen met php en invoegen in de mysql database"
moet doen...?>??

van: W
15:48:45, 24th-Nov-07
Oww ik vat m al, die hoort samen bij "Php redirect"
in verwerkingscript.php

van: W
15:54:10, 24th-Nov-07
Hmmm... t enige waar ik nog niet helemaal uit ben is het aanmaken van die table in MySQL, ik gebruik namelijk PHPmyAdmin en als ik dan die sql code invoer dan geeft ie een foutmelding, dus ik heb de tables handmatig aangemaakt en de waarden uit de code overgenomen,
maar ik denk dat ik toch nog iets fout heb gedaan...

Wie kan mij helpen???

van: W
16:02:19, 24th-Nov-07
oke, die sql code is me gelukt, er stond een klein foutje in:
PRIMARY KEY (`g_id`)
Moet zijn:
PRIMARY KEY (`id`)

Maar...
hij werkt nog steeds niet... :-(

van: Vogel
19:14:52, 3rd-Jan-08
Goeie duidelijke site.
Bedankt!

van: Timothy
14:22:28, 26th-Feb-08
Wat heb ik fout gedaan. http://webfunnyfiles.nl/gast/Gastenboek.html

ALs je op verzenden klik dan geeftr hij: Error1044 : Access denied for user 'md64860db52015'@'81.4.97.%' to database 'gastenboek'

Hoe kan dit en wat heb ik verkeerd gedaan?

van: KR
21:12:02, 21st-May-08
ik krijg ook een foutmedling voor user ODCB, wat een default user blijkt te zijn.

Goeie tutorial.

van: marc blom
11:57:48, 11th-Jul-08
Beste mensen, als ik de redirect code toevoeg krijg ik steeds de volgende melding:

Warning: Cannot modify header information - headers already sent by (output started at xxx/xxx/xxx:1) in /xxx/xxx/gastenboek/verwerkscript.php on line 27

wie kan me helpen?
alvast bedankt!
marc blom
marcblom@chello.nl

van: Guy
11:48:40, 27th-Sep-08
Ik wil eens proberen of het bij u lukt.
Qu'est-ce vous que vous avez de mombreux produits sans gluten.

van: Bobbink SEO Blog
12:48:40, 14th-Oct-08
Bedankt voor het goed werkende scripts! Was al een tijdje naar op zoek in combinatie met een Captcha!

van: Talitha
20:44:18, 14th-Mar-09
Greeting. Few people think more than two or three times a year; I have made an international reputation for myself by thinking once or twice a week.
I am from Myanmar and also am speaking English, please tell me right I wrote the following sentence: "Travelation specializes in selling last minute airline."

Thanks for the help :(, Talitha.

weet iemand hier een oplossing voor?

van: ghj
16:38:17, 9th-Jul-09
jhf

van: pachy
18:01:30, 18th-Jan-10
Wie kan mij helpen : Ik krijg onderstaande error:

Error1045 : Access denied for user \'handinhand\'@\'localhost\' (using password: NO)

van: ome Jan
11:57:12, 18th-Jul-10
Doet een <a href="ns.nl">linkje</a>het ook?

van: ome Jan
11:58:46, 18th-Jul-10
Doet een <a href="http://www.ns.nl">linkje</a>het ook?

van: ome jan
11:59:52, 18th-Jul-10
Een <b>vette</b> geit

Commentaar toevoegen:
Naam:
Link:(niet verplicht)
Commentaar:
<-- code:
  

Pagina's in dit artikel:
pagina 3
PHP script voor MySQL database insert



Snel zoeken:



kapitein Prikkie
40 Euro

Toevallig
passerende
cartoon
:




All content copyleft 2008 Joris Osterhaus - www.hardcode.nl