if empty
alvast bedankt.
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
include('database.php');
if(!empty($_POST['submit'])){$klant=$_POST['boerselect'];
$litersmelk = mysql_real_escape_string($_POST['litersmelk']);
$date = mysql_real_escape_string(date("Y-m-d"));
$temperatuur = $t;
$uitbetaald = mysql_real_escape_string('Nee');
// het uit de database halen van melkprijs
$sql = "SELECT * FROM melkprijs";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$melkprijs= $row['melkprijs'];
$totaalprijs= $litersmelk * $melkprijs ;
{
echo "De gegevens zijn succesvol ingevoerd";
header('refresh:2; url=./orders.php');
}
$query1="INSERT INTO leveringen VALUES ('$id','$klant','$date','$litersmelk','$temperatuur','$melkprijs','$totaalprijs','$uitbetaald')";
mysql_query($query1) or die (mysql_error());
mysql_close();
}
?>
<table>
<form action="./orders.php" method="POST">
<tr>
<td>Klant</td>
<td>
<?php
include('database.php');
$query = "SELECT id FROM members WHERE Operator = 'Boer' ";
$uitvoeren = mysql_query($query);
echo '<select name ="boerselect">';
echo "<option></option>";
while($row = mysql_fetch_assoc($uitvoeren))
{
echo "<option value =" .$row['id']. ">" .$row['id']. "</option>";
}
echo '</select>';
mysql_query($query) or die (mysql_error());
mysql_close();
?>
</td>
</tr>
<tr>
<td>Datum</td><td><?php print(date("d-m-Y"));?> </td>
</tr>
<tr>
<td>melkprijs</td><td>
<?php
include('database.php');
$sql = "SELECT * FROM melkprijs";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$melkprijs= $row['melkprijs'];
echo "€ $melkprijs";
?>
</td>
</tr>
<td>Aantal Liters</td><td> <input type="text" name="litersmelk"></td>
</tr>
<tr>
<td>Temperatuur(C)</td><td><?php echo " $t";?><td>
</tr>
<tr>
<td colspan="0"><td><input type="reset" name="Submit2" value="Wissen"> <input type="submit" name="submit" value="Invoeren"></td>
</tr>
</form>
</form>
</table>
[\code]
include('database.php');
if(!empty($_POST['submit'])){$klant=$_POST['boerselect'];
$litersmelk = mysql_real_escape_string($_POST['litersmelk']);
$date = mysql_real_escape_string(date("Y-m-d"));
$temperatuur = $t;
$uitbetaald = mysql_real_escape_string('Nee');
// het uit de database halen van melkprijs
$sql = "SELECT * FROM melkprijs";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$melkprijs= $row['melkprijs'];
$totaalprijs= $litersmelk * $melkprijs ;
{
echo "De gegevens zijn succesvol ingevoerd";
header('refresh:2; url=./orders.php');
}
$query1="INSERT INTO leveringen VALUES ('$id','$klant','$date','$litersmelk','$temperatuur','$melkprijs','$totaalprijs','$uitbetaald')";
mysql_query($query1) or die (mysql_error());
mysql_close();
}
?>
<table>
<form action="./orders.php" method="POST">
<tr>
<td>Klant</td>
<td>
<?php
include('database.php');
$query = "SELECT id FROM members WHERE Operator = 'Boer' ";
$uitvoeren = mysql_query($query);
echo '<select name ="boerselect">';
echo "<option></option>";
while($row = mysql_fetch_assoc($uitvoeren))
{
echo "<option value =" .$row['id']. ">" .$row['id']. "</option>";
}
echo '</select>';
mysql_query($query) or die (mysql_error());
mysql_close();
?>
</td>
</tr>
<tr>
<td>Datum</td><td><?php print(date("d-m-Y"));?> </td>
</tr>
<tr>
<td>melkprijs</td><td>
<?php
include('database.php');
$sql = "SELECT * FROM melkprijs";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$melkprijs= $row['melkprijs'];
echo "€ $melkprijs";
?>
</td>
</tr>
<td>Aantal Liters</td><td> <input type="text" name="litersmelk"></td>
</tr>
<tr>
<td>Temperatuur(C)</td><td><?php echo " $t";?><td>
</tr>
<tr>
<td colspan="0"><td><input type="reset" name="Submit2" value="Wissen"> <input type="submit" name="submit" value="Invoeren"></td>
</tr>
</form>
</form>
</table>
[\code]
if($_SERVER['REQUEST_METHOD'] == 'POST')
niet met if post submit
En om te kijken of een variabele leeg is gebruik ik gewoon
Gerhard l op 09/04/2011 12:15:46:
ik snap de code wel alleen ik zit het het probleem hoe ik dit "$litersmelk = mysql_real_escape_string($_POST['litersmelk']" in een if else zit omdat ik eerst de variable hebt en dan mysql_real_escape_string.
Gerhard l op 09/04/2011 12:15:46:
Dit is geen nette manier. Je kijkt nu in feite eigenlijk of $_POST['iets'] true of false is. Gebruik isset() of empty().
mysql_real_escape_string() gebruik je alleen in een query.
nee, dat kan niet. niet onnodig vars kopieren.
dus als ik het goed begrijp van msql_real_escape_string weg en kan ikgewoon $_post['iets doen']; en hoe zit dat dan als ik hem wil posten in mijn database want, daar heb je die variable toch voor nodig. en hoe zit dit dan met een sql injectie.
Code (php)
Als je naam in de database wilt opslaan, zul je moeten letten op SQL injection:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if(!empty($_POST['naam']))
{
$query = "INSERT INTO leden(naam) VALUES('".mysql_real_escape_string($_POST['naam'])."'";
$result = mysql_query($query, $connectString);
}
else
{
echo 'Vul je naam in.';
}
?>
if(!empty($_POST['naam']))
{
$query = "INSERT INTO leden(naam) VALUES('".mysql_real_escape_string($_POST['naam'])."'";
$result = mysql_query($query, $connectString);
}
else
{
echo 'Vul je naam in.';
}
?>
Jack Sierkstra op 09/04/2011 12:41:11:
bedankt hier heb ik wat aan. ga het gelijk proberen.
Dirk Renes op 09/04/2011 13:15:07:
bedankt hier heb ik wat aan. ga het gelijk proberen.
Jack Sierkstra op 09/04/2011 12:41:11:
bedankt hier heb ik wat aan. ga het gelijk proberen.
Ik heb zelf nog even gekeken naar dit script. maar het is inderdaad niet echt handig wat ik doe. Je kan het beter zo doen.
Code (php)
Bij het vorige script is het in het variabel zetten van $_POST['iets'] niet nodig.
@Jack: Dit: $_POST['iets'] = "" is geen vergelijking maar een toekenning.
empty is een functie die naar het schijnt niet altijd het juiste resultaat oplevert. Daarom kan er beter gebruik worden gemaakt van:
Daarnaast kan (nog) beter controleren met de ctype_* functie en de is_* functies. En niet vergeten strlen.
Hier wordt empty ook 'uitgelegd / afgekraakt': klik
Maar voordat je controleer of je $_POST variabele volstaat aan de door jouw gestelde condities moet hij wel eerst bestaan. Dat moet je controleren met isset.
Gewijzigd op 09/04/2011 14:45:36 door Niels K
Niels Kieviet op 09/04/2011 14:43:45:
@Santhe en anderen..
empty is een functie die naar het schijnt niet altijd het juiste resultaat oplevert. Daarom kan er beter gebruik worden gemaakt van:
(...)
empty is een functie die naar het schijnt niet altijd het juiste resultaat oplevert. Daarom kan er beter gebruik worden gemaakt van:
(...)
Je moet gewoon kijken wat je wilt. Als het bijvoorbeeld ook niet gelijk aan 0 mag zijn dan is empty gewoon handig.
- SanThe - op 09/04/2011 14:39:37:
Alleen het commentaar van Wouter is zinnig.
@Jack: Dit: $_POST['iets'] = "" is geen vergelijking maar een toekenning.
@Jack: Dit: $_POST['iets'] = "" is geen vergelijking maar een toekenning.
Zou je me kunnen uitleggen waarom dit verkeerd is? Want als ik dit gebruik werkt het (tot nu toe) altijd.
Ik ben gewoon benieuwd waarom dit foutgevoelig is, en waar dat op zou kunnen treden.
$_POST['iets'] = '' betekend dat je $_POST['iets'] de waarde '' meegeeft, dus helemaal niks. En dit zal altijd kunnen, dus wordt er true weergegeven en klopt de if statement.
$_POST['iets'] == '' is daarin tegen wel te gebruiken. Dit kijkt namelijk of $_POST['iets'] gelijk is aan ''. Dit zal bij een lege string wel werken. (kijk ook eens bij language.operators.comparison)
Maar waarom zou je de PHP functies niet gebruiken? Die hebben ze toch niet voor niks gemaakt. Je kan dus veel beter empty of isset gebruiken.
Karl Karl op 09/04/2011 15:14:22:
Je moet gewoon kijken wat je wilt. Als het bijvoorbeeld ook niet gelijk aan 0 mag zijn dan is empty gewoon handig.
Niels Kieviet op 09/04/2011 14:43:45:
@Santhe en anderen..
empty is een functie die naar het schijnt niet altijd het juiste resultaat oplevert. Daarom kan er beter gebruik worden gemaakt van:
(...)
empty is een functie die naar het schijnt niet altijd het juiste resultaat oplevert. Daarom kan er beter gebruik worden gemaakt van:
(...)
Je moet gewoon kijken wat je wilt. Als het bijvoorbeeld ook niet gelijk aan 0 mag zijn dan is empty gewoon handig.
Hier sluit ik me op aan. In geval van arrays is dit ook heel handig namelijk.