van Tabel naar Formulier uit database
Kijk,...
Ik heb hier een script die een naam zoekt uit mijn database, achter die naam zit nog een heel formulier...
Dus wil ik dat het mogelijk is dat die doorlinkt naar dat formulier, die uit de database moet worden gehaald.
Hier is de code waar die, de naam op zoekt (dit werkt gewoon)
___________________________________________________
Table.php
________________________________________________________
Hier het script waar die heel het formulier moet laten zien...
Ik heb ff dik gedrukt waar ik weet dat daar de fout zit, ik heb op internet gezocht maar ik weet het echt niet!
search_results.php
____________________________________
Hier ook het zoek formuliertje:
Zoeken.php
<font color="#339933"><h3>Zoeken Mutatie formulier</h3></font>
<TD class=left> <A HREF="javascript:javascript:history.go(-1)">Terug</A></td>
_____________________________________
Ik denk zelf dat het maar een klein iets is! ..
En dat het wsl gewoon een domme fout is..
Maar ik ben nog maar een beginnelijk =]
Ik heb hier een script die een naam zoekt uit mijn database, achter die naam zit nog een heel formulier...
Dus wil ik dat het mogelijk is dat die doorlinkt naar dat formulier, die uit de database moet worden gehaald.
Hier is de code waar die, de naam op zoekt (dit werkt gewoon)
___________________________________________________
Table.php
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
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
<?php
{
echo "<font color=#339933> <h3>Resultaten</h3></font><p>";
include ('config.php');
if(empty($_POST['zoekterm']))
{
echo "geen zoekwoord ingevuld
<br><br><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> ";
}
else
{
$sql = "SELECT * FROM mutatie2 WHERE naam LIKE '%$_POST[zoekterm]%' ";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
echo "<table border='0'>";
while ($row = mysql_fetch_array($res))
{
echo "<tr>
<td><a href=search_results.php> $row[naam] </a></td>
</tr>";
}
}
echo "</table>
<br><br><hr width=140><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> ";
}
}
?>
{
echo "<font color=#339933> <h3>Resultaten</h3></font><p>";
include ('config.php');
if(empty($_POST['zoekterm']))
{
echo "geen zoekwoord ingevuld
<br><br><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> ";
}
else
{
$sql = "SELECT * FROM mutatie2 WHERE naam LIKE '%$_POST[zoekterm]%' ";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
echo "<table border='0'>";
while ($row = mysql_fetch_array($res))
{
echo "<tr>
<td><a href=search_results.php> $row[naam] </a></td>
</tr>";
}
}
echo "</table>
<br><br><hr width=140><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> ";
}
}
?>
________________________________________________________
Hier het script waar die heel het formulier moet laten zien...
Ik heb ff dik gedrukt waar ik weet dat daar de fout zit, ik heb op internet gezocht maar ik weet het echt niet!
search_results.php
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
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
<?php
{
echo "<font color=#339933> <h3>Resultaat</h3></font><p>";
if (!@mysql_select_db("webapplicatie", @mysql_connect("localhost", "root", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
[b] $sql = "SELECT * FROM aanvrager WHERE name_software FROM '%$_POST[zoekterm]%'";[/b]
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
echo "<table border='0'>";
while ($row = mysql_fetch_array($res))
{
echo "<p>
<TD class=head colSpan=2><center>Mutatieformulier McD/IT</center><br></TD>
</TR><TR>
<TD class=left vAlign=top width=200>Type Mutatie:</TD>
<TD class=right> $row[type_mutatie]<BR/></TD>
</TR> <TR>
<TD class=left width=200>Naam:</TD>
<TD class=right> $row[naam]</TD>
</TR><TR>
<TD class=left width=200>BSN-nummer:</TD>
<TD class=right> $row[bsn_nummer]</TD>
</TR><TR>
<TD class=left width=200>Afdeling:</TD>
<TD class=right> $row[afdeling]</TD>
</TR><TR>
<TD class=left width=200> Mutatiedatum:</TD>
<TD class=right> $row[mutatiedatum]</TD>
</TR><TR>
<TD class=left width=200>Geboortedatum:</TD>
<TD class=right> $row[dag] $row[maand] $row[jaar]</TD>
</TR><TR>
<TD class=left width=200>Aanvrager:</TD>
<TD class=right> $row[aanvrager]</TD>
</TR><TR>
<TD class=left width=200>HR/Manager:</TD>
<TD class=right> $row[hr_manager]</TD>
</TR><TR>
<TD class=left width=200>MCD/IT:</TD>
<TD class=right> $row[mcd_it]</TD>
</TR><TR>
<TD class=left width=200>Toegangspas:</TD>
<TD class=right> $row[toegangspas]</TD>
</TR><TR>
<TD class=left width=200>Computer/Laptop:</TD>
<TD class=right> $row[computer]</TD>
</TR><TR>
<TD class=left width=200>Telefoon:</TD>
<TD class=right> $row[telefoon]</TD>
</TR><TR>
<TD class=left width=200>Blackberry:</TD>
<TD class=right> $row[blackberry]</TD>
</TR><TR>
<TD class=left width=200>Netwerktoegang, toegang tot:</TD>
<TD class=right> $row[afdelingmap] <BR/> $row[projectfolder]</TD>
</TR><TR>
<TD class=left width=200>E-mail, toegang tot:</TD>
<TD class=right> $row[iedereen] <BR/> $row[tot_afdeling] <BR/> $row[toevoegen]</TD>
</TR><TR>
<TD class=left width=200>Topdesk:</TD>
<TD class=right> $row[topdesk]</TD>
</TR><TR>
<TD class=left width=200>McDonald's E-ID, toegang tot:</TD>
<TD class=right> $row[accessmcd] <BR/> $row[mcconnect] <BR/> $row[magic]</TD>
</TR><TR>
<TD class=left width=200>GROIP, toegang tot:</TD>
<TD class=right> $row[online] <BR/> $row[offline] <BR/> $row[matrix]</TD>
</TR><TR>
<TD class=left width=200>IDW/GDW, toegang tot:</TD>
<TD class=right> $row[sales] <BR/> $row[pmx] <BR/> $row[financial_reports] <BR/> $row[tda]</TD>
</TR><TR>
<TD class=left width=200>MSIS:</TD>
<TD class=right> $row[msis]</TD>
</TR><TR>
<TD class=left width=200>Ecoin:</TD>
<TD class=right> $row[ecoin]</TD>
</TR><TR>
<TD class=left width=200>Oracle, toegang tot:</TD>
<TD class=right> $row[discoverer_viewer] <BR/> $row[discoverer_plus] <BR/> $row[onderhouden_rf] <BR/> $row[onderhouden_omzet] <BR/> $row[onderhouden_pmx] <BR/> $row[rapportage] <BR/> $row[mcopco]</TD>
</TR><TR>
<TD class=left width=200>Citrix, toegang tot:</TD>
<TD class=right> $row[citrix] </BR> $row[pilon]</TD>
</TR><TR>
<TD class=left width=200>Toelichtingen:</TD>
<TD class=right> $row[toelichting]</TD>
</TR>
</p>
";
}
echo "</table>";
echo "<br><br><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> <A HREF='bewerken.php'>Bewerken</A>";
}
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $_POST[zoekterm]</b></p><br>
<A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A>
";
}
}
?>
{
echo "<font color=#339933> <h3>Resultaat</h3></font><p>";
if (!@mysql_select_db("webapplicatie", @mysql_connect("localhost", "root", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
[b] $sql = "SELECT * FROM aanvrager WHERE name_software FROM '%$_POST[zoekterm]%'";[/b]
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
echo "<table border='0'>";
while ($row = mysql_fetch_array($res))
{
echo "<p>
<TD class=head colSpan=2><center>Mutatieformulier McD/IT</center><br></TD>
</TR><TR>
<TD class=left vAlign=top width=200>Type Mutatie:</TD>
<TD class=right> $row[type_mutatie]<BR/></TD>
</TR> <TR>
<TD class=left width=200>Naam:</TD>
<TD class=right> $row[naam]</TD>
</TR><TR>
<TD class=left width=200>BSN-nummer:</TD>
<TD class=right> $row[bsn_nummer]</TD>
</TR><TR>
<TD class=left width=200>Afdeling:</TD>
<TD class=right> $row[afdeling]</TD>
</TR><TR>
<TD class=left width=200> Mutatiedatum:</TD>
<TD class=right> $row[mutatiedatum]</TD>
</TR><TR>
<TD class=left width=200>Geboortedatum:</TD>
<TD class=right> $row[dag] $row[maand] $row[jaar]</TD>
</TR><TR>
<TD class=left width=200>Aanvrager:</TD>
<TD class=right> $row[aanvrager]</TD>
</TR><TR>
<TD class=left width=200>HR/Manager:</TD>
<TD class=right> $row[hr_manager]</TD>
</TR><TR>
<TD class=left width=200>MCD/IT:</TD>
<TD class=right> $row[mcd_it]</TD>
</TR><TR>
<TD class=left width=200>Toegangspas:</TD>
<TD class=right> $row[toegangspas]</TD>
</TR><TR>
<TD class=left width=200>Computer/Laptop:</TD>
<TD class=right> $row[computer]</TD>
</TR><TR>
<TD class=left width=200>Telefoon:</TD>
<TD class=right> $row[telefoon]</TD>
</TR><TR>
<TD class=left width=200>Blackberry:</TD>
<TD class=right> $row[blackberry]</TD>
</TR><TR>
<TD class=left width=200>Netwerktoegang, toegang tot:</TD>
<TD class=right> $row[afdelingmap] <BR/> $row[projectfolder]</TD>
</TR><TR>
<TD class=left width=200>E-mail, toegang tot:</TD>
<TD class=right> $row[iedereen] <BR/> $row[tot_afdeling] <BR/> $row[toevoegen]</TD>
</TR><TR>
<TD class=left width=200>Topdesk:</TD>
<TD class=right> $row[topdesk]</TD>
</TR><TR>
<TD class=left width=200>McDonald's E-ID, toegang tot:</TD>
<TD class=right> $row[accessmcd] <BR/> $row[mcconnect] <BR/> $row[magic]</TD>
</TR><TR>
<TD class=left width=200>GROIP, toegang tot:</TD>
<TD class=right> $row[online] <BR/> $row[offline] <BR/> $row[matrix]</TD>
</TR><TR>
<TD class=left width=200>IDW/GDW, toegang tot:</TD>
<TD class=right> $row[sales] <BR/> $row[pmx] <BR/> $row[financial_reports] <BR/> $row[tda]</TD>
</TR><TR>
<TD class=left width=200>MSIS:</TD>
<TD class=right> $row[msis]</TD>
</TR><TR>
<TD class=left width=200>Ecoin:</TD>
<TD class=right> $row[ecoin]</TD>
</TR><TR>
<TD class=left width=200>Oracle, toegang tot:</TD>
<TD class=right> $row[discoverer_viewer] <BR/> $row[discoverer_plus] <BR/> $row[onderhouden_rf] <BR/> $row[onderhouden_omzet] <BR/> $row[onderhouden_pmx] <BR/> $row[rapportage] <BR/> $row[mcopco]</TD>
</TR><TR>
<TD class=left width=200>Citrix, toegang tot:</TD>
<TD class=right> $row[citrix] </BR> $row[pilon]</TD>
</TR><TR>
<TD class=left width=200>Toelichtingen:</TD>
<TD class=right> $row[toelichting]</TD>
</TR>
</p>
";
}
echo "</table>";
echo "<br><br><A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A> <A HREF='bewerken.php'>Bewerken</A>";
}
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $_POST[zoekterm]</b></p><br>
<A HREF='zoeken.php'>Zoek opnieuw</a> <A HREF='index.php'>Beginpagina</A>
";
}
}
?>
____________________________________
Hier ook het zoek formuliertje:
Zoeken.php
<font color="#339933"><h3>Zoeken Mutatie formulier</h3></font>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('webapplicatie', $link);
if (!$db_selected) {
die ('Can\'t use webapplicatie : ' . mysql_error());
}
echo "
<p>
<FORM METHOD=\"POST\" ACTION=\"tabel.php\">
Vul de naam in van degene die u zoekt:<br><br>
<input type=\"naam\" name=\"zoekterm\" size=\"30\" ><br><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</p>
<br>
<br>";
?>
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('webapplicatie', $link);
if (!$db_selected) {
die ('Can\'t use webapplicatie : ' . mysql_error());
}
echo "
<p>
<FORM METHOD=\"POST\" ACTION=\"tabel.php\">
Vul de naam in van degene die u zoekt:<br><br>
<input type=\"naam\" name=\"zoekterm\" size=\"30\" ><br><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</p>
<br>
<br>";
?>
<TD class=left> <A HREF="javascript:javascript:history.go(-1)">Terug</A></td>
_____________________________________
Ik denk zelf dat het maar een klein iets is! ..
En dat het wsl gewoon een domme fout is..
Maar ik ben nog maar een beginnelijk =]
Gesponsorde koppelingen:
Je kunt maar 1x "FROM" gebruiken.
Om conidities in je "WHERE" op te geven gebruik je gewoon het is-teken "=".
Dus: naam_software = '%$POSTblabla%'
P.s. Misschien handig om je variables in mysql_real_escape_string() te zetten.
Nu is je script namelijk gevoelig voor SQL injectie. Google daar maar op.
Om conidities in je "WHERE" op te geven gebruik je gewoon het is-teken "=".
Dus: naam_software = '%$POSTblabla%'
P.s. Misschien handig om je variables in mysql_real_escape_string() te zetten.
Nu is je script namelijk gevoelig voor SQL injectie. Google daar maar op.
Dat was dom van mij, de sql is nu,
$sql = "SELECT * FROM mutatie2 WHERE naam = '%zoekterm&'";
Maar ik krijg nog steeds geen resultaat.
Ik vraag me nu ook af of ik dit goed heb gedaan:
<a href=search_results.php> $row[naam] </a>
maar met welke query moet het formulier opvragen in "search_results.php
$sql = "SELECT * FROM mutatie2 WHERE naam = '%zoekterm&'";
Maar ik krijg nog steeds geen resultaat.
Ik vraag me nu ook af of ik dit goed heb gedaan:
<a href=search_results.php> $row[naam] </a>
maar met welke query moet het formulier opvragen in "search_results.php
Misschien dat je hier wat aan hebt? Zo uit het losse handje gemaakt en niet getest dus er kunnen wat foutjes in zitten
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
# bestanden includen (Jouw config)
include_once ('config.php');
# meldingen declareren
$bericht = array();
# kijken of er wat gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# kijken of er wat ingevuld is bij het zoekveld
# dit kan je uitbreiden door strlen te gebruiken om te controleren hoeveel tekens er in zjin gevuld
# nu alleen even kijken of er daadwerkelijk wat is ingevuld
if(!empty($_POST['zoeken']))
{
# er is een zoekwoord ingevuld. Kijken of er in de database iets voorkomt wat er op lijkt.
$Query_zoek = "SELECT id, naam FROM mutatie WHERE naam like '".%$_POST['zoeken']%."'";
# kijken of query gelukt is
if($Result = mysql_query($Query_zoek))
{
# controleren of er wat gevonden is
if(mysql_num_rows($Result) > 0)
{
# er is resultaat gevonden
# while loop maken en alle gegevens op het scherm plaatsen
while($row = mysql_fetch_assoc($Result))
{
$bericht [] = '
Er zijn '.mysql_num_rows($Result).' resultaten gevonden<br />
<b>Resultaten</b><br /><br />
<a href="?informatie_id='.$row['id'].'">'.$row['naam'].'</a><br />
';
# dit kan je natuurlijk helemaal zelf uitbreiden door alles in een tabel te stoppen of div en hele opmaak er aan
# te geven maar het gaat even om het idee.
}
}
else
{
# er zijn geen resultaten gevonden, melding schrijven
$bericht[] = 'Er zijn geen resultaten gevonden voor het woord '.$_POST['zoeken'];
}
}
else
{
# query is niet gelukt, melding geven
$bericht[] = 'Het zoeken in de database is mislukt. '.mysql_error();
}
}
else
{
# er is geen zoekwoord ingevuld melding plaatsen
$bericht[] = 'U heeft geen zoekwoord ingevuld!';
}
}
?>
# bestanden includen (Jouw config)
include_once ('config.php');
# meldingen declareren
$bericht = array();
# kijken of er wat gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# kijken of er wat ingevuld is bij het zoekveld
# dit kan je uitbreiden door strlen te gebruiken om te controleren hoeveel tekens er in zjin gevuld
# nu alleen even kijken of er daadwerkelijk wat is ingevuld
if(!empty($_POST['zoeken']))
{
# er is een zoekwoord ingevuld. Kijken of er in de database iets voorkomt wat er op lijkt.
$Query_zoek = "SELECT id, naam FROM mutatie WHERE naam like '".%$_POST['zoeken']%."'";
# kijken of query gelukt is
if($Result = mysql_query($Query_zoek))
{
# controleren of er wat gevonden is
if(mysql_num_rows($Result) > 0)
{
# er is resultaat gevonden
# while loop maken en alle gegevens op het scherm plaatsen
while($row = mysql_fetch_assoc($Result))
{
$bericht [] = '
Er zijn '.mysql_num_rows($Result).' resultaten gevonden<br />
<b>Resultaten</b><br /><br />
<a href="?informatie_id='.$row['id'].'">'.$row['naam'].'</a><br />
';
# dit kan je natuurlijk helemaal zelf uitbreiden door alles in een tabel te stoppen of div en hele opmaak er aan
# te geven maar het gaat even om het idee.
}
}
else
{
# er zijn geen resultaten gevonden, melding schrijven
$bericht[] = 'Er zijn geen resultaten gevonden voor het woord '.$_POST['zoeken'];
}
}
else
{
# query is niet gelukt, melding geven
$bericht[] = 'Het zoeken in de database is mislukt. '.mysql_error();
}
}
else
{
# er is geen zoekwoord ingevuld melding plaatsen
$bericht[] = 'U heeft geen zoekwoord ingevuld!';
}
}
?>
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
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
<html>
<head>
</head>
<body>
<form method="POST" action="<?php echo basename ($_SERVER['PHP_SELF']) ?>" />
<table>
<tr>
<td>Zoekwoord </td><td><input type="text" name="zoeken" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
<?php
# de zoek resultaten of de foutmeldingen op het scherm weergeven
if(!empty($bericht))
{
foreach ($bericht as $meldingen)
{
echo $bericht;
}
}
?>
</body>
</html>
<head>
</head>
<body>
<form method="POST" action="<?php echo basename ($_SERVER['PHP_SELF']) ?>" />
<table>
<tr>
<td>Zoekwoord </td><td><input type="text" name="zoeken" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
<?php
# de zoek resultaten of de foutmeldingen op het scherm weergeven
if(!empty($bericht))
{
foreach ($bericht as $meldingen)
{
echo $bericht;
}
}
?>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Niels Kieviet
Hey, thanks voor de moeite!
Maar hij wilt het niet doen
Hij geeft een error in de zoek query :*(
Maar hij wilt het niet doen
Hij geeft een error in de zoek query :*(
marco schreef op 08.01.2010 15:34:
Hij geeft een error in de zoek query :*(
En wij kunnen dit uiteraard lezen in onze glazen bol.
Nee, misschien wel handig on de error te vermelden.
Eventueel met het stukje bijbehorende code.
" Parse error: parse error in ....\www\webapplicatie\zoek.php on line 20 "
De bij behorende code staat in de post van Niels, bij $Query_zoek !
De bij behorende code staat in de post van Niels, bij $Query_zoek !
Gewijzigd op 01/01/1970 01:00:00 door marco van o
Ja dat dacht ik al.. dit klopt niet helemaal
'".%$_POST['zoeken']%."'";
Hoe het wel moet schiet me even niet te binnnen
'".%$_POST['zoeken']%."'";
Hoe het wel moet schiet me even niet te binnnen
Die % tekens horen in ieder geval niet buiten quotes, die zijn onderdeel van de string:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$Query_zoek = "SELECT id, naam
FROM mutatie
WHERE naam like '%" . $_POST['zoeken'] . "%'";
?>
$Query_zoek = "SELECT id, naam
FROM mutatie
WHERE naam like '%" . $_POST['zoeken'] . "%'";
?>
Denk ook even aan de beveiliging.
Bovenstaand is lek => sql-injection.
Zie mysql_real_escape_string().
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
(sorry dat ik nu pas reageer, maar ik was een weekendje weg)
Als ik nu bij Niels zijn script een naam zoek, krijg ik standaart 'Array' te zien.
En thanks, ik moet idd nog naar sql-injection kijken!
Als ik nu bij Niels zijn script een naam zoek, krijg ik standaart 'Array' te zien.
En thanks, ik moet idd nog naar sql-injection kijken!
@SanThe
Je hebt gelijk ik heb er helemaal niet opgelet terwijl ik dat normaal wel doe.. Dom van me. Sorry marco..
@Marco.
Als je van die fetch_assoc eens array maakt.. Vaag trouwens want ik had hem toen getest en toen werkte hij gewoon
Je hebt gelijk ik heb er helemaal niet opgelet terwijl ik dat normaal wel doe.. Dom van me. Sorry marco..
@Marco.
Als je van die fetch_assoc eens array maakt.. Vaag trouwens want ik had hem toen getest en toen werkte hij gewoon
Hmm, dan is het idd vreemd, want hij geeft nog steeds alleen 'Array' aan, ook als ik helemaal niks in vul.
En als je bij toeval mijn code bekijkt hea, is daar niet iets kleins fout gedaan, wat ik zelf denk. Of is dat helemaal één groot drama.
En je hoeft tegen mij geen sorry te zeggen, ben al blij zat dat je tijd er in wilt steken.
En als je bij toeval mijn code bekijkt hea, is daar niet iets kleins fout gedaan, wat ik zelf denk. Of is dat helemaal één groot drama.
En je hoeft tegen mij geen sorry te zeggen, ben al blij zat dat je tijd er in wilt steken.
Ja khad er niet echt tijd ingestoken hoor:P Even heel snel.. Ik zal het even uitgebreid testen je hoort zo meer..
De onderstaande code werkt bij mij goed, Wel moet je het nog even naar je eigen gegevens veranderen
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?php
# database gegevens aanmaken
$db['host'] = 'localhost';
$db['gebruikersnaam'] = 'root';
$db['wachtwoord'] = '';
$db['database'] = 'peter';
# database verbinding maken
$mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
# kijken of er een connectie gelukt is
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$mysqli->error;
}
# het bovenstaande normaal gesproken in een configuratie pagina doen
# meldingen declareren
$bericht = array();
# kijken of er wat gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# kijken of er wat ingevuld is bij het zoekveld
# dit kan je uitbreiden door strlen te gebruiken om te controleren hoeveel tekens er in zjin gevuld
# nu alleen even kijken of er daadwerkelijk wat is ingevuld
if(!empty($_POST['zoekwoord']))
{
# kijken of er iets in de database voorkomt
$Query_zoek = "SELECT * FROM gebruikers WHERE naam like '%".$mysqli->real_escape_string($_POST['zoekwoord'])."%' ";
# kijken of de query gelukt is
if($Result = $mysqli->query ($Query_zoek))
{
# kijken of er resultaat is
if($mysqli->affected_rows > 0)
{
# er is resultaat gevonden, zeggen hoeveel resultaten er zijn gevonden
$bericht[] = '<br />Er zijn '.$Result->num_rows.' resultaten gevonden!<br />';
# nu gaan we resultaten door middel van een while loop op het scherm schrijven
while ($row = $Result->fetch_assoc())
{
$bericht[] = '<b>'.$row['naam'].'</b>';
}
}
else
{
# geen resultaat gevonden
$bericht[] = 'Er is geen resultaat gevonden met het zoekwoord <b>' .htmlspecialchars($_POST['zoekwoord']). '</b>';
}
}
else
{
# er is een fout opgetreden in de query, melding geven
$bericht[] = 'Er is een fout opgetreden in de query '.$mysqli->error;
}
}
else
{
# Er is niks ingevuld, melding geven
$bericht[] = 'U heeft geen zoekwoord ingevuld!';
}
}
?>
<html>
<head>
<title>Zoekfunctie</title>
</head>
<body>
<form method="POST" action="<?php basename ($_SERVER['PHP_SELF']) ?>">
<table>
<tr>
<td>Zoekwoord </td><td><input type="text" name="zoekwoord" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
<?php
# meldingen op het scherm schrijven mogelijkheid 1
if(!empty($bericht))
{
# array omzetten naar normale variable
$meldingen = implode ("", $bericht);
# meldingen op het scherm schrijven
echo $meldingen;
}
# meldingen op het scherm schrijven mogelijkheid 2
if(!empty($bericht))
{
# array omzetten naar normale variable
foreach ($bericht as $meldingen)
{
# meldingen op het schemr schrijven
echo $meldingen;
}
}
?>
</body>
</html>
# database gegevens aanmaken
$db['host'] = 'localhost';
$db['gebruikersnaam'] = 'root';
$db['wachtwoord'] = '';
$db['database'] = 'peter';
# database verbinding maken
$mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
# kijken of er een connectie gelukt is
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$mysqli->error;
}
# het bovenstaande normaal gesproken in een configuratie pagina doen
# meldingen declareren
$bericht = array();
# kijken of er wat gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# kijken of er wat ingevuld is bij het zoekveld
# dit kan je uitbreiden door strlen te gebruiken om te controleren hoeveel tekens er in zjin gevuld
# nu alleen even kijken of er daadwerkelijk wat is ingevuld
if(!empty($_POST['zoekwoord']))
{
# kijken of er iets in de database voorkomt
$Query_zoek = "SELECT * FROM gebruikers WHERE naam like '%".$mysqli->real_escape_string($_POST['zoekwoord'])."%' ";
# kijken of de query gelukt is
if($Result = $mysqli->query ($Query_zoek))
{
# kijken of er resultaat is
if($mysqli->affected_rows > 0)
{
# er is resultaat gevonden, zeggen hoeveel resultaten er zijn gevonden
$bericht[] = '<br />Er zijn '.$Result->num_rows.' resultaten gevonden!<br />';
# nu gaan we resultaten door middel van een while loop op het scherm schrijven
while ($row = $Result->fetch_assoc())
{
$bericht[] = '<b>'.$row['naam'].'</b>';
}
}
else
{
# geen resultaat gevonden
$bericht[] = 'Er is geen resultaat gevonden met het zoekwoord <b>' .htmlspecialchars($_POST['zoekwoord']). '</b>';
}
}
else
{
# er is een fout opgetreden in de query, melding geven
$bericht[] = 'Er is een fout opgetreden in de query '.$mysqli->error;
}
}
else
{
# Er is niks ingevuld, melding geven
$bericht[] = 'U heeft geen zoekwoord ingevuld!';
}
}
?>
<html>
<head>
<title>Zoekfunctie</title>
</head>
<body>
<form method="POST" action="<?php basename ($_SERVER['PHP_SELF']) ?>">
<table>
<tr>
<td>Zoekwoord </td><td><input type="text" name="zoekwoord" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
<?php
# meldingen op het scherm schrijven mogelijkheid 1
if(!empty($bericht))
{
# array omzetten naar normale variable
$meldingen = implode ("", $bericht);
# meldingen op het scherm schrijven
echo $meldingen;
}
# meldingen op het scherm schrijven mogelijkheid 2
if(!empty($bericht))
{
# array omzetten naar normale variable
foreach ($bericht as $meldingen)
{
# meldingen op het schemr schrijven
echo $meldingen;
}
}
?>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Niels Kieviet
Ik word nu alleen maar naar de index gestuurd als ik op zoek klik.
Moet ik hierin dan wat veranderen?
In ieder geval, nogmaals bedankt voor het helpen!
Edit: Maar het zoek script wat ik heb gepost doet het wel, alleen als ik op de naam klik en naar Search_results ga, krijg ik het formulier niet te zien.
En dat wil ik juist. =p
Moet ik hierin dan wat veranderen?
In ieder geval, nogmaals bedankt voor het helpen!
Edit: Maar het zoek script wat ik heb gepost doet het wel, alleen als ik op de naam klik en naar Search_results ga, krijg ik het formulier niet te zien.
En dat wil ik juist. =p
Gewijzigd op 01/01/1970 01:00:00 door marco van o
@marco
Hij valideert gewoon op dezelfde pagina hoor:) Of bedoel je dat niet?
Hij valideert gewoon op dezelfde pagina hoor:) Of bedoel je dat niet?
Naja, als ik op zoeken klik, gaat hij naar mijn hoofpagina en blijft die niet op de zelfde pagina, ik snap ook niet waarom, want naar mijn idee klopt alles.



