Formulier tutorial uitbreiden
ik ben helemaal opnieuw begonnen met een propere tutorial van w3schools.com. Werkt prima, maar helaas zonder voorbeeld om de gegevens weg te schrijven naar een database.
Kan er iemand zo een voorbeeld integreren in deze tutorial? Dank bij voorbaat.
Code (php)
1
2
3
4
2
3
4
<?php
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
?>
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
?>
Test dit maar eens uit:
Code (php)
1
2
3
4
2
3
4
<?php
$variabele = "variabele";
echo "Dit is een string met een ".$variabele.", waarna er weer een string komt!";
?>
$variabele = "variabele";
echo "Dit is een string met een ".$variabele.", waarna er weer een string komt!";
?>
Uiteindelijk krijg je dan:
Marcus geleyn op 04/08/2015 09:45:23:
'$username' of username (uit mijn inputveld)
inputveld --> dus een formulier? Dan heb je $_POST nodig.
Denk wel om beveiliging van gegevens die ingevoerd worden.
Marcus geleyn op 04/08/2015 09:45:23:
ik krijg ook diverse foutmeldingen ivm 'fetch...'
Welke fetch? Welke foutmeldingen?
De velden $firstname zijn in mijn geval gewoon wat verzonnen variabelen. Je kan net zo goed $_POST['firstname'] gebruiken. Let er dan op (waar Obelix al op attendeerde) dat je de invoer beveiligt tegen SQL-injection. En pas om die variabele heen de functie: mysqli_real_escape_string() toe.
- van waar de tekst 'test-input', waar slaat die op? => $name = test_input($_POST["name"]);
- bedoel je in de plaats van 'VALUES' te gebruiken, dat het onderstaande voorbeeld beter is?
$name = mysqli_real_escape_string($db, $_POST['name']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$website = mysqli_real_escape_string($db, $_POST['website']);
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if(isset($_POST['name'], $_POST['email'], $_POST['website']))
{
$servername = "****";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO users (name, email, website)
VALUES ('$name', '$email', '$website')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website" value="<?php echo $website;?>">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if(isset($_POST['name'], $_POST['email'], $_POST['website']))
{
$servername = "****";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO users (name, email, website)
VALUES ('$name', '$email', '$website')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website" value="<?php echo $website;?>">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 04/08/2015 11:00:26 door - Ariën -
Zelf zou ik liever de inhoud pas controleren op het moment dat je het uit de database haalt, in plaats voordat je het erin stopt.
Quote:
- bedoel je in de plaats van 'VALUES' te gebruiken, dat het onderstaande voorbeeld beter is?
Huh? VALUES is een onderdeel van je query. Je moet de variabelen die je hierin gebruikt onschadelijk maken met mysqli_real_escape_string. Het is geen vervanger, als je dat denkt.
Gewijzigd op 04/08/2015 11:05:03 door - Ariën -
Maar hoe krijg ik er nu ook nog een checkbox ingevoegd?
Voorbeeld html form:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<form name="fruitcheckbox" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="checkbox" name="fruit[]" value="orange"> Orange
<input type="checkbox" name="fruit[]" value="apple"> Apple
<input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
<input type="checkbox" name="fruit[]" value="banana"> Banana
<input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
</form>
<input type="checkbox" name="fruit[]" value="orange"> Orange
<input type="checkbox" name="fruit[]" value="apple"> Apple
<input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
<input type="checkbox" name="fruit[]" value="banana"> Banana
<input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
</form>
En php code:
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
$chkbox = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['btnsave']))
{ $fruit = $_POST['fruit'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $fruit))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
$insert = "INSERT INTO table_location (orange, apple, grapefruit, banana, watermelon)
VALUES ({$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})";
mysqli_query($dbconnect, $insert) or die('<br/>Error reading database: '.mysqli_error($dbconnect));
mysqli_close($dbconnect);
} // End of, if statement from the button check
?>
$chkbox = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['btnsave']))
{ $fruit = $_POST['fruit'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $fruit))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
$insert = "INSERT INTO table_location (orange, apple, grapefruit, banana, watermelon)
VALUES ({$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})";
mysqli_query($dbconnect, $insert) or die('<br/>Error reading database: '.mysqli_error($dbconnect));
mysqli_close($dbconnect);
} // End of, if statement from the button check
?>
Moet die code op een speciale plaats staan, voor of na een andere code?
Wat ik mij ook afvraag is het volgende en ik kom diverse voorbeelden tegen op het internet: moet ik in de database slechts één veld hebben omdat php alles samen verpakt, of moet ieder (orange, appel, banana) een eigen veld hebben (boolean of varchar)? Dat begrijp ik nog niet goed. Graag uitleggen in Jip- en Janneketaal ;)
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Toevoeging op 04/08/2015 11:41:22:
Marcus geleyn op 04/08/2015 11:40:16:
Ok, wordt aan gewerkt.
Maar hoe krijg ik er nu ook nog een checkbox ingevoegd?
Voorbeeld html form:
Moet die code op een speciale plaats staan, voor of na een andere code?
Wat ik mij ook afvraag is het volgende en ik kom diverse voorbeelden tegen op het internet: moet ik in de database slechts één veld hebben omdat php alles samen verpakt, of moet ieder (orange, appel, banana) een eigen veld hebben (boolean of varchar)? Dat begrijp ik nog niet goed. Graag uitleggen in Jip- en Janneketaal ;)
Maar hoe krijg ik er nu ook nog een checkbox ingevoegd?
Voorbeeld html form:
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
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
<form name="fruitcheckbox" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="checkbox" name="fruit[]" value="orange"> Orange
<input type="checkbox" name="fruit[]" value="apple"> Apple
<input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
<input type="checkbox" name="fruit[]" value="banana"> Banana
<input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
</form>
En php code:
<?php
$chkbox = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['btnsave']))
{ $fruit = $_POST['fruit'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $fruit))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
$insert = "INSERT INTO table_location (orange, apple, grapefruit, banana, watermelon)
VALUES ({$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})";
mysqli_query($dbconnect, $insert) or die('<br/>Error reading database: '.mysqli_error($dbconnect));
mysqli_close($dbconnect);
} // End of, if statement from the button check
?>
<input type="checkbox" name="fruit[]" value="orange"> Orange
<input type="checkbox" name="fruit[]" value="apple"> Apple
<input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
<input type="checkbox" name="fruit[]" value="banana"> Banana
<input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
</form>
En php code:
<?php
$chkbox = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['btnsave']))
{ $fruit = $_POST['fruit'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $fruit))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
$insert = "INSERT INTO table_location (orange, apple, grapefruit, banana, watermelon)
VALUES ({$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})";
mysqli_query($dbconnect, $insert) or die('<br/>Error reading database: '.mysqli_error($dbconnect));
mysqli_close($dbconnect);
} // End of, if statement from the button check
?>
Moet die code op een speciale plaats staan, voor of na een andere code?
Wat ik mij ook afvraag is het volgende en ik kom diverse voorbeelden tegen op het internet: moet ik in de database slechts één veld hebben omdat php alles samen verpakt, of moet ieder (orange, appel, banana) een eigen veld hebben (boolean of varchar)? Dat begrijp ik nog niet goed. Graag uitleggen in Jip- en Janneketaal ;)
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 04/08/2015 11:41:22 door - Ariën -
Je kan prima met iets als dit alle waardes uitlezen:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
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
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
<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if(isset($_POST['name'], $_POST['email'], $_POST['website']))
{
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//proef
$chkbox = array('therapprakt', 'therapond', 'therapthuis');
if(isset($_POST['Submit']))
{ $therapie = $_POST['therapie'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $therapie))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
}
//einde proef
$sql = "INSERT INTO users (name, email, website, therapprakt, therapond, therapthuis)
VALUES ('$name', '$email', '$website', $values['therapprakt'], $values['therapond'], $values['therapthuis']";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
//We protect the variables
$name = mysqli_real_escape_string($db, $_POST['name']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$website = mysqli_real_escape_string($db, $_POST['website']);
?>
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if(isset($_POST['name'], $_POST['email'], $_POST['website']))
{
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//proef
$chkbox = array('therapprakt', 'therapond', 'therapthuis');
if(isset($_POST['Submit']))
{ $therapie = $_POST['therapie'];
$values = array();
foreach($chkbox as $selection )
{ if(in_array($selection, $therapie))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
} // end of foreach.
}
//einde proef
$sql = "INSERT INTO users (name, email, website, therapprakt, therapond, therapthuis)
VALUES ('$name', '$email', '$website', $values['therapprakt'], $values['therapond'], $values['therapthuis']";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
//We protect the variables
$name = mysqli_real_escape_string($db, $_POST['name']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$website = mysqli_real_escape_string($db, $_POST['website']);
?>
<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="">
Name: <input type="text" name="name" value="">
<span class="error">* </span>
<br><br>
E-mail: <input type="text" name="email" value="">
<span class="error">* </span>
<br><br>
Website: <input type="text" name="website" value="">
<span class="error"></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* </span>
<br><br>
<form name="fruitcheckbox" action="" method="POST">
<input type="checkbox" name="therapie[]" value="therapprakt"> Therapiepraktijk
<input type="checkbox" name="therapie[]" value="therapond"> Groepspraktijk
<input type="checkbox" name="therapie[]" value="therapthuis"> Thuistherapie
<br>
</form>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
Code (php)
</body>
</html>
Gewijzigd op 04/08/2015 12:36:05 door marcus geleyn
Als je een wit scherm krijgt, dan heb je foutmeldingen mogelijk uitstaan.
Zo kan je ze aanzetten:
Verder kloppen je variabelen nog steeds niet goed in je query. Zie ook mijn bericht van 04/08/2015 09:51:28.
Gewijzigd op 04/08/2015 12:39:05 door - Ariën -
http://php.net/manual/en/function.var-dump.php) te gebruiken, bijv je values uit foreach(), dan heb je dit als resultaat ->
Edit: Met uit foreach, bedoel ik dan dat het buiten foreach() moet zijn, dus kortom:
Je kunt trouwens ook een url valideren met filter_var() -> http://www.w3schools.com/php/filter_validate_url.asp
Kijk zelf eens even door var_dump() (zie: Quote:
array (size=5)
'orange' => int 0
'apple' => int 1
'grapefruit' => int 1
'banana' => int 1
'watermelon' => int 1
'orange' => int 0
'apple' => int 1
'grapefruit' => int 1
'banana' => int 1
'watermelon' => int 1
Edit: Met uit foreach, bedoel ik dan dat het buiten foreach() moet zijn, dus kortom:
Je kunt trouwens ook een url valideren met filter_var() -> http://www.w3schools.com/php/filter_validate_url.asp
Gewijzigd op 04/08/2015 13:00:06 door DavY -