Zoekfunctie werkt niet
Had eerst een enkele submitfield en dat werkte prima maar wilde het ombouwen naar meerdere zoekopties.
wilde met array_key_exists kijken welke submit precies was gebruikt op basis van een uniek ID, en vervolgens bijbehorende query injection doen. Er komen geen resultaten naar boven, geen errors en ook niet $output
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
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
<?php
require ("test2.php");
require ("header.php");
require ("footer.php");
?>
<form method="post"> Zoek op:
<input type ="text" name="searchName" id="s_id_Name">
<input type ="submit" name="submit" value="Naam" id="id_name">      
<input type ="text" name="searchPlace" id="s_id_Place">
<input type ="submit" name="submitP" value="Plaats" id="id_place">      
<input type ="text" name="searchPhone" id="s_id_Phone">
<input type ="submit" name="submitT" value="Telefoonnummer" id="id_phone">     
<input type ="text" name="searchEmail" id="s_id_Email">
<input type ="submit" name="submitT" value="Email">
</form>
<table>
<thead>
<tr>
<th>
Voornaam
</th>
<th>
Achternaam
</th>
<th>
Straat
</th>
<th>
Plaats
</th>
<th>
Email
</th>
<th>
Telefoon
</th>
<th>
Bijlage
</th>
</tr>
</thead>
<?php
$output = NULL;
// zodra zoek op een zoekknop wordt gesubmit, maak connectie en stop input in variabelen voor injection
if(isset($_POST['submit'])){
$mysqli = $connection->db_connection;
$searchName = $_POST['searchName'];
$searchPlace = $_POST['searchPlace'];
$searchPhone = $_POST['searchPhone'];
// querys in variabelen stoppen
$searchResultName = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE p.voornaam LIKE '%".$searchName."%' && p.user_id = a.user_id AND p.user_id = c.user_id OR p.achternaam LIKE '%".$searchName."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPlace = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE a.plaats LIKE '%".$searchPlace."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPhone = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE c.telefoon LIKE '%".$searchPhone."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPhone = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE c.telefoon LIKE '%".$searchPhone."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
// controleer welke submit wordt gebruikt, inject de bijbehorende query, geef resultaat weer of error
if(array_key_exists('s_id_name',$_POST)){
if($searchResultName->num_rows > 0){
while($row = $searchResultName->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
if(array_key_exists('s_id_place',$_POST)){
if ($searchResultPlace->num_rows > 0){
while($row = $searchResultPlace->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
if(array_key_exists('s_id_phone',$_POST)){
if ($searchResultPhone->num_rows > 0){
while($row = $searchResultPhone->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
} else {
exit;
}
?>
</table>
<?php echo $output ?>
require ("test2.php");
require ("header.php");
require ("footer.php");
?>
<form method="post"> Zoek op:
<input type ="text" name="searchName" id="s_id_Name">
<input type ="submit" name="submit" value="Naam" id="id_name">      
<input type ="text" name="searchPlace" id="s_id_Place">
<input type ="submit" name="submitP" value="Plaats" id="id_place">      
<input type ="text" name="searchPhone" id="s_id_Phone">
<input type ="submit" name="submitT" value="Telefoonnummer" id="id_phone">     
<input type ="text" name="searchEmail" id="s_id_Email">
<input type ="submit" name="submitT" value="Email">
</form>
<table>
<thead>
<tr>
<th>
Voornaam
</th>
<th>
Achternaam
</th>
<th>
Straat
</th>
<th>
Plaats
</th>
<th>
</th>
<th>
Telefoon
</th>
<th>
Bijlage
</th>
</tr>
</thead>
<?php
$output = NULL;
// zodra zoek op een zoekknop wordt gesubmit, maak connectie en stop input in variabelen voor injection
if(isset($_POST['submit'])){
$mysqli = $connection->db_connection;
$searchName = $_POST['searchName'];
$searchPlace = $_POST['searchPlace'];
$searchPhone = $_POST['searchPhone'];
// querys in variabelen stoppen
$searchResultName = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE p.voornaam LIKE '%".$searchName."%' && p.user_id = a.user_id AND p.user_id = c.user_id OR p.achternaam LIKE '%".$searchName."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPlace = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE a.plaats LIKE '%".$searchPlace."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPhone = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE c.telefoon LIKE '%".$searchPhone."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
$searchResultPhone = $mysqli->query("SELECT p.user_id, p.voornaam, p.achternaam, a.straat, a.plaats, c.email, c.telefoon FROM contactgegevens c, adresgegevens a, persoonsgegevens p WHERE c.telefoon LIKE '%".$searchPhone."%' && p.user_id = a.user_id AND p.user_id = c.user_id");
// controleer welke submit wordt gebruikt, inject de bijbehorende query, geef resultaat weer of error
if(array_key_exists('s_id_name',$_POST)){
if($searchResultName->num_rows > 0){
while($row = $searchResultName->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
if(array_key_exists('s_id_place',$_POST)){
if ($searchResultPlace->num_rows > 0){
while($row = $searchResultPlace->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
if(array_key_exists('s_id_phone',$_POST)){
if ($searchResultPhone->num_rows > 0){
while($row = $searchResultPhone->fetch_assoc()) {
echo '<tr>
<td>'.$row['voornaam'].'</td>
<td>'.$row['achternaam'].'</td>
<td>'.$row['straat'].'</td>
<td>'.$row['plaats'].'</td>
<td>'.$row['email'].'</td>
<td>'.$row['telefoon'].'</td>
<td></td>
<td><a href="bewerken.php?user_id='.$row['user_id'].'">Bewerken</td>
<td><a href="verwijderen.php?user_id='.$row['user_id'].'">Verwijderen</td>
</tr>';
}
}else{
$output = "Geen resultaten gevonden";
}
}
} else {
exit;
}
?>
</table>
<?php echo $output ?>
Gewijzigd op 23/09/2017 15:06:19 door Dennis Achternaam
Hoofdletterverwarring in je s_id_-knutsels.
Ward van der Put op 23/09/2017 17:14:42:
Hoofdletterverwarring in je s_id_-knutsels.
niet het gewenste effect.. moet ik trouwens de ID gebruiken van de submit of de id van de bijbehorende input?