Jump to content

Recommended Posts

;D Hello CrazyGlue  ;D

 

You're referring to,  well I do believe, a search tab feature on your website. At the time being, I am not aware of a way for them to be able to be redirected to a certain part of a website with text entry.

 

I know of a way, with includes Javascript, of them to click a button (radio button) and be redirected to a page specified by the code.

 

Let me know, but I will look into this for you.

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872362
Share on other sites

this is what i have its an autosuggest script

 

 <input class="input" name="input" type="text" id="input1" size="30" maxlength="1000" src="/images/search.jpg" onkeyup="autoSuggest(this.id, 'listWrap1', 'searchList1', 'input1', event);" onkeydown="keyBoardNav(event, this.id);" /> 
  <input type="submit" name="search" id="search1" value="submit" />

 

when you click submit nothing happens

 

i mean can you not take the information from the input box and somehow use

onClick="location.href='/page/input from text box will appear here'"

 

 

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872368
Share on other sites

After investigating into your issue, I do believe a search engine would most fit your needs. You can use one of the free ones (e.g: Google Search Engine, Pax.com Search tab).

 

You may also use the one I've made temporarily

 

Below is the HTML to your webpage, so it may be searched.

<html>

<head>

<title>Web Search</title>

</head>

<form name="form1" method="POST" action="search.php">

<table width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width="36%">

<div align="center">

<input type="text" name="keyword">

</div>

</td>

<td width="64%">

<input type="submit" name="Submit" value="Search!">

</td>

</tr>

</table>

</form>

</body>

</html>

 

Then you should create a file named "search.php". Put the following code into this new file.

 

<?php

function listFiles($dir){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!="."&&$file!=".."){

//if it is a directory, then continue

if(is_dir("$dir/$file")){

listFiles("$dir/$file");

}

else{

//process the searching here with the following PHP script

}

}

}

}

function listFiles($dir,$keyword,&$array){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!="."&&$file!=".."){

if(is_dir("$dir/$file")){

listFiles("$dir/$file",$keyword,$array);

}

else{

//read file

$data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));

//avoid search search.php itself

if($file!="search.php"){

//contain keyword?

if(eregi("$keyword",$data)){

$array[]="$dir/$file";

}

}

}

}

}

}

//define array $array

$array=array();

//execute function

listFiles(".","php",$array);

//echo/print search results

foreach($array as $value){

echo "$value"."
\n";

} ?>

Now, combine the programs listed above, you will find all the related results in your websites will be found and listed. A further optimization of the search engine can be taken by adding the following,

1,list the title of all searching results

REPLACE THE FOLLOWING

if(eregi("$keyword",$data)){

$array[]="$dir/$file";

}

WITH

if(eregi("$keyword",$data)){

if(eregi("<title>(.+)

</title>",$data,$m)){

$title=$m["1"];

}

else{

$title="no title";

}

$array[]="$dir/$file $title";

}

2,Add links to searching results

CHANGE THE FOLLOWING

foreach($array as $value){

echo "$value"."
\n";

}

TO

foreach($array as $value){

list($filedir,$title)=split("[ ]",$value,"2");

echo "$value"."
\n";

}
// ADD THE FOLLOWING AT THE BEGINNING OF PHP FILES

set_time_limit("600");

set_time_limit("600");

$keyword=trim($_POST["keyword"]);

if($keyword==""){

echo"Please enter your keyword";

exit; }

function listFiles($dir,$keyword,&$array){

$handle=opendir($dir);

while(false!==($file=readdir($handle))){

if($file!="."&&$file!=".."){

if(is_dir("$dir/$file")){

listFiles("$dir/$file",$keyword,$array);

}

else{

$data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));

if(eregi("<body([^>]+)>(.+)</body>",$data,$b)){

$body=strip_tags($b["2"]);

}

else{

$body=strip_tags($data);

} if($file!="search.php"){

if(eregi("$keyword",$body)){

if(eregi("<title>(.+)</title>",$data,$m)){

$title=$m["1"];

}

else{

$title="no title";

}

$array[]="$dir/$file $title";

}

}

}

}

}

}

$array=array();

listFiles(".","$keyword",$array);

foreach($array as $value){

list($filedir,$title)=split("[ ]",$value,"2");

echo "$title "."
\n";

}

 

 

 

If you wish, you may add this to the VERY top of the PHP code to alert the user when no words have been typed into the box.

 

//get keywords

$keyword=trim($_POST["keyword"]);

//check if the keyword is empty

if($keyword==""){

echo"no keywords";

exit;

}

?>

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872370
Share on other sites

After reading your second post, I do still believe a search engine will fit your needs. There is another possibility,  I do not know if you're looking for this or not. It's called a radio button redirect, or as in my mind it is.

 

 

It uses no PHP, and just Javascript, which may cause {slight} problems if the user has no Javascript enabled, so this may be a "last resort."

 

<html>
<head>
<title>Radio Button Redirect</title>

<SCRIPT type="Text/JavaScript" LANGUAGE="JavaScript">

<!-- Begin
function go(loc) {
window.location.href = loc;
}
//  End -->
</script>
</head>
<body>
<td valign=top>
<div><center>
<form name="form" action="pagename.html"><b>Pick your choice:</b><br>
<BR><table border=0 cellpadding=5><tr><td>
<input type="radio" name="loc" style="color: #092445; background-color: #FFFFFF; border: 1px #ffffff solid;" onClick="go('pagename.html');"  alt=""></td><td><font face=verdana size=2>Selection #1</font></td></tr><tr><td>

<input type="radio" name="loc" style="color: #092445; background-color: #FFFFFF; border: 1px #ffffff solid;" onClick="go('pagename.html');"  alt=""></td><td><font face=verdana size=2>Selection #2</font></td></tr><tr><td>

<input type="radio" name="loc" style="color: #092445; background-color: #FFFFFF; border: 1px #ffffff solid;" onClick="go(''pagename.html'');"  alt=""></td><td><font face=verdana size=2>Selection #3</font></td></tr><tr><td>

<input type="radio" name="loc" style="color: #092445; background-color: #FFFFFF; border: 1px #ffffff solid;" onClick="go('pagename.html'');"  alt=""></td><td><font face=verdana size=2>Selection #4</font></td></tr></table>

<BR><BR><BR>
</form>
</html>

 

It's useful in some situations. You may see a live demo of it on my website.

 

http://www.vazzer.net/chooseyourclass.html

 

I made that awhile ago, so don't mind the crazyness of it .  8)

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872375
Share on other sites

hi Joel

 

my code looks like this i think what your suggesting would work but how would i place the code can you look below and see

 

<div class="wrapSearch">
  <div>
  <input class="input" name="input" type="text" id="input1" size="30" maxlength="1000" onkeyup="autoSuggest(this.id, 'listWrap1', 'searchList1', 'input1', event);" onkeydown="keyBoardNav(event, this.id);" />   
<input type="submit" name="search" id="search1" value="Search" />
  </div>
  <div class="listWrap" id="listWrap1">
  <ul class="searchList" id="searchList1">
  </ul>
  </div>
</div>

 

Thanks

 

 

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872410
Share on other sites

your input code needs to be inside a form...

i.e.

<div class="wrapSearch">
  <div>
<form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post">
  <input class="input" name="input" type="text" id="input1" size="30" maxlength="1000" onkeyup="autoSuggest(this.id, 'listWrap1', 'searchList1', 'input1', event);" onkeydown="keyBoardNav(event, this.id);" />   
<input type="submit" name="search" id="search1" value="Search" />
</form>
  </div>
  <div class="listWrap" id="listWrap1">
  <ul class="searchList" id="searchList1">
  </ul>
  </div>
</div>

 

that form will post the contents to itself.. and the php will pick it up.. put the php in the very top of the page! before any <html> <head> etc

 

if (isset($_POST['input']) && !empty($_POST['input']) {
$userInput = $_POST['input'];
//change spaces to -
$userInput = str_replace(' ', '-', $userInput);

//redirect user to url
header("location: page/$userInput");
exit();
}

 

that will redirect the user to www.mydomain.com/whatever/page/user-input

what did you want to try and achieve from this?

Link to comment
https://forums.phpfreaks.com/topic/165411-solved-form-output/#findComment-872420
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.