Door
Jasper Verelst
op 19-08-2014 18:17
gewijzigd op 19-08-2014 19:29
4.099 views
Hallo
Ik probeer al enige tijd een formulier te maken waarbij de ingeputte gegevens naar een MySQL-database gezonden worden. Ondanks enkele tutorials lukt het me niet want ik krijg blijkbaar geen verbinding met de database.
Hieronder post ik de twee files die beide op de wampserver staan.
Wat doe ik fout?
Misschien moet ik aanpassingen doen in phpMyAdmin? Ik gebruik de gewone comm.server met als referenties localhost, root en zonder paswoord. Ik maakte een database jvdatabase met een tabel met twee kolommen.
Het invulformulier (.php)
<head>
<title></title>
</head>
<body>
<h1>A small example page to insert some data in to the MySQL
database using PHP</h1>
<form action="send.php" method="post">
Firstname: <input type=
"text" name="Firstname" value=""><br>
<br>
Lastname: <input type="text" name="Lastname" value=""><br>
<br>
<input type="submit" name="submit"></form>
</body>
</html>
PHP-file voor de aansluiting met de database (.php)
<?php
$hostname="localhost";
$database="jvdatabase";
$username="root";
$password="";
$link = mysql_connect($hostname, $username, $password);
if (!$link) {
die('Connection failed: ' . mysql_error());
}
else{
echo "Connection to MySQL server " .$hostname . " successful!
" . PHP_EOL;
}
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
die ('Can\'t select database: ' . mysql_error());
}
else {
echo 'Database ' . $database . ' successfully selected!';
}
if (isset($_POST['submit']))(
$sql="INSERT INTO formulier1 (FirstName, LastName)
VALUES ('$_POST'[Firstname]','$_POST'[Lastname]')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysql_close($link);
?>
Hopelijk kan iemand me helpen.
Bedankt en groetjes!
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
//select a database to work with
$selected = mysql_select_db("jvdatabase",$dbhandle)
or die("Could not select examples");
$sql="INSERT INTO probeersel (FirstName, LastName, Age)
VALUES ($_POST['firstname'], $_POST['lastname'], $_POST['age'])";
Dat komt uit de function en is pure php. De function wordt niet eens aangeroepen. Staat php wel aktief?
Or die() is geen foutafhandeling maar een sterfgeval.
Je gebruikt in het begin mysql_ functies en opeens stap je over op mysqli_ dat gaat natuurlijk niet.
Regel 39 t/m 41 slaan nergens op. Je probeert iets te beveiligen terwijl het in de vorige regel al in een variabele is gezet die zo de database in gaat. Daarbij zet je het beveiligde in nieuwe variabelen die je nooit meer gebruikt.
Ok geweldig, ik zie het idd, er komen nu ook errors tevoorschijn. Dan probeer ik het script verder juist te krijgen. Zoals jullie al gemerkt hebben ben ik volop in de leerfase.
Mag ik jullie alvast bedanken voor jullie hulp en razendsnelle feedback.
Van harte! 'En mss tot snel ;)