formulier naar database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond de graaf

raymond de graaf

31/01/2012 23:04:17
Quote Anchor link
Goedendag,

Ik heb een vraag want ben helemaal het spoor bijster.

ik ben een beetje aan het oefenen met php en nu wil ik een formulier invullen en dit in een database wegschrijven.

huidige situatie:

Ik heb een database restaurants met daarin een tabel restaurant.
daar zitten dit weer in: naam, straat, huisnummer, plaats, postcode, plaats, email, telefoon, keuken.

ik heb mezelf ingevoerd via phpmydmin.

als ik het bestand read.php open krijg ik mooi de inhoud van de DB te zien.. (wat ik handmatig heb ingevoerd)

met het invoerformulier krijg ik niks in de DB..
ben al 4 uur aan het googlen, klooien, en frustreren.. maar het gaat gewoon niet!

wie helpt me verder?? bij voorbaat dank


het formulier

<html>
<head>
<html>
<title>Untitled Document</title>
</head>

<body>

<form action="insert.php" method="post">

Naam: <input type="text" name="naam"><br>
straat: <input type="text" name="straat"><br>
huisnummer: <input type="text" name="huisnummer"><br>
postcode: <input type="text" name="postcode"><br>
woonplaats: <input type="text" name="plaats"><br>
provincie: <input type="text" name="provincie"><br>
email: <input type="text" name="email"><br>

<input type="Submit">
</form>
</body>
</html>

insert.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
<?
$username
="username";
$password="pw";
$database="restaurants";

$naam=$_POST['naam'];
$straat=$_POST['straat'];
$huisnummer=$_POST['huisnummer'];
$postcode=$_POST['postcode'];
$plaats=$_POST['plaats'];
$provincie=$_POST['provincie'];
$email=$_POST['email'];

mysql_connect('localhost',$username,$password);
@
mysql_select_db($database) or die( "Unable to select database");

//$query = "INSERT INTO `restaurants`.`restaurant` VALUES ('','$naam','$straat','$huisnummer','$postcode','$plaats','$provincie','$email')";
//mysql_query($query);


$query = "INSERT INTO `restaurants`.`restaurant` (`id`, `naam`, `straat`, `huisnummer`, `postcode`, `plaats`, `provincie`, `email`, `telefoon`, `keuken`) VALUES (NULL, 'test', 'stationweg', '78', '', 'alkmaar', 'limburg', '', '', '')";

mysql_close();
?>


uitlezen:

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
<?
$username
="username";
$password="pw";
$database="restaurants";

mysql_connect('localhost',$username,$password);
@
mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM restaurant";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

echo "<b><center>Database Output</center></b><br><br>";

$i=0;
while ($i < $num) {

$naam=mysql_result($result,$i,"naam");
$straat=mysql_result($result,$i,"straat");
$huisnummer=mysql_result($result,$i,"huisnummer");
$postcode=mysql_result($result,$i,"postcode");
$plaats=mysql_result($result,$i,"plaats");
$provincie=mysql_result($result,$i,"provincie");
$email=mysql_result($result,$i,"email");

echo "<b>Naam: $naam<br>Straat: $straat</b>Huisnummer: $huisnummer<br>postcode: $postcode<br>plaats: $plaats<br>Provincie: $provincie<br>Email: $email<br><hr><br>";

$i++;
}


?>
 
PHP hulp

PHP hulp

05/01/2025 00:48:01
 
Erwin H

Erwin H

31/01/2012 23:11:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
mysql_connect('localhost',$username,$password);
@
mysql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO `restaurants`.`restaurant` (`id`, `naam`, `straat`, `huisnummer`, `postcode`, `plaats`, `provincie`, `email`, `telefoon`, `keuken`) VALUES (NULL, 'test', 'stationweg', '78', '', 'alkmaar', 'limburg', '', '', '')";

mysql_close();
?>

Je maakt connectie met de DB.
Je schrijft een query.
Je sluit de database.

Dat is zoiets als in de auto stappen, de navigatie computer instellen en dan weer uit de auto stappen en het vreemd vinden dat je nog voor je huis staat....

Misschien de query ook uitvoeren?
Gewijzigd op 31/01/2012 23:13:17 door Erwin H
 
Raymond de graaf

raymond de graaf

31/01/2012 23:21:08
Quote Anchor link
das een heldere uitleg, komt denk door al dat geklooi.

maar dit staat toch los van dat hij het niet wegschrijft?

dat is in read.php

weet je daar de oplossing voor?
 
Erwin H

Erwin H

31/01/2012 23:28:10
Quote Anchor link
Ik zie in jouw query een "INSERT INTO" staan. Dat staat dus niet los van dat hij het niet wegschrijft, dat IS je wegschrijf query. Als je die dus niet uitvoert komt er niets in je database. Lijkt mij nogal logisch....
 
Raymond de graaf

raymond de graaf

31/01/2012 23:31:46
Quote Anchor link
sorry maar voor mij is het nog niet helemaal logies, je uitleg wel maar hoe voer ik de query dan uit?

ben een paar maanden geleden begonnen met een phpboek en daar ben ik vanaf maandag weer mee begonnen, heb al eerder zo een form gemaakt maar het lukt met echt ni meer

:(
 
Erwin H

Erwin H

31/01/2012 23:36:22
Quote Anchor link
mysql_query($query);

Dat doe je later in je script namelijk wel met andere queries.....

Toevoeging op 31/01/2012 23:37:16:

Sterker nog, het staat zelfs boven de INSERT query, alleen in commentaar. Je had het dus wel goed.
 
Obelix Idefix

Obelix Idefix

01/02/2012 07:42:20
Quote Anchor link
Als je dan toch nog in de leerfase zit, leer het jezelf dan aub goed aan.

Gebruik geen short-tags voor php
Waarom variabelen kopiëren ($naam = $_POST['naam'], etc)?
Waar is je controle op die variabelen?
Gebruik geen @ om fouten te onderdrukken.
"Or die" is geen foutafhandeling.
Het gebruik van backticks in je query wordt doorgaans afgeraden.
Zorg straks voor beveiliging bij de invoer via je query (mysql_real_escape_string).
id is een auto-increment? Dan hoef je die niet te vullen via je query.
Vraag me ook af of in uitlezen.php het nodig is om al die variabelen uit te maken.
Variabelen buiten quotes. Gebruik daarom bij echo/print ' en in html " --> scheelt escapen.
 
Reshad F

Reshad F

01/02/2012 09:53:58
Quote Anchor link
correct me if im wrong, maar `restaurants` wordt ook afgeraden je kan beter gewoon restaurants gebruiken en de `` bij woorden gebruiken die al in mysql al vaste waarden zijn zoals bijv. als je drop wilt gebruiken dan kan je daar wel de `` zetten
`drop` dus maar voor de rest is het niet handig... heb ik gelijk?
 
Erwin H

Erwin H

01/02/2012 10:14:01
Quote Anchor link
Dat zijn de backticks waar Obelix het over heeft. Inderdaad heeft het geen nu om die te gebruiken rond niet gereserveerde woorden en daarnaast zou je in principe ook nooit wel gereserveerde woorden moeten gebruiken. Ergo, backticks heb je dus nooit nodig.
 



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.