473,395 Members | 1,466 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Passing more than one word variables to php page

i wrote a search page for my site (searching through a mysql database) but
when i type in more than one word (eg "item three") in the search field it
gets passed to the page as a single word ("item"). Are there any
workarounds for this? the code is below.( houseproudlancs.co.uk/search.php
)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<!-- background="./images/background.jpg" --> <body bgcolor="#640000">
<?php
$search_for = $_GET['for'];
$search_category = $_GET['category']; global $search_for;
global $search_category;
global $the_items_description;
global $does_contain_text;
?>

<div align=center>
<form action="http://www.houseproudlancs.co.uk/search.php"
method="GET"> <br><table bgcolor="#EBEB96" cellpadding=6>
<tr> <td> </td> </tr> <tr> <td> <div align=center> Search For:
</div></td> <td> <div align=center> Category: </div> </td> </tr>
<tr> <td>
<INPUT name=for value=<?php echo ("$search_for"); ?>>
</td> <td>
<SELECT NAME=category SIZE=1>
<OPTION <?php if ($search_category == "Search All
Categories") { echo ("SELECTED"); } ?>>Search All Categories
<OPTION <?php if ($search_category == "Floral Creations") {
echo ("SELECTED"); }?>>Floral Creations <OPTION <?php if
($search_category == "Decorative Lighting") { echo
("SELECTED"); }?>>Decorative Lighting <OPTION <?php if
($search_category == "Kitchenware & Crockery") { echo
("SELECTED"); }?>>Kitchenware & Crockery <OPTION <?php if
($search_category == "Fancy Goods & Furniture") { echo
("SELECTED"); }?>>Fancy Goods & Furniture
</SELECT>
</td> <td>
<INPUT TYPE=submit VALUE="Search">
</td>
</form>
<tr> <td> </td> </tr>
</table>
</div>
<?php
switch ($search_category) {
case "":
exit;
break;
case "Search All Categories":
$filter_category = "*" ;
break;
case "Floral Creations":
$filter_category = "floral";
break;
case "Decorative Lighting":
$filter_category = "lighting";
break;
case "Kitchenware & Crockery":
$filter_category = "kitchenware";
break;
case "Fancy Goods & Furniture":
$filter_category = "furniture";
break;
default:
echo ("<P>Error - The Selected Category Was Not Found</P>"); break;
}

$dbcnx = @mysql_connect("server",
"username", "password"); $select =
@mysql_select_db("houseproudlancs_co_uk1"); if ($filter_category ==
"*") {
$command = "SELECT * FROM `stock` WHERE 1 ORDER BY `id`";
} else {
$command = "SELECT * FROM `stock` WHERE 1 AND `category` LIKE
\"$filter_category\" ORDER BY `id`";
}

$qresult = mysql_query($command);

$started_table = false;
while ($row = mysql_fetch_array($qresult)) {
//text search
$the_items_description = $row ["description"];

if ($search_for === '') $search_for = ":X:X::X:X::X:X:"; // hopefully
":X:X::X:X::X:X:" is something that is *never* in $the_items_description
$Items_searchable_text = ($row ["description"] . $row ["id"] . $row
["name"]);
$pos = stristr($Items_searchable_text, $search_for);

//THIS IS FOR DEBUGGING THE TEXT SEARCH
//echo ("POS = ");
//echo ("$pos");
//echo ("<br>item description = ");
//echo ("$the_items_description");
//echo ("<br> search for = ");
//echo ("$search_for");
//echo ("<br>");
//END OF DEBUGGING TEXT SEARCH

if ($search_for == ":X:X::X:X::X:X:") {
$does_contain_text = true;
} elseif ($pos === false) {
$does_contain_text = false;
} else {
$does_contain_text = true;
}

// end text search
if ($does_contain_text == true) {

if ($started_table == false) {
echo ("<center><table width=80% cellpadding=5>"); }

if ($tablebgcolor == "#1E8CDB"){ //blue
$tablebgcolor = "#EBEB96"; //green
} else {
$tablebgcolor = "#1E8CDB"; }
?>

<tr ><td> <table border=0 cellspacing=3 width=100% bgcolor=<?php
echo ("$tablebgcolor"); ?>> <tr><td> <table> <tr>
<?php
switch ($row ["category"]) {
case "lighting":
$item_category = "Decorative Lighting"; break;
case "floral";
$item_category = "Floral Creations";
break;
case "kitchenware":
$item_category = "Kitchenware & Crockery"; break;
case "furniture":
$item_category = "Fancy Goods & Furniture"; break;
default;
$item_category = "Unknown Category";
break;
}
?>
<td><pre>Name: </pre></td> <td><b><div align=left><?php
echo ($row ["name"]); ?> </b></div></td></tr><tr>
<td><pre>Description: </pre></td> <td><div align=left><?php echo
($row ["description"]); ?></div> </td></tr><tr> <td><pre>Category:
</pre></td> <td><div align=left><?php echo ($item_category); ?>
</div> </td></tr><tr> <td><pre>Price:
</pre></td><td><div align=left><?php echo ("£" . $row ["price"]);
?> </div> </td></tr><tr> <td><pre>P&P:
</pre></td><td><div align=left><?php echo ("£" . $row ["pandp"]);
?> </div> </td></tr><tr>
<?php $quantity = $row ["quantity"];
if ($quantity != "0") { ?>
<td><pre>Quantity: </pre></td> <td><div align=left><?php echo
($row ["quantity"]); ?> </div></td></tr><tr><?php } ?>
<td><pre>Product ID: </pre></td> <td><div align=left> <?php
echo ($row ["id"]); ?></div></td></tr><tr><td>
<?php if ($quantity == "0") { ?>
<td><b> <font color=#DD0000> <div align=center>Temporarily Out
Of Stock </b></div></font></tr><tr>
<?php } ?>
</td></tr></table>
</td><td width=30%>
<?php $pictureid = $row ["id"]; ?>
<?php $picturepath = "./images/" . $pictureid . ".jpg"; ?>
<?php
if (file_exists($picturepath)) {
echo ("<div align=\"center\"><a href=\"$picturepath\"
target=LargeImage><img src=$picturepath height=200 alt='Image
Of Product'></a><font size=2><br>Click The Image To See It Full
Size In A New Window</font></div>");
} else {
echo ("<div align=\"center\"><img src=\"/images/nopic.png\"
height=200 alt='No Picture Available'></a><font
size=2><br>Sorry, There Is No Available Picture For This
Item</font></div>");
}
?>
</td></tr></table></td></tr>
<?php
}
}
?>
</table></center>

<?php

?>
Jul 17 '05 #1
1 2595
Matthew Robinson wrote:

i wrote a search page for my site (searching through a mysql database) but
when i type in more than one word (eg "item three") in the search field it
gets passed to the page as a single word ("item"). Are there any
workarounds for this? the code is below.( houseproudlancs.co.uk/search.php
) <INPUT name=for value=<?php echo ("$search_for"); ?>>


This is your problem. You need to put quotes around your value. Check the HTML
code that is produced. You'll see something like:

<INPUT name=for value=item three>

Your browser interprets that as value = "item", with an attribute called "three"
that it doesn't know what to do with, and therefore ignores.

Regards,
Shawn
--
Shawn Wilson
sh***@glassgiant.com
http://www.glassgiant.com

I have a spam filter. Please include "PHP" in the
subject line to ensure I'll get your message.
Jul 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: JA | last post by:
I have this little tell-a-friend script that will send out a link back to the site. I want to put a link on my product pages that will go to the script, and have the script display the product...
2
by: Richard | last post by:
**** Post for FREE via your newsreader at post.usenet.com **** HI, I am working on a project where I need to input data to a (local) HTML page using multiple form elements, such as text,...
5
by: Jack | last post by:
Hi, I need to pass multple variables in a link in order to go to a asp page with the two varables. The following are the values of the variables using response.write: <%'Response.Write Mypage...
4
by: Doruk | last post by:
The problem that we are experiencing is simple: We want to pass certain parameters from a page with several server controls to another page. We want to do this in a dotnet compliant manner,...
7
by: Khai | last post by:
First off, yes, I understand the crapload of tutorials out there, (well, rather, I understand there /are/ a crapload of tutorials out there), the problem is my comprehension. I'm trying to pass...
28
by: Skeets | last post by:
i'm passing session and hidden variables between pages. not to mention post values. i'm a little concerned that someone with sufficient knowledge could spoof these vlaues and manipulate the...
4
by: allanrodkin | last post by:
Hi, I'm designing a website in dreamweaver and I'm using JavaScript to slide text across the page. The text is contained in <div> tags. I have designed a function which can move two of the div...
5
by: nickm687 | last post by:
Hi i have this code below and i need to modify it so i can pass more than one text file to it. any ideas? i am new to this. thanks in advance. Nick int main(int argc, char *argv) { FILE *f;...
2
by: luis | last post by:
I'm using ctypes to call a fortran dll from python. I have no problems passing integer and double arryas, but I have an error with str arrys. For example: ..... StringVector = c_char_p *...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.