Nu is het de bedoeling dat ik dat via een webpagina ga doen, zodat ik de data op een snelle(re) manier kan invoeren. Op termijn is het de bedoeling dat anderen ook toegang krijgen tot de pagina en hiermee dus ook de database kunnen vullen.
Ik heb hieronder een stuk tekst met daaronder de betreffende code geplaatst, met daaronder een nieuw stuk tekst en een nieuw stuk code, etc.
Ik heb hiervoor een script gebruikt via http://www.sitemasters.be/tutorials/2/1/78/MySQL/Formulier. Zie ook hieronder. Dit werkt prima.
Ik roep de php pagina db_config aan waarin mijn inloggegevens staan voor de (lokale) database.
<?php
require_once 'db_config.php'; //verbinding maken
mysql_select_db('rum') or die (mysql_error()); //errorhandling
if(isset($_POST['verzenden']))
{
$sVoornaam = addslashes($_POST['voornaam']);
$sAchternaam = addslashes($_POST['achternaam']);
$iLeeftijd = addslashes($_POST['leeftijd']);
mysql_query("INSERT INTO formulier (voornaam, achternaam, leeftijd) VALUES ('".$sVoornaam."', '".$sAchternaam."', '".$iLeeftijd."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else
{
?>
<form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
Voornaam: <input type="text" name="voornaam"><br />
Achternaam: <input type="text" name="achternaam"><br />
Leeftijd: <input type="text" name="leeftijd"><br />
<input type="submit" name="verzenden" value="verzenden">
</form>
<?
}
?>
Ik heb een aantal waarden aangepast en ik heb er onderstaand van gemaakt. Als ik dit uitvoer krijg ik mijn pagina met textboxen en een verzend knop weer terug, maar er worden geen records in de tabel `nose` weggeschreven.
<?php
require_once 'db_config.php'; //verbinding maken
mysql_select_db('rum') or die (mysql_error()); //errorhandling
if(isset($_POST['verzenden']))
{
$cRumName = addslashes($_POST['RumName']);
$iAge = addslashes($_POST['Age']);
mysql_query("INSERT INTO `nose` ('RumName', 'Age') VALUES ('".$cRumName."', '".$iAge."')") or die (mysql_error());
}
else
{
?>
<form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
Rumnaam: <input type="text" name="RumName"><br />
Leeftijd: <input type="text" name="Age"><br />
<input type="submit" name="Verzenden" value="Verzenden">
</form>
<?php
}
?>
Ik heb ook een query gemaakt in PHP die uit dezelfde tabel de waarden naam en leeftijd teruggeeft en in een tabel plaatst op de site. Dit gaat zonder problemen. (De code hiervoor staat hieronder).
<?php
require_once 'db_config.php'; //verbinding maken
mysql_select_db('rum') or die (mysql_error()); //errorhandling
$query = "SELECT `Age`,`RumName` FROM `nose` WHERE `Age` > '5' ";
//query is aangemaakt
$sql = mysql_query($query) or die ( mysql_error( ) );
//query is uitgevoerd
echo"<table>
<tr><td>Naam</td><td>Leeftijd</td></tr>";
while($record = mysql_fetch_object($sql)){
echo"<tr><td>".$record->RumName."</td><td>".$record->Age."</td></tr>";
}
echo"</table>";
?>
Eerst dacht ik aan een rechten probleem, omdat ik wel kan lezen, maar niet kan schrijven. Ik heb daarom het gekopieerde script nog een keer in mijn PHP pagina gebruikt om te zien of ik de voornaam, achternaam en leeftijd in een andere tabel in dezelfde database wel weg kan schrijven. Dat lukte wel, dus ik denk dat het veilig is om de aanname te doen dat er voldoende rechten zijn.
Ik had eigenlijk gehoopt dat het gedeelte 'or die (mysql_error());' er voor zou zorgen dat ik een foutmelding zou zien, maar dat gebeurt ook niet. Ik heb dus nu geen idee wat ik fout doe en waar ik het nog moet zoeken.
Waarschijnlijk is het voor de toppers hier een peuleschilletje, dus als iemand me op weg zou willen helpen zou ik zeer dankbaar zijn.