Ok het volgende is gelukt
Ik heb dus een Database met daarin een tabel : Nieuwsberichten.
In deze tabel zitten drie velden : Titel, Datum, Bericht
Ik heb een index.php gemaakt die de Tabel Nieuwsberichten uitleest, dit werkt vlekkeloos.
Ik heb een Formulier gemaakt met 3 input velden
wederom : Titel, Datum, Bericht.
Dit formulier heeft als atributen : Action="formverwerking.php" method="post".
Daarna ben ik aan formverwerking.php begonnen
Als aller eerste open ik een Database connectie. en ga de global variable $_POST['Titel']; defineren als een normale variable : $Titel. met deze variable voer ik een SQL query uit ( insert into )
Als de qeury een TRUE terug geeft dan echo mijn script mooi : de titel is toegevoegd.
de toegevoegde titel is dus ook netjes terug te vinden op de index.php
Tot zover zo goed !
Maar op het moment dat ik het zelfde ga doen voor de input Bericht gaat het dus fout ( ik doe dus nu een insert voor de titel en het bericht )
De eerste x lijkt alles goed te gaan :
maar ik word bedrogen want :
Hij voegt wel wat toe aan de Database, maar dat word een rotzooi. namelijk 1 nieuwe record voor de titel ( dit werkt ) en weer een andere record voor het bericht.
Nu ga ik de 2de x wat toevoegen aan de DB.
en krijg ik het volgende :
Query is mislukt.
Duplicate entry '' for key 1
Hij voegt wel wat toe aan de Database, namelijk 1 record met alleen de titel erin en 1 record zonder titel en zonder bericht
Nu omdat sommige dingen gewoon niet goed uit te leggen zijn zonder code
Bij deze de code
FORMULIER.PHP
Hier zijn wat dingen weghaald. want in de headers staan nog php code vandaar dat dit een php bestand is.
Formverwerking.php
En de index.php, deze is opzich overboden. want ik kan hem ook in de Database controleren en daar word hij ook verkeerd geinsert
Index.php
Heb heel wat gegoogeld, php.net, mysql maar kom er echt niet aan uit. iemand een goude tip ?
Ik heb dus een Database met daarin een tabel : Nieuwsberichten.
In deze tabel zitten drie velden : Titel, Datum, Bericht
Ik heb een index.php gemaakt die de Tabel Nieuwsberichten uitleest, dit werkt vlekkeloos.
Ik heb een Formulier gemaakt met 3 input velden
wederom : Titel, Datum, Bericht.
Dit formulier heeft als atributen : Action="formverwerking.php" method="post".
Daarna ben ik aan formverwerking.php begonnen
Als aller eerste open ik een Database connectie. en ga de global variable $_POST['Titel']; defineren als een normale variable : $Titel. met deze variable voer ik een SQL query uit ( insert into )
Als de qeury een TRUE terug geeft dan echo mijn script mooi : de titel is toegevoegd.
de toegevoegde titel is dus ook netjes terug te vinden op de index.php
Tot zover zo goed !
Maar op het moment dat ik het zelfde ga doen voor de input Bericht gaat het dus fout ( ik doe dus nu een insert voor de titel en het bericht )
De eerste x lijkt alles goed te gaan :
maar ik word bedrogen want :
Hij voegt wel wat toe aan de Database, maar dat word een rotzooi. namelijk 1 nieuwe record voor de titel ( dit werkt ) en weer een andere record voor het bericht.
Nu ga ik de 2de x wat toevoegen aan de DB.
en krijg ik het volgende :
Query is mislukt.
Duplicate entry '' for key 1
Hij voegt wel wat toe aan de Database, namelijk 1 record met alleen de titel erin en 1 record zonder titel en zonder bericht
Nu omdat sommige dingen gewoon niet goed uit te leggen zijn zonder code
Bij deze de code
FORMULIER.PHP
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <form action="Formverwerking.php" method="post">
<table width="743" border="0">
<tr>
<td width="60">Titel</td>
<td width="13">:</td>
<td width="648"><input type="text" name="Titel"></td>
</tr>
<tr>
<td>Datum</td>
<td>:</td>
<td><input type="text" name="Datum" value=""></td>
</tr>
<tr>
<td>Bericht</td>
<td>:</td>
<td><textarea name="Bericht" cols="50" rows="4"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" value="Toevoegen"></td>
</tr>
</table>
</form> |
Hier zijn wat dingen weghaald. want in de headers staan nog php code vandaar dat dit een php bestand is.
Formverwerking.php
code:
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
| <?
include("../includes/mysql_connect.inc.php");
$Connectie = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die ("MYSQL connectie is niet gemaakt." );
if (is_resource($Connectie)) {
echo "MYSQL connectie is gemaakt.";
}
$DbConnectie = mysql_select_db(MYSQL_DATABASE);
if ($DbConnectie == TRUE) {
echo "<br> Database kon worden geopend."; }
else {
echo "Database kon niet worden geopend.";
}
if (isset($_POST['Titel'])) {
$Titel = $_POST['Titel'];
$sql = "INSERT INTO nieuwsberichten (Titel) VALUES ('$Titel');";
$result = mysql_query($sql) or die("<br><br>Query is mislukt.<br>" .mysql_error());
if ($result == TRUE) {
echo "Titel is toegvoegd aan de Database.";
}
}
if (isset($_POST['Bericht'])) {
$Bericht = $_POST['Bericht'];
$sql = "INSERT INTO nieuwsberichten (Bericht) VALUES ('$Bericht');";
$result = mysql_query($sql) or die("<br><br>Query is mislukt.<br>" .mysql_error());
if ($result == TRUE) {
echo "Bericht IS TOEGEVOEGD.";
}
}
?> |
En de index.php, deze is opzich overboden. want ik kan hem ook in de Database controleren en daar word hij ook verkeerd geinsert
Index.php
code:
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
| <?php
require_once("includes/mysql_connect.inc.php");
$Connectie = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die ("MYSQL connectie is niet gemaakt." );
if (is_resource($Connectie)) {
echo "MYSQL connectie is gemaakt.";
}
$DbConnectie = mysql_select_db(MYSQL_DATABASE);
if ($DbConnectie == TRUE) {
echo "<br> Database kon worden geopend."; }
else {
echo "Database kon niet worden geopend.";
}
$sql = "SELECT `Titel`, `Datum`, `Bericht` FROM `Nieuwsberichten`";
$result = mysql_query($sql) or die("<br><br>Query is mislukt<br>" .mysql_error());
while ($record = mysql_fetch_array($result)) {
echo "<br><br>";
echo $record ['Titel'];
echo "<br>";
echo $record ['Datum'];
echo "<br>";
echo $record ['Bericht'];
}
?> |
Heb heel wat gegoogeld, php.net, mysql maar kom er echt niet aan uit. iemand een goude tip ?