Zoek functie
met deze pagina kun je zoeken en dan komen er resultaten uit
voorbeeld:
Ik zoek op "meneer2"
dan komt er dit uit:
ID: 1
uitkomst: KUNSTWERK 1
soort: Digital Art
kunstenaar: meneer2
Meer info!
bedrijf: voorbeeld
plaats: voorbeeld
date: 11-10-2012
de bedoeling is dat als je op meer info klikt tot die andere 3 records die eronder staan ook zichbaar worden.
dit is mogelijk met <detail> maar dit werkt alleen in chrome >.>
Ik weet tot het met javascript kan maar ik weer echt NIKS van javascript
Hoe zou ik dit kunnen oplossen?
Gr marco
en dan bij klikken op meer info
en het werkt ook alleen bij het eerste zoekresultaat dus als je meerdere zoekresultaten hebt dan werkt het alleen op de 1e en niet op de rest :(
Dit is mijn 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
<?php
if (isset($_POST['term']))
{
require("require/dbconnect.php");
// zoekfunctie van alles
$term = $_POST['term'];
$sql = mysql_query("select * FROM search WHERE uitkomst like '%$term%' or soort like '%$term%'");
echo '<div id=searchresult>';
while ($row = mysql_fetch_array($sql))
{
echo '<br/> ID: '.$row['id_photo'];
echo '<br/> uitkomst: '.$row['uitkomst'];
echo '<br/> soort: '.$row['soort'];
?>
<script>
function showresult(){
document.getElementById('div1').style.display= 'block';
}
</script>
<a href="#" onclick="showresult();">Meer info!</a>
<div id="div1" style="display: none;"> verborgen content
<?php
echo '<br/> prijs: '.$row['prijs'];
echo '<br/> contactpersoon: '.$row['contactpersoon'];
echo '<br/> bedrijf: '.$row['bedrijfsnaam'];
echo '<br/> plaats: '.$row['plaats'];
echo '<br/> date: '.$row['date'];
echo '<br/>';
?>
</div>
<?php
echo '<hr/>';
}
echo '</div>';
}
?>
[/CODE]
if (isset($_POST['term']))
{
require("require/dbconnect.php");
// zoekfunctie van alles
$term = $_POST['term'];
$sql = mysql_query("select * FROM search WHERE uitkomst like '%$term%' or soort like '%$term%'");
echo '<div id=searchresult>';
while ($row = mysql_fetch_array($sql))
{
echo '<br/> ID: '.$row['id_photo'];
echo '<br/> uitkomst: '.$row['uitkomst'];
echo '<br/> soort: '.$row['soort'];
?>
<script>
function showresult(){
document.getElementById('div1').style.display= 'block';
}
</script>
<a href="#" onclick="showresult();">Meer info!</a>
<div id="div1" style="display: none;"> verborgen content
<?php
echo '<br/> prijs: '.$row['prijs'];
echo '<br/> contactpersoon: '.$row['contactpersoon'];
echo '<br/> bedrijf: '.$row['bedrijfsnaam'];
echo '<br/> plaats: '.$row['plaats'];
echo '<br/> date: '.$row['date'];
echo '<br/>';
?>
</div>
<?php
echo '<hr/>';
}
echo '</div>';
}
?>
[/CODE]
Gewijzigd op 12/10/2012 09:17:14 door - Marco -
LET OP! je controleert de input van de gebruikers niet, zo zijn SQL-injections mogelijk, kijk ook eens naar de tutorial http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/sqlinjection/2041/
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
<?php
if (isset($_POST['term']))
{
require("require/dbconnect.php");
// zoekfunctie van alles
$term = $_POST['term'];
$sql = mysql_query("select * FROM search WHERE uitkomst like '%$term%' or soort like '%$term%'");
echo '<div id=searchresult>';
$count = 0;
while ($row = mysql_fetch_array($sql))
{
echo '<br/> ID: '.$row['id_photo'];
echo '<br/> uitkomst: '.$row['uitkomst'];
echo '<br/> soort: '.$row['soort'];
?>
<script>
function showresult(div){
if(document.getElementById(div).style.display == 'block'){
document.getElementById(div).style.display = 'none';
}
else{
document.getElementById(div).style.display = 'block';
}
}
</script>
<?php
echo '<a href="#" onclick="showresult(\'div'.$count.'\');">Meer info!</a>';
echo '<div id="div'.$count.'" style="display: none;"> verborgen content';
echo '<br/> prijs: '.$row['prijs'];
echo '<br/> contactpersoon: '.$row['contactpersoon'];
echo '<br/> bedrijf: '.$row['bedrijfsnaam'];
echo '<br/> plaats: '.$row['plaats'];
echo '<br/> date: '.$row['date'];
echo '<br/>';
echo '</div>';
echo '<hr/>';
$count++;
}
echo '</div>';
}
?>
if (isset($_POST['term']))
{
require("require/dbconnect.php");
// zoekfunctie van alles
$term = $_POST['term'];
$sql = mysql_query("select * FROM search WHERE uitkomst like '%$term%' or soort like '%$term%'");
echo '<div id=searchresult>';
$count = 0;
while ($row = mysql_fetch_array($sql))
{
echo '<br/> ID: '.$row['id_photo'];
echo '<br/> uitkomst: '.$row['uitkomst'];
echo '<br/> soort: '.$row['soort'];
?>
<script>
function showresult(div){
if(document.getElementById(div).style.display == 'block'){
document.getElementById(div).style.display = 'none';
}
else{
document.getElementById(div).style.display = 'block';
}
}
</script>
<?php
echo '<a href="#" onclick="showresult(\'div'.$count.'\');">Meer info!</a>';
echo '<div id="div'.$count.'" style="display: none;"> verborgen content';
echo '<br/> prijs: '.$row['prijs'];
echo '<br/> contactpersoon: '.$row['contactpersoon'];
echo '<br/> bedrijf: '.$row['bedrijfsnaam'];
echo '<br/> plaats: '.$row['plaats'];
echo '<br/> date: '.$row['date'];
echo '<br/>';
echo '</div>';
echo '<hr/>';
$count++;
}
echo '</div>';
}
?>
Gewijzigd op 12/10/2012 09:29:37 door Marvin H
Nu ga ik maar eens die link lezen die je had gepost van sql injection shit :p
Gewijzigd op 12/10/2012 09:40:08 door - Marco -
- Marco - op 12/10/2012 09:33:00:
ok dit werkt thx!! :)
Nu ga ik maar eens die link lezen die je had gepost van sql injection shit :p
Nu ga ik maar eens die link lezen die je had gepost van sql injection shit :p
Doe je beste :) is niet zo heel moeilijk... Wat je ook kunt gebruiken is deze PHP functie ...
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
function cleanuserinput($dirty){
if (get_magic_quotes_gpc()) {
$clean = mysql_real_escape_string(stripslashes($dirty));
}else{
$clean = mysql_real_escape_string($dirty);
}
return $clean;
}
?>
function cleanuserinput($dirty){
if (get_magic_quotes_gpc()) {
$clean = mysql_real_escape_string(stripslashes($dirty));
}else{
$clean = mysql_real_escape_string($dirty);
}
return $clean;
}
?>
en je query gaat dan bijvoorbeeld zijn:
Code (php)
1
2
3
4
2
3
4
<?php
$sql = mysql_query("select * FROM search WHERE uitkomst like '%".cleanuserinput($term)."%' or soort like '%".cleanuserinput($term)."%' ")
or die('Error, query failed' . mysql_error());
?>
$sql = mysql_query("select * FROM search WHERE uitkomst like '%".cleanuserinput($term)."%' or soort like '%".cleanuserinput($term)."%' ")
or die('Error, query failed' . mysql_error());
?>
Gewijzigd op 12/10/2012 09:47:55 door Marvin H
'; DROP TABLE members; --
nou ik heb dus een test tabel hiervoor aangemaakt want ik kon het niet laten om dit te testen xD
dus ik doe dit in die searchbox en klik op submit:
'; DROP TABLE test; --
Dan krijg ik deze error, is dat goed of juist slecht want ik heb de tabel test nog steeds :p
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\marco\BrandsOfArt\cms\search.php on line 37