<?php
	if(isset($_GET['zoek']) && $_GET['zoek'] != "") {
		// Include's
		include("../../include/inc_connect.php");
		include("../../include/inc_function.php");
		
		echo "<hr color=\"#000\" size=\"1\">";
		
		if (isset($_GET['forum']) && $_GET['forum'] == 1) {
	
			// Forum zoeken:
			$forum_search = mysql_query("SELECT t.id, DATE_FORMAT(p.date, '%d-%m-%Y %H:%i:%s') AS date, u.name, t.title FROM forum_posts AS p, users AS u, forum_topics AS t WHERE p.topic_id = t.id AND u.id = p.poster AND p.story LIKE '%". $_GET['zoek'] ."%'");
			$forum_num = mysql_num_rows($forum_search);	
			
			if($forum_num != 0) {
				echo "<b>Forum:</b>";
				while($forum_row = mysql_fetch_row($forum_search)) {
					echo "<br /><a href=\"viewtopic.php?t=". $forum_row[0] ."\">". $forum_row[3] ."</a> geplaatst op ". $forum_row[1] ." door ". $forum_row[2];
				}
			}
		}
		
		if (isset($_GET['content']) && $_GET['content'] == 1) {
			echo "<br /><br /><br />Ja, dat gaat neit zonder contentsys..";
		}
		
		if (isset($_GET['downloads']) && $_GET['downloads'] == 1) {
			// Downloads zoeken:
			$download_search = mysql_query("SELECT t.id, DATE_FORMAT(p.date, '%d-%m-%Y %H:%i:%s') AS date, u.name, t.name FROM dl_downloads AS p, users AS u, dl_categories AS t WHERE p.cid = t.cid AND u.id = p.user AND p.instructions LIKE '%". $_GET['zoek'] ."%' OR p.name LIKE '%". $_GET['zoek'] ."%'");
			$download_num = mysql_num_rows($download_search);	
			
			if($download_num != 0) {
				echo "<br /><br /><b>Downloads:</b>";
				while($download_row = mysql_fetch_row($download_search)) {
					echo "<br /><a href=\"../downloads/view.php?id=". $download_row[0] ."\">". $download_row[3] ."</a> geplaatst op ". $download_row[1] ." door ". $download_row[2];
				}
			}
		}
		
		if (isset($_GET['users']) && $_GET['users'] == 1) {
			// Users zoeken:
			$users_search = mysql_query("SELECT id, name, usergroup FROM users WHERE name LIKE '%". $_GET['zoek'] ."%'");
			$users_num = mysql_num_rows($users_search);	
			
			if($users_num != 0) {
				echo "<br /><br /><b>Gebruikers:</b>";
				while($users_row = mysql_fetch_row($users_search)) {
					echo "<br /><a href=\"profile.php?id=". $users_row[0] ."\">". colorname($users_row[1], $users_row[2]) ."</a>";
				}
			}
		}

		exit();
	} 
	
	include("inc_1.php");
	
	content_header('Zoeken');
?>
<script language="javascript" type="text/javascript">    
	function zoek(post_string, forum, content, downloads, users)
	{
		if(!post_string == '') {
			if (!forum == '' || !content == '' || !downloads == '' || !users == '') {
				make_request('search.php?zoek='+ post_string +'&forum='+ forum +'&content='+ content +'&downloads='+ downloads +'&users='+ users, 'search_area', 'GET');
			} else {
				document.document.getElementById('search_area').innerHTML = '';
			}
		} else {
			document.document.getElementById('search_area').innerHTML = '';
		}
		alert(forum);
	}

	function search_area(result)
	{
		document.document.getElementById('search_area').innerHTML = result;
	}
</script>

<input type="text" id="txt1" size="30" onkeyup="zoek(this.value, getElementByID['forum'].value, getElementByID['content'].value, getElementByID['downloads'].value, getElementByID['users'].value)">
<input id="forum" type="checkbox" value="1" checked onclick="zoek(getElementByID['txt1'].value, this.value, getElementByID['content'].value, getElementByID['downloads'].value, getElementByID['users'].value)" /> Forum
<input id="content" type="checkbox" value="1" checked onclick="zoek(getElementByID['txt1'].value, getElementByID['forum'].value, this.value, getElementByID['downloads'].value, getElementByID['users'].value)" /> Content
<input id="downloads" type="checkbox" value="1" checked onclick="zoek(getElementByID['txt1'].value, getElementByID['forum'].value, getElementByID['content'].value, this.value, getElementByID['users'].value)" /> Downloads
<input id="users" type="checkbox" value="1" checked onclick="zoek(getElementByID['txt1'].value, getElementByID['forum'].value, getElementByID['content'].value, getElementByID['downloads'].value, this.value)" /> Gebruikers
<div id="search_area"></div>

<?php
	content_footer();
	
	include("inc_2.php");
?>


de div wordt niet geupdate :S

http://blabla/search.php?zoek=a&forum=1&downloads=1&content=1&users=1

als ik dat gewoon intyp in de browser krijg ik dit:
browser
Forum:
Zoekfunctie geplaatst op 13-08-2007 08:40:01 door Tommy
Zoekfunctie geplaatst op 12-08-2007 14:19:29 door Tommy
Zoekfunctie geplaatst op 11-08-2007 20:24:00 door Benny
Zoekfunctie geplaatst op 12-08-2007 10:52:43 door Tommy
Zoekfunctie geplaatst op 18-08-2007 16:24:07 door Droes
Dood? geplaatst op 14-09-2007 19:04:23 door Droes
Zoekfunctie geplaatst op 12-08-2007 13:40:36 door Benny
Dood? geplaatst op 14-09-2007 19:57:48 door Tommy
Dood? geplaatst op 25-09-2007 19:29:14 door Lordkire
Dood? geplaatst op 28-09-2007 19:25:55 door Benny
Dood? geplaatst op 28-09-2007 20:22:29 door Droes
Dood? geplaatst op 29-09-2007 10:26:03 door Droes
Dood? geplaatst op 29-09-2007 10:27:09 door Droes
Dood? geplaatst op 29-09-2007 10:28:40 door Droes
Dood? geplaatst op 29-09-2007 10:29:41 door Droes
Dood? geplaatst op 29-09-2007 10:30:57 door Droes
Dood? geplaatst op 29-09-2007 10:33:05 door Droes


Ja, dat gaat neit zonder contentsys..
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/rockstar/public_html/forum/search.php on line 35


Gebruikers:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/rockstar/include/inc_function.php on line 241
1


Dus het moet eigenlijk aan de query's liggen iemand al een idee wat er mis kan zijn?
Waar controleer jij of de queries wel zijn gelukt? En waarom controleer jij dat eigenlijk niet?
Controleer ik nu wel, maar ik kan ff niet bij ftp :S..
Idd een querie die fout loopt. Gewoon even nalopen en verbeteren.
Maar nog wat kleine opmerkingen:

- Je code is erg onveilig. Vang/controleer meegegeven variabelen beter.
- Bij gebruik van echo kun je beter enkele quotes gebruiken i.p.v. dubbele quotes. Zo hoef je niets te escapen en is bovendien sneller.
- gebruik document.getElementById('search_area'); en niet document.document
document.document is gewoon paar keer foutje :$, dubbele quotes heb ik aangeleerd omdat we (alle admins) alles het zelfde wilde programmeren. welke vars bedoel je dan?
Gebruik Mootools of Prototype (en om dat te gebruiken: gebruik Google).
Alle $_GET variabelen...

En zeker de variabele $_GET['zoek'] goed afvangen en controleren.

Voorbeeld:
$zoek = isset($_GET['zoek']) ? $_GET['zoek'] : null;
$zoekterm = mysql_real_escape_string($_GET['zoek']);
Jonathan schreef op 30.09.2007 16:57
Gebruik Mootools of Prototype (en om dat te gebruiken: gebruik Google).


heb van prototype gehoord, wat is/doet het?
Het is een JavaScript framework, waar dit allemaal werkend is ingebakken. Met twee of drie regels code heb je hetzelfde als dat jij in -tig regels doet. En het werkt cross-browser.
We hebben al zo iets, maar dan zelf gemaakt..
Tommy schreef op 30.09.2007 17:33
We hebben al zo iets, maar dan zelf gemaakt..

Waarom het wiel opnieuw uitvinden... :)

Reageren