De casus die gesteld wordt:

Bouw een interactieve site die wordt gekoppeld aan een MySQL-database.

•Gegevens invoeren in de database.
•Gegevens uit de database presenteren.

Ik heb een formulier gemaakt dat de database aanmaakt (database makennieuw.php):

<?php

mysql_connect;

mysql_query('create database klantgegevens_hema');

mysql_select_db('klantgegevens_hema');
print '<p>De database is geselecteerd</p>';

// kgh = klantgegevens hema
$query='CREATE TABLE kgh(
klantnummer INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
voornaam VARCHAR(20) NOT NULL,
achternaam VARCHAR(20) NOT NULL,
email VARCHAR(20) NOT NULL,
commentaar VARCHAR(100))';

if (@mysql_query($query)){;
print'<p>de tabel is gemaakt</p>';
} else {
die('<p>tabel niet gemaakt omdat:<b>'.mysql_error().'</b>.</p>De gevraagde query was:'.$query.'</p>');
}

mysql_close();

?>


en het andere wat de gegevens erin moet stoppen(gegevensinvoerenEDIT.php):


<html>
<head>
<title>een blog entry toevoegen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">

<?php
ini_set('display_errors',1);
error_reporting(E_ALL&~E_NOTICE);

if(isset($_POST['submit'])){//behandeld het formulier

//connect en selecteer
if($dbc=@mysql_connect){//hier nog zonder root en qwerty voor school

if(!@mysql_select_db('klantgegevens_hema')){
die('<p>Could not select the database because:<b>'.mysql_error().'</b></p>');
}

}else{
die('<p>Could not connect to MySQL because:<b>'.mysql_error().'</b></p>');
}

//Definieer de query
$query="INSERT INTO `kgh`(klantnummer,voornaam,achternaam,telefoonnummer,email,commentaar)
VALUES('','{$_POST['voornaam']}','{$_POST['achternaam']}','{$_POST['telefoonnummer']}','{$_POST['email']}','{$_POST['commentaar']}')";

//voer de query uit
if(@mysql_query($query))
{
(print"<p><i>Uw gegevens zijn toegevoegd. Bedankt voor uw bijdrage</i>&nbspHEMA NEDERLAND</p>");


}else{
(print"<p>Kan het niet toevoegen omdat:<b>".mysql_error()."</b>. De query was $query.</p>");
}

mysql_close();

}
//}
//laat het formulier zien
?>

<form action="GegevensinvoerenEDIT.php" method="post">
<!--Hier wordt de voor- en achternaam gevraagd-->
<br>
<table width="75%" border="0">
<tr>
<td width="21%">
<div align="right">Voornaam:&nbsp&nbsp</div>
</td>
<td width="77%">
<input type="text" name="voornaam" size="20"/>
</td>
<td width="2%">&nbsp;</td>
</tr>
<tr>
<td width="21%">&nbsp;</td>
<td width="77%">&nbsp;</td>
<td width="2%">&nbsp;</td>
</tr>
<tr>
<td width="21%">
<div align="right">Achternaam:&nbsp&nbsp</div>
</td>
<td width="77%">
<input type="text" name="achternaam" size="20"/>
</td>
<td width="2%">&nbsp;</td>
</tr>
<tr>
<td width="21%">&nbsp;</td>
<td width="77%">&nbsp; </td>
<td width="2%">&nbsp;</td>
</tr>
<tr>
<td width="21%">
<div align="right">Telefoon nummer: </div>
</td>
<td width="77%">
<input type="text" name="telefoonnummer" size="10">
</td>
<td width="2%">&nbsp;</td>
</tr>
<tr>
<td width="21%">&nbsp;</td>
<td width="77%">&nbsp;</td>
<td width="2%" rowspan="3">&nbsp;</td>
</tr>
<tr>
<td width="21%">
<div align="right">E-mailadres:&nbsp&nbsp</div>
</td>
<td width="77%">
<input type="text" name="email" size="20"/>
</td>
</tr>
<tr>
<td width="21%">&nbsp;</td>
<td width="77%">&nbsp;</td>
</tr>
<tr>
<td width="21%" height="39">
<div align="right">Opmerkingen:&nbsp&nbsp</div>
</td>
<td width="77%" rowspan="2">
<textarea name="commentaar"
rows="4" cols="30"></textarea>
</td>
<td width="2%" rowspan="2">&nbsp;</td>
</tr>
<tr>
<td width="21%">&nbsp;</td>
</tr>
</table>
<br>
<table width="75%" border="0">
<tr>
<td width="21%">&nbsp; </td>
<td width="30%">
<input type="submit" name="submit" value="Verstuur mijn gegevens"/>
</td>
<td width="49%">
<input type="reset" name="reset" value="Leeg het formulier"/>
</td>
</tr>
</table>

</form>

</body>
</html>

-------------------------------



Is er misschien iemand die mij kan vertellen wat er fout is aan de code? Als n00b is het voor mij nog bijna allemaal magie wat er gebeurd ;)

Bvd Paul

edit: </form> toegevoegd, ; haakjes toegevoegd en { toegevoegd, ipadres en datum verwijderd bij INSERT en VALUES, 0 veranderd in '', ' toegevoegd
Mist </form>
Bedankt! Das iig al een stap verder :)

Krijg nu alleen de error:

Parse error: syntax error, unexpected T_STRING in c:\program files\WAMP5\wamp\www\new project\gegevensinvoeren.php on line 42
Ik moet toch naar het eigen formulier linken?
print'<p>Het is toegevoegd</p>';

Bij print horen haakjes bij echo niet...

print("<p>Het is toegevoegd</p>");

Edit Typo
Parse error: syntax error, unexpected '}' in c:\program files\WAMP5\wamp\www\new project\gegevensinvoeren.php on line 37

is de } onder mysql_close();
Wat klopt daar niet aan?
if($dbc=@mysql_connect)//hier nog zonder root en qwerty voor school

Daar staat geen {
/form> Moet </form> zijn... (Of snapte je dat wel... Je zegt in je edit, en in je code fout, vandaar)
Willem-Jan schreef op 08.06.2005 00:00
/form> Moet </form> zijn... (Of snapte je dat wel... Je zegt in je edit, en in je code fout, vandaar)

Ja idd, heb het op mijn pc wel goed staan

nu krijg ik de error: Kan het niet toevoegen omdat:Column count doesn't match value count at row 1. De query was INSERT INTO kgh (klantnummer,voornaam,achternaam,response,commentaar,ipadres,datum)VALUES(0,'Paul','Naaktgeboren','\'s ochtends','hoooooooi ','','',NOW()).

Is klantnummer auto increment? Gebruik dan '' (leeg) in plaats van 0
Parse error: syntax error, unexpected ',' in c:\program files\WAMP5\wamp\www\new project\gegevensinvoeren.php on line 26

$query="INSERT INTO kgh(klantnummer,voornaam,achternaam,response,commentaar)VALUES(",'{$_POST['voornaam']}','{$_POST['achternaam']}','{$_POST['response']}','{$_POST['commentaar']}',NOW())";
Maar nu heb je (5 items)VALUES(6 items)

Reageren