invoeren in db werkt niet
nu word eerder in het script hier al een connectie mee gemaakt en word niet afgesloten. als het bod hoger is dan een oud bod krijg je de INSERT code alleen word er bij het uitvoeren hier van niks ingevoerd,,,
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO 'bieding'";
$sql .= "('naam', 'email', 'bod') ";
$sql .= " VALUES";
$sql .= "('$naam', '$email', '$bod')";
}else{
echo" uw bod is niet hoog genoeg ";
?>
[\code]
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO 'bieding'";
$sql .= "('naam', 'email', 'bod') ";
$sql .= " VALUES";
$sql .= "('$naam', '$email', '$bod')";
}else{
echo" uw bod is niet hoog genoeg ";
?>
[\code]
'bieding' is geen tabelnaam maar een waarde. In een waarde kan niks worden ingevoerd. Haal die enkele quotes dus maar weg ;-).
http://phphulp.jorendewit.nl/view/41/
Want:
- Er wordt niet gecontroleerd of de velden wel zijn ingevuld
- sql-injecties worden niet gecontroleerd
- en waar om $sql = "..." enzo ?
edit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$bod = mysql_real_escape_string($_POST['bod']); // Alle verboden tekens en alles waar sql niet tegenkan blokkeren!.
if( isset($var, $bod) && !empty($var) && !empty($bod) ) {
if( $var < $bod ) {
/*
Bod was goed, invoeren in database
Zorg dat je bod wel op geldigheid wordt gecontrolleerd bijvoorbeeld dat het is 14.00 i.p.v. 1r.00...
en check of de overige velden zijn ingevuld (naam en e-mail).
*/
} else {
// Bod is te laag.
echo 'Het bod wat u gaf was te laag, probeer opnieuw.';
}
}
?>
$bod = mysql_real_escape_string($_POST['bod']); // Alle verboden tekens en alles waar sql niet tegenkan blokkeren!.
if( isset($var, $bod) && !empty($var) && !empty($bod) ) {
if( $var < $bod ) {
/*
Bod was goed, invoeren in database
Zorg dat je bod wel op geldigheid wordt gecontrolleerd bijvoorbeeld dat het is 14.00 i.p.v. 1r.00...
en check of de overige velden zijn ingevuld (naam en e-mail).
*/
} else {
// Bod is te laag.
echo 'Het bod wat u gaf was te laag, probeer opnieuw.';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bart Tuma
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$rs=odbc_exec($conn, $sql);
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO bieding";
$sql .= "('naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
}else{
echo" uw bod is niet hoog genoeg ";
?>
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$rs=odbc_exec($conn, $sql);
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO bieding";
$sql .= "('naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
}else{
echo" uw bod is niet hoog genoeg ";
?>
nu helaas nog geen extra record nu heb ik dit toegevoegd:
Code (php)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
<form id="form1" method="post" action="<?php $_SERVER['PHP_SELF']?>">
<table width="203" height="114" border="0">
<tr>
<td width="48">naam: </td>
<td width="145"><input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td><label>bod: </label></td>
<td><input type="text" name="bod" id="bod" /></td>
</tr>
</table>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Plaats bod" />
</label>
</p>
</form>
[code]<?php
if(isset($_POST['bod'])){
if (empty($_POST['naam'])) {
echo "Je hebt geen naam ingevuld, Probeer nogmaals.";
} else if (empty($_POST['email'])) {
echo "Je hebt geen email ingevuld, Probeer nogmaals.";
} else if (empty($_POST['bod'])) {
echo "Je hebt geen bod ingevoerd, Probeer nogmaals.";
} else {
//connectie maken met db
$conn=odbc_connect('website','','');
if (isset($_POST['bod'])) {
if (!$conn) {
exit("Connection Failed: " . $conn);
}
}
//tabel ordenen
$sql = "
SELECT TOP 1 bieding.bod AS bod
FROM
bieding
ORDER BY
bieding.bod DESC
";
$rs=odbc_exec($conn,$sql);
if (!$rs){
trigger_error(odbc_error().'<br />In query: '.$sql);
}
elseif(odbc_num_rows($rs) == 0)
{
echo 'Geen resultaten gevonden';
}else{
//als rij is gevonden oprapen en dan gebruiken (weergeven of in een variabele stoppen)
while($row = odbc_fetch_row($rs))
{
$var = odbc_result($rs,1);
}
}
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$rs=odbc_exec($conn, $sql);
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO bieding";
$sql .= "(naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
}else{
echo" uw bod is niet hoog genoeg ";
}
}
}
?>
<form id="form1" method="post" action="<?php $_SERVER['PHP_SELF']?>">
<table width="203" height="114" border="0">
<tr>
<td width="48">naam: </td>
<td width="145"><input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email" id="email" /></td>
</tr>
<tr>
<td><label>bod: </label></td>
<td><input type="text" name="bod" id="bod" /></td>
</tr>
</table>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Plaats bod" />
</label>
</p>
</form>
[code]<?php
if(isset($_POST['bod'])){
if (empty($_POST['naam'])) {
echo "Je hebt geen naam ingevuld, Probeer nogmaals.";
} else if (empty($_POST['email'])) {
echo "Je hebt geen email ingevuld, Probeer nogmaals.";
} else if (empty($_POST['bod'])) {
echo "Je hebt geen bod ingevoerd, Probeer nogmaals.";
} else {
//connectie maken met db
$conn=odbc_connect('website','','');
if (isset($_POST['bod'])) {
if (!$conn) {
exit("Connection Failed: " . $conn);
}
}
//tabel ordenen
$sql = "
SELECT TOP 1 bieding.bod AS bod
FROM
bieding
ORDER BY
bieding.bod DESC
";
$rs=odbc_exec($conn,$sql);
if (!$rs){
trigger_error(odbc_error().'<br />In query: '.$sql);
}
elseif(odbc_num_rows($rs) == 0)
{
echo 'Geen resultaten gevonden';
}else{
//als rij is gevonden oprapen en dan gebruiken (weergeven of in een variabele stoppen)
while($row = odbc_fetch_row($rs))
{
$var = odbc_result($rs,1);
}
}
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$rs=odbc_exec($conn, $sql);
echo "dank u";
$naam = $_POST['naam'];
$email = $_POST['email'];
$sql = "INSERT INTO bieding";
$sql .= "(naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
}else{
echo" uw bod is niet hoog genoeg ";
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door willem van beek
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "INSERT INTO bieding";
$sql .= "('naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
?>
$sql = "INSERT INTO bieding";
$sql .= "('naam, email, bod) ";
$sql .= " VALUES";
$sql .= "($naam, $email, $bod)";
?>
Mag je veranderen in:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "INSERT INTO bieding
(naam, email, bod)
VALUES
('".$naam."', '".$email."', '".$bod."')";
?>
$sql = "INSERT INTO bieding
(naam, email, bod)
VALUES
('".$naam."', '".$email."', '".$bod."')";
?>
Uiteraard moet je de variabelen nog beveiligen tegen SQL-injection, zie de php-handleiding over odbc en de bijbehorende escape-functie.
Edit: Nog een foute quote verwijderd
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Gewijzigd op 01/01/1970 01:00:00 door Frank -
het beveiligen tegen sql-injection kan altijd nog ^^ ben best nieuw met php en kan niet alles tegelijk zou ik zeggen, heb hier en dik boek waar ik dus ook niet veel wijzer van word :P
je kan hoog of laag springen, maar het zal toch moeten tenzij je natuurlijk iemand je website mag / gaat knoeien.
http://phphulp.jorendewit.nl/view/41/1/ altijd wel handig om even door te lezen, en dat boek weg...
zie mijn edit voor een kleine toevoeging aan pqFrank... m.b.t. controle velden.
en dat dus even aan te passen.. al zal dat wel even tijd gaan kosten maar het is dus wel de moeite waard,,ok dat boek is van de tafel,,*plof* als ik die site eens bekijk en even vergelijk gaat alles op zich wel goed maar toch vreemd dat er niks in mijn db komt ik blijf het dus nu even achter de connectie aan zitten al kan hij wel eerder in het script dingen uitlezen,,,
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
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$naam = $_POST['naam'];
$email = $_POST['email'];
require_once 'phpconfig.php';
$sql = "INSERT INTO bieding
(naam, email, bod)
VALUES
('".$naam."', '".$email."', '".$bod."')";
$rs=odbc_exec($conn,$sql);
if (!$rs){
trigger_error(odbc_error().'<br />In query: '.$sql);
}
echo "dank u";
}else{
echo" uw bod is niet hoog genoeg ";
?>
$bod = $_POST['bod'];
if(isset($var, $bod) && $var < $bod){
$naam = $_POST['naam'];
$email = $_POST['email'];
require_once 'phpconfig.php';
$sql = "INSERT INTO bieding
(naam, email, bod)
VALUES
('".$naam."', '".$email."', '".$bod."')";
$rs=odbc_exec($conn,$sql);
if (!$rs){
trigger_error(odbc_error().'<br />In query: '.$sql);
}
echo "dank u";
}else{
echo" uw bod is niet hoog genoeg ";
?>