de data komt niet in de database
insert.php
-----------------------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include ("dbconnect.php");
/*
$name = $_POST['name'];
$description = $_POST['description'];
$SQL_statement = "INSERT INTO projects (name,description)
VALUES ("$name", "$description")";
$re = mysql_query($SQL_statement);
if(!$re) die(mysql_error());
*/
$sql = "INSERT INTO projects (id, naam, description) VALUES ";
$sql .= "('', '" . $_POST['name'] . "', '" . $_POST['description'] . "')";
$res = mysql_query($sql);
echo $res;
?>
include ("dbconnect.php");
/*
$name = $_POST['name'];
$description = $_POST['description'];
$SQL_statement = "INSERT INTO projects (name,description)
VALUES ("$name", "$description")";
$re = mysql_query($SQL_statement);
if(!$re) die(mysql_error());
*/
$sql = "INSERT INTO projects (id, naam, description) VALUES ";
$sql .= "('', '" . $_POST['name'] . "', '" . $_POST['description'] . "')";
$res = mysql_query($sql);
echo $res;
?>
------------------------------------
form.php
------------------------------------
<form method="post" action="insert.php" enctype="text/plain">
<p>Project Name:<input type="text" size="20" maxlength="20" name="name">
<p>Project Description:<br><textarea name="description" rows="5" cols="30"> </textarea>
<p><input type="Submit" name="Submit" value="Submit">
<input type="Reset" name="Reset" value="Reset">
</form>
------------------------------------
read.php
------------------------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include("dbconnect.php");
$s = "SELECT * FROM projects"; //maak de var $s aan.
$r = mysql_query($s); //maak de var $r aan.
while($d = mysql_fetch_array($r)) { //met de functie mysql_fetch_array() worden de geselecteerde records weergegeven.
echo $d['id'] . " " . $d['name'] . " " . $d['description'] . "<BR>"; /**echo met behulp van de array $d de
records uit de db, waarbij hetgeen tussen [' '] overeenkomt met een veld uit
de tabel.**/
}
mysql_close(); //verbinding verbreken
?>
include("dbconnect.php");
$s = "SELECT * FROM projects"; //maak de var $s aan.
$r = mysql_query($s); //maak de var $r aan.
while($d = mysql_fetch_array($r)) { //met de functie mysql_fetch_array() worden de geselecteerde records weergegeven.
echo $d['id'] . " " . $d['name'] . " " . $d['description'] . "<BR>"; /**echo met behulp van de array $d de
records uit de db, waarbij hetgeen tussen [' '] overeenkomt met een veld uit
de tabel.**/
}
mysql_close(); //verbinding verbreken
?>
mysql_query($sql) or die(mysql_error());
hieruit kan je je fout afleiden.
Ook kun je er beter beveiligen tegen msqlinjecten door overal
mysql_real_escape_string( ) te plaatsen.
kan je een voorbeeld geven met dat mysql_real_escape_string( )?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "INSERT INTO projects (id, naam, description)
VALUES('', '" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['description']) . "')";
$res = mysql_query($sql) or die(mysql_error());
?>
$sql = "INSERT INTO projects (id, naam, description)
VALUES('', '" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['description']) . "')";
$res = mysql_query($sql) or die(mysql_error());
?>
Welke error krijg je nu?
als ik wat ingevuld heb en dan op submit klikt kom er een 1 op me scherm, en ook bij read.php
nu waneer je de pagina wil ophalen moet het zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
include("dbconnect.php");
$s = "SELECT * FROM projects"; //maak de var $s aan.
$r = mysql_query($s) or die(mysql_error()); //maak de var $r aan.
while($d = mysql_fetch_assoc($r))
{
echo $d['id'] . " " . $d['name'] . " " . $d['description'] . "<BR>";
}
?>
include("dbconnect.php");
$s = "SELECT * FROM projects"; //maak de var $s aan.
$r = mysql_query($s) or die(mysql_error()); //maak de var $r aan.
while($d = mysql_fetch_assoc($r))
{
echo $d['id'] . " " . $d['name'] . " " . $d['description'] . "<BR>";
}
?>
wat krijg je dan te zien?
nog steeds een 1 van id denk ik, en in phpmyadmin zie ik ook dat alleen id is ingevuld en dat is 1, en name en description zijn leeg
dat je wil zeggen dat je $_POST leeg is dus je zal even moeten kijkenhoe deze noemen in je form
maar die zijn toch goed als je in form.php kijkt?
(die 1 is nog van een mislukte toevoeging van id)
dit is me insert.php nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include ("dbconnect.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
print_r ($_POST);
}
$sql = "INSERT INTO projects (id, name, description)
VALUES('', '" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['description']) . "')";
$res = mysql_query($sql) or die(mysql_error());
echo $res;
?>
include ("dbconnect.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
print_r ($_POST);
}
$sql = "INSERT INTO projects (id, name, description)
VALUES('', '" . mysql_real_escape_string($_POST['name']) . "', '" . mysql_real_escape_string($_POST['description']) . "')";
$res = mysql_query($sql) or die(mysql_error());
echo $res;
?>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
<form method="post" action="insert.php" enctype="text/plain">
<p>Project Name:<input type="text" size="20" maxlength="20" name="name">
<p>Project Description:<br><textarea name="description" rows="5" cols="30"> </textarea>
<p><input type="Submit" name="Submit" value="Submit">
<input type="Reset" name="Reset" value="Reset">
</form>
?>
<form method="post" action="insert.php" enctype="text/plain">
<p>Project Name:<input type="text" size="20" maxlength="20" name="name">
<p>Project Description:<br><textarea name="description" rows="5" cols="30"> </textarea>
<p><input type="Submit" name="Submit" value="Submit">
<input type="Reset" name="Reset" value="Reset">
</form>
?>
Haal dat enctype uit je form tag, dan lukt het wel.
het werkt nu :)