insert MYSQL dmv HTML FORM

Status
Niet open voor verdere reacties.

alain1988

Terugkerende gebruiker
Lid geworden
29 jan 2010
Berichten
1.175
beste ik heb hier iets geprogrameerd dat de ingevulde data zou moeten weg schrijven in mijn mysql database maar krijg nog fouten ik plak hier onder de code even misschien kunnen julle effe kijken wat ik verkeerd doe ik zie het niet meer :(
form.html
HTML:
<html>
<head>
	<title>Form</title>
</head>
<body>

<table width="200" border="0" align="center">
  <tr>
    <td>Naam:</td>
    <td><input type="text" name="naam" /></td>
  </tr>
  <tr>
    <td>Voornaam:</td>
    <td><input type="text" name="voornaam" /></td>
  </tr>
  <tr>
    <td>tel</td>
    <td><input type="text" name="tel" /></td>
  </tr>
  <tr>
    <td>adres:</td>
    <td><input type="text" name="adres" /></td>
  </tr>
  <tr>
    <td>postcode:</td>
    <td><input type="text" name="postcode" /></td>
  </tr>
  <tr>
    <td>gemeente: </td>
    <td><input type="text" name="gemeente" /></td>
  </tr>
</table>
<form action="insert.php" method="post">
<center><input type="submit" value="verzenden" />
  <input type="reset" value="leegmaken" />
</center>
</form>

</body>
</html>

insert.php

PHP:
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
	die ('kan niet verbinden: ' . mysql_error());
}
mysql_select_db("database");
mysql_query("INSERT INTO gsm (naam, voornaam, tel, adres, postcode, gemeente)
VALUES
('$_POST[naam]','$_POST[voornaam]','$_POST[tel]','$_POST[adres]','$_POST[postcode]','$_POST[gemeente]')";

if (!mysql_query($sql,$con))
	{
	die ('Fout: ' . mysql_error());
	}
echo " 1 Record Toegevoegd";
mysql_close($con)

?>
 
Kijk eens op lijn 7 in insert.php.
Je vergeet het connectie object mee te geven.

PHP:
mysql_select_db("database", $con);
 
dat zou inderdaad kunnen maar eerst nog effe foutje zoeken ergen te veel ';' brackets gezet
 
Het connectie-object hoef je niet per se mee te geven aan mysql_select_db, het is een optioneel argument. Het probleem is hier dat je de array-variabelen niet op deze manier in een string kan zetten. Je zal regel 8-10 dus moeten veranderen in:
PHP:
mysql_query("INSERT INTO gsm (naam, voornaam, tel, adres, postcode, gemeente)
VALUES
('" . $_POST['naam'] . "','" . $_POST['voornaam'] . "','" . $_POST['tel'] . "','" . $_POST['adres'] . "','" . $_POST['postcode'] . "','" . $_POST['gemeente'] . "'");

[edit]En op regel 17 ben je een puntkomma vergeten.[/edit]
 
Laatst bewerkt:
Alle velden die je mee wilt nemen dien je tussen <form> te plaatsen.

Dus regel 33 van je HTML-form hierboven moet op regel 6 bijvoorbeeld
 
nu krijg ik dit

Notice: Undefined index: naam in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined index: voornaam in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined index: tel in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined index: adres in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined index: postcode in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined index: gemeente in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 11

Notice: Undefined variable: sql in C:\wamp\www\PHP & MYSQL\project alfa\schrijven naar db\insert.php on line 13
Fout: Query was empty
 
We weten nu niet welke regel 11 is... Mogen we de code nog een keer zien?
 
Lijkt mij nogsteeds de quote kwestie van de INSERT-query.

Supersnail zijn antwoord moet dat oplossen
 
Vergeet niet mysql_real_escape_string toe te passen, voordat je straks helemaal geen database meer hebt.
 
Ok heb de code wat herschreven nu krijg ik nog een fout melding namelijk :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

PHP:
<?php

//var
$host = "localhost";
$user = "root";
$pass = "";
$database = "database";
$tabel = "gsm";
//einde war
mysql_connect($host,$user,$pass);
mysql_select_db($database) or die (mysql_error());


if(isset ($_POST['verzenden']))
{
    $naam       = addslashes($_POST['naam']);
    $voornaam   = addslashes($_POST['voornaam']);
    $tel        = addslashes($_POST['tel']);
    $adres      = addslashes($_POST['adres']);
    $postcode   =addslashes($_POST['postcode']);
    $gemeente   =addslashes($_POST['gemeente']);

    mysql_query("INSERT INTO $tabel(`naam`, `voornaam`, `tel`, `adres`, `postcode`, `gemeente`) ") or die (mysql_error());

    echo " je gegevens zijn succesvol in de database geplaatst";
}
else
{

}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
naam: <input type="text" name="naam"><br />
voornaam : <input type="text" name="voornaam"><br />
tel: <input type="text" name="tel"><br />
adres: <input type="text" name="adres"><br />
postcode : <input type="text" name="postcode"><br />
gemeente: <input type="text" name="gemeente"><br />

<input type="submit" name="verzenden" value="verzenden">
<input type="reset" name="leegmaken" value="leegmaken">
</form>
<?

?>
 
je moet wel een juiste query gebruiken.
Het moet er uitzien als dit:
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");

klik HIER om meer te lezen over inster inyo
 
opgelost heb men brains eens goed laten werken en wat opgezocht in men boek van php en is me gelukt toch bedankt
 
Ook de mysql_real_escape_string() toegepast?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan