almostbob 866 Retired: passive income ROCKS

like php
it embeds in a html file
the file is renamed .asp
so the intranet server knows what to do with it
links to the file from outside also have to have href=filename.asp

I would go here http://www.w3schools.com/asp/default.ASP [ check the file extension :) ] for self paced tutorials
and the .asp.net and .asp forum one parent up in web development for help from code gurus

almostbob 866 Retired: passive income ROCKS

I think I understand
the target attribute of a link should do it
consider a frameset with left and right panes
the left pane includes the menu
the right frame is the display page

index html

dtd
<html>
<head>
<frameset cols='200px,8' >
<frame src='menu.html'  name='menu'>
<frame src='display.html'  name='display'>
</framest>

menu.html

dtd
<html>
<head>
bla bla
</head>
<body>
<a href='choice1.html' target='display'>page1</a><br>
<a href='choice2.html' target='display'>page2</a><br>
<a href='choice3.html' target='display'>page3</a><br>
</body>
</html>

display.html

menu.html[code=html]dtd
<html>
<head>
bla bla
</head>
<body><center>select from left
</center>
</body>
</html>
almostbob 866 Retired: passive income ROCKS

something like

if ( confirm('Please enable java to experience this enhanced page')) { window.open('http://www.java.com/en/download/','_blank'); }

I like

if ( confirm('Please enable java to experience this enhanced page\nClick OK to go to the Java Download page.')) { window.open('http://www.java.com/en/download/','_blank'); }

better explanation

almostbob 866 Retired: passive income ROCKS

JavaScript hit counter.

HEADER SCRIPT

<SCRIPT LANGUAGE="JavaScript">

corrected javascript

<script type='text/javascript'>

asp server counter

<%
on error resume next 
' Create server object
set fso = createobject("scripting.filesystemobject")
' Target text file to opened
set act = fso.opentextfile(server.mappath("asp_count.txt"))
' Read the value of the text document
' If the text document does not exist then the on error resume next
' will drop down to the next line
counter = clng(act.readline)
' Add one to the counter
counter = counter + 1
' Close the object
act.close
' Create a new text file on the server
Set act = fso.CreateTextFile(server.mappath("asp_count.txt"), true)
' Write the current counter value to the text document
act.WriteLine(counter)
' Close the object
act.Close
' Write the counter to the browser as text ::response can be quoted out or erased
Response.Write counter
%>
almostbob 866 Retired: passive income ROCKS

something like

if ( confirm('Please enable java to experience this enhanced page')) { window.open('http://www.java.com/en/download/','_blank'); }
almostbob 866 Retired: passive income ROCKS
<input type='button' id='back' value='back' onclick='javascript: history.go(-1);' />
almostbob 866 Retired: passive income ROCKS

Ajax , I dont know how it works at all, reading this forum to get info on things that work and dont work before I try any ajax
in php I do something like

<input type='text' id='something' value='<?php if(isset($_POST['something'])) {echo $_POST['something']; } ?>'>

to preserve the fields values,
is there something simliar in AJAX

almostbob 866 Retired: passive income ROCKS

parent row <th> child row <td> or class='unsortable'
there were instructions included with the download for sorttable.js, if they are lost go to javascript.internet.com to get another copy of the instructions
can't be more specific I havent rework tables in a long time

almostbob 866 Retired: passive income ROCKS
<script type="text/javascript">
function enableButton() {
 if(document.getElementById('option').checked='checked'){  document.getElementById('b1').disabled=""; }
 else { document.getElementById('b1').disabled='disabled'; }
 }
</script>
<p style='text-align:center;'>
<span style='float:right;text-align:right;'>
<input type="checkbox" name="option"  id="option" onclick="javascript:enableButton();">
<label for='option'>
I have read and agree to the<br />terms and conditions
</label>
</span>
<input type="button" name="b1" value="Click" id="b1" disabled='disabled' onclick="top.location.replace('http://www.google.com');" />
</p>
almostbob 866 Retired: passive income ROCKS
<input type="button" name="b1" value="Click" id="b1" onclick="top.location.replace('http://www.google.com');" />
almostbob 866 Retired: passive income ROCKS

why are you using a text date,
Humans dont read the database, the computer does, computers do not need human readable data, they work better without it.
date as a timestamp is a numeric 10bytes per record to store a numeric string that represents date and time select * from table where date >date1 and date <date2 is so much faster to select date ranges when the dates are stored numeric
formatting is done on output echo date(Y-m-d,$date); to store a date and time
2002-10-21, 12:35pm 18bytes,
1035203700 10 bytes
not much on 1 row, but a lot on 1million rows,

for your actual question
Force the format
with 3 input/select boxes for Y M D , then concatenate the input values

almostbob 866 Retired: passive income ROCKS

would something like this work

<textarea rows='7' cols='35' style='float:right;' id='bigbox'></textarea>
<select id='sel' onchange='document.getElementById("bigbox").innerText=document.getElementById("sel").value'>
<option alt='' value='' disabled>Select</option>
<option value=' this long text1 this is more text and still more this long text1 this is more text and still more this long text1 this is more text and still more'> short text 1 </option>
<option value='this is a long text  test2 this is a long text  test2 this is a long text  test2 this is a long text  test2 this is a long text  test2 this is a long text  test2 '> short text 2 </option>
<option value='this is a test3 this is a long text  testthis is a test3 this is a long text  testthis is a test3 this is a long text  testthis is a test3 this is a long text  testthis is a test3 this is a long text  testthis is a test3 this is a long text  testthis is a test3 this is a long text  test'> short text 3 </option>
<option value='this is a test4 this is a test4 this is a test4 this is a test4 this is a test4 this is a test4 this is a test4 this is a test4 '> short text 4 </option>
<option value=' this is a test5 this is a test5 this is a test5 this is a test5 this is a test5 this is a test5'> short text 5 </option>
<option value='this is a test6 this is a test6 this is a test6 this is a test6 …
almostbob 866 Retired: passive income ROCKS
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- @(#) $Id$ -->
<head>
<title>HTML Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<!-- bla bla stuff you want to display immediately -->
thumbnails
<img alt='img1 description' id='img1' src='blank.gif' width='80' height='80' />
<img alt='img2 description' id='img2' src='blank.gif' width='80' height='80' />
<img alt='img3 description' id='img3' src='blank.gif' width='80' height='80' />
<img alt='img4 description' id='img4' src='blank.gif' width='80' height='80' />
<img alt='img5 description' id='img5' src='blank.gif' width='80' height='80' />
<img alt='img6 description' id='img6' src='blank.gif' width='80' height='80' />
<img alt='img7 description' id='img7' src='blank.gif' width='80' height='80' />
<img alt='img8 description' id='img8' src='blank.gif' width='80' height='80' />
...
<img alt='img999 description' id='img999' src='blank.gif' width='80' height='80' />
<!-- Bla bla stuff you want to display immediately -->
<script type='text/javascript'>
//<![CDATA[
<!--
document.getElementbyId('img1').src = 'images/pic1.jpg';
document.getElementbyId('img2').src = 'images/pic2.jpg';
document.getElementbyId('img3').src = 'images/pic3.jpg';
document.getElementbyId('img4').src = 'images/pic4.jpg';
document.getElementbyId('img5').src = 'images/pic5.jpg';
document.getElementbyId('img6').src = 'images/pic6.jpg';
document.getElementbyId('img7').src = 'images/pic7.jpg';
document.getElementbyId('img8').src = 'images/pic8.jpg';
// ....
document.getElementbyId('img999').src = 'images/pic999.jpg';
//-->
//]]>
</script>
</body>
</html>

one way, not necessarily a good way, but one way,
Blank.gif is a 1*1px transparent image, the page loads completely then images load and replace the sized blanks in the layout
serve the thumbnails - thumbnailed dont use width/height to resize 200KB images, low res thumbs need only be 3-4KB
something like

<img id='img1' src='blank.gif' width=80 height=80 onclick="document.getElementByID('BigImg').src='images/bigpic1.jpg';">

to display the full images on clicking the thumb

almostbob 866 Retired: passive income ROCKS

you are trying to run php from the local file system /C:/Documents and Settings/rEd_xiii21/Desktop/programming/ERDI Website Final/Duplicate of Edited Site/
that wont work, even if it is the same folder
php has to run as http://127.0.0.1/filepath/filename.php (or localhost/)
move all the files you wish to work on, below the folder assigned as localhost in your php/wamp/IDE settings and access them though the localhost url
I do not know what php system version/wamp/ide you have installed but the errors now seem to be simply method problems, but a solution is getting closer (nervous fingers crossed)

almostbob 866 Retired: passive income ROCKS

To reduce being killed as spam, give the mail properly formed headers including To: Subject: From:, and make sure the subject isnt the typical spam "VIAGRA" type of subject
per the mail() reference at php.net

almostbob 866 Retired: passive income ROCKS

apache mod_rewrite
and a bunch of discussions on the subject and tutorials etc "user friendly urls with mod rewrite"
its not hard as long as the ?bla=blah&otherstuff=somethingelse parameter part of the url is structured

almostbob 866 Retired: passive income ROCKS

I think php includes are better as include.inc.php than include.php.inc
I can read .inc files over http, files above the root on insecure servers http://www.blabla.com/../../thisfileisnotsecure.inc
I cant read .php files, only the output, if an include does not have output, is constants or sql_connect, I cant read it

almostbob 866 Retired: passive income ROCKS

this is a better line16

if(!mail('me@mysite.com',"Inquiry","$message","From: $email " . "\r\n" . "Cc: $email"."\r\n")) {echo "Sending failed,"; } else { echo "Message sent."; }
almostbob 866 Retired: passive income ROCKS

php forms can be self processing, its easy to debug one script, try

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- @(#) $Id$ -->
<head>
<title>HTML Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<?php if (isset($_POST["submit"])) 	{
  if(!$_POST['name'] || !$_POST['email'] || !$_POST['question'] )     
  { echo "Required fields not completed, please input the required fields."; }
 else { $name = $_POST['name'];
  $email = $_POST['email'];
  $question = $_POST['question'];
  $message = wordwrap("Message from $name \n Message: $question", 70);
  if(!mail($email,"Inquiry",$message)) {echo "Sending failed, please input the required fields."; } else echo "Message sent.";
 } } ?>
<form name='FAQ' method='post' action='<?php echo $_SERVER["PHP_SELF"]; ?>'>
<table cellpadding='0' cellspacing='5' border='0' width='500' align='center'>
<tr>
<td width='150'><p class='content'>Name: * </td>
<td width='350'><input type='text' size='55' name='name'></td>
</tr>
<tr>
<td width='150'><p class='content'>Email Address: * </td>
<td width='350'><input type='text' size='55' name='email'></td>
</tr>
<tr>
<td width='150'><p class='content'>Question: * </td>
</tr>
<tr>
<td width='350' colspan='2'><textarea cols='59' rows='5' name='question'></textarea></td>
</tr>
<tr>
<td colspan='2' align='right'><input type='submit' value='Submit' name='submit'></td>
</tr>
</table>
</form>
</body>
</html>

but the message is only being sent to the sender, no address is specified for you
Try replacing line 16

if(!mail('myaddress@mysite.com',"Inquiry",$message,"Cc:$email\r\n")) {echo "Sending failed, please input the required fields."; } else echo "Message sent.";

message to "customer service", copy to sender
all necessary html headers are sent before any script output, in case malformed pages are being thrown out by the server,

almostbob 866 Retired: passive income ROCKS

doing it yourself is in the too hard basket
WAMP (windows apache mysql php) will install it all as a package that works together. http://www.soft-go.com/view/WAMP5_20010.html

almostbob 866 Retired: passive income ROCKS

Well as a tutorial exercise,
go to big nose bird http://bignosebird.com/cgi.shtml and get the all-in-one form processing script,
its very well commented and documented within the code, so you can point your form at this form handler and see/learn what it is doing.
cgi scripts are text and you can read them with your text editor

almostbob 866 Retired: passive income ROCKS

Confidence

almostbob 866 Retired: passive income ROCKS

On login store the userid in a Session, then it is available to php
I know sessions exist, DONT know how to implement them so here is a link, which does include session cookies
http://www.php.net/manual/en/features.sessions.php

almostbob 866 Retired: passive income ROCKS

one of the errors in the google101 common error list

almostbob 866 Retired: passive income ROCKS

perl scripts in the /cgi-bin/ folder and just point the action of the form at the perl script <form id='Globe' action='/cgi-bin/process.cgi' method='post'> Not even sure if perl scripts work outside of the cgi-bin folder, ?

almostbob 866 Retired: passive income ROCKS

w3c javascript tut. basic but its good http://www.w3schools.com/JS/default.asp
and the code samples are portable you can put them in anything

almostbob 866 Retired: passive income ROCKS

similarly to the way the $_post data is already accessed
ISBN is already defined in the php scrap above, so you can access it

ISBN (10 digits with no spaces): 
<input type="text" name="ISBN" size="20" value="<?php if($ISBN) { echo $ISBN; } ?>" />
almostbob 866 Retired: passive income ROCKS
<a href="#" onclick="document.getElementById('IMAGEIWANTTOCHANGE').src='content/myspace/photo.jpg';return false;"><img src="content/my space/mosaico_imgs.jpg" border="0" style="margin-top:38px;" /></a>
<!--any number of images can be linked to change the displayed image -->
<!-- or -->
<img onclick="document.getElementById('IMAGEIWANTTOCHANGE').src='content/myspace/photo.jpg';" src="content/my space/mosaico_imgs.jpg" border="0" style="margin-top:38px;" />
<!---->
<div id='sobre'> <!-- this id is irrelevant for this code-->
<img id='IMAGEIWANTTOCHANGE' src='whatever.jpg' />
</div>

onclick the image with the id IMAGEIWANTTOCHANGE will change

almostbob 866 Retired: passive income ROCKS
<a id='addbutton' onmouseover="this.style.cursor='pointer'" onClick="toggle_it('addanother');toggle_it('addbutton');">Add more</a>

give the link an id, and toggle it in the same onclick event

almostbob 866 Retired: passive income ROCKS
$dateone=strtotime(now +3 month);
$datetwo=strtotime(now +4 month);

it also showing parse error.
i copy and paste ur code and change the necessary fields and table name but parse error still there.

I messed up
Now is a Mysql/Sql construct not php, strtotime is strings in php the code should work as

$dateone=strtotime('+3 month');
$datetwo=strtotime('+4 month');

Its one in the morning now so I missed the obvious.

Please don't notice that this is code I messed up Yesterday :P

almostbob 866 Retired: passive income ROCKS

I put two dates, to select a month span, from +3 months to plus 4 months
conceivably that would, if run on the first day of September produce all leases expiring in the month of December,
I have some leases that expire on the 26th of the month for example
then you could batch up a bunch of letters in one query

if(!$dateone} { $dateone=strtotime(+3 month); }
if(!$datetwo} { $datetwo=strtotime(+4 month); }
$result=mysql_query('select * from table where expiry > %s and expiry < %s, $dateone $datetwo');
while($row = mysql_fetch_array($result))  { 
$tenant = $row['name'];
$date = date(D M Y, $row['expiredate']);
  echo "<br />";
Echo "Dear $tenant, <br>";
."your fixed period lease expires on $date, If you would like to remain as a tenant after $date, we request you contact our office to pay the bribe<br>"; // humor 
."If we do not receive answer by the 15th of ".date(M, strtotime( 'Now + 1 month' )).", we will assume you wish to vacate at the end of the lease period and begin to show the property to other persons.<br>";
."thankyou<br>";
."Evil Landlord";
} ?>

only a single date restricts (in my mind) what you can do, the code above includes 2 if not statements at the dates, you could input the dates to choose on a form used to prepare the query, I dunno its 1 in the morning

almostbob 866 Retired: passive income ROCKS

overly complicated
images have src directly accessible

<a href="#" onclick="document.getElementById('IMAGEIWANTTOCHANGE').src='content/myspace/photo.jpg';return false;"><img src="content/my space/mosaico_imgs.jpg" border="0" style="margin-top:38px;" /></a>
<!-- or -->
<img onclick="document.getElementById('IMAGEIWANTTOCHANGE').src='content/myspace/photo.jpg';" src="content/my space/mosaico_imgs.jpg" border="0" style="margin-top:38px;" />

changing the inner html of another element seems unneccessary

almostbob 866 Retired: passive income ROCKS
<?php
//1. Create a database connection
$connection = mysql_connect("localhost", "kingdomc_mtech", "busine$$");
if (!$connection)
{
die("Database connection failed: " . mysql_error());
}

//2. Select a database to use
$db_select = mysql_select_db("kingdomc_learning", $connection);
if (!$db_select)
{
die ("Database selection failed: " . mysql_error());
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SQL lesson1</title>
</head>

<body>
<?php
	//3. Perform database query
	$result = mysql_query("SELECT * FROM subjects", $connection);
	if(!$result)
	{
	die ("Database query failed: " . mysql_error());
	}
	//4. Use returned data
	while ($row = mysql_fetch_array($result));
	{
	echo $row[0]." ".$row[2]."<br/>";
	}
	?>
</body>
</html>
<?php
//5. Close connection
mysql_close($connection);
?>

line 27, try

$result = mysql_query("SELECT * FROM subjects" );
almostbob 866 Retired: passive income ROCKS

sorry Jespin, one wrong detail

echo "<img src='.$avatar.' >"; // will fail the concatenation is wrong dquotes are not closed at the dot
/* but */
echo "<img src='$avatar' >"; // variable inside dquotes OK
echo "<img src='".$avatar."' >"; // variable concatenated into the text OK

assuming user Joe, avatar joepic
output html from the above three samples would be something like

<img src='.joepic.jpg.' > <!-- oops -->
<img src='joepic.jpg'>
<img src='joepic.jpg' >
almostbob 866 Retired: passive income ROCKS

Agree with Xan's code fix


embedding php inside html, it is important to get all the quotes in.
only add a usefula(maybe) caveat to the code he provided, a recommendation to change whatever editor used to something that code highlights
It becomes easy to see when something is missing if the text is some bright colour when a(the) quote(s) Brace(s) Bracket(s) < > is(are) missing
Notepad++ Notepad2 & a bunch of good code highlighting editors

without the quotes output html for a nul field is value= /> your visble backslash
with quotes a nul gives value="" />

almostbob 866 Retired: passive income ROCKS

dont store a text format date, store a timestamp
timestamp can output to any user's preference
takes only 10bytes to store date and time,
is easier to process for select from - to dates

almostbob 866 Retired: passive income ROCKS
<style type='text/css'>
.l { width:30%; float:left; }
.r {width:69%; float:right;}
.w { width:100%; }
</style>
</head><body>
<div class='w'>
<div class='l'>
<img src='small1.jpg' onmouseover="document.getElementById('big.pic').src='large1.jpg" alt='pic' title='title' width='width' height='height' ><!-- properly setup the images this is just a code sample -->
<img src='small2.jpg' onmouseover="document.getElementById('big.pic').src='large2.jpg" alt='pic'>
<img src='small3.jpg' onmouseover="document.getElementById('big.pic').src='large3.jpg" alt='pic'>
</div>
<div class='r'><img id='big.pic' src='blank.gif'><!-- blank image till a mouseover occurs-->
</div>
</div>
</body>
<script type="text/javascript">
//<![CDATA[
<!-- 
image1 = new Image();
image1.src = "large1.jpg";
image2 = new Image();
image2.src = "large2.jpg";
image3 = new Image();
image3.src = "large3.jpg";
//-->
//]]>
</script>
</html>

image load script places mouseover images in the tif, but does it after the page is loaded, for appearance of faster pages

almostbob 866 Retired: passive income ROCKS

textarea IS an input
you could just type in the textarea

almostbob 866 Retired: passive income ROCKS
<?php $mobile = "http://mobile.mysite.com/";
if(preg_match('/Windows CE/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/Blackberry/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/PalmOS/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/PalmSource/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/SymbianOS/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/Opera Mini/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/Nokia/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/Samsung/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/vodaphone/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/Jphone/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/AvantGo/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/DoCoMo/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
elseif(preg_match('/DDIPOCKET/i',$_SERVER['HTTP_USER_AGENT'])) { header("location: $mobile");}
?>

works for me

handheld www. .
handheld mobile.
view mobile page without using your mobile bandwidth

almostbob 866 Retired: passive income ROCKS

display arrors are usually caused by html code errors
xhtml creates a slew of errors tht were not previously errors, and is more strict in coding requirements
wrongly coded html puts browsers into quirks mode which is different in most browsers
fix the html and the display errors will likely disappear

almostbob 866 Retired: passive income ROCKS

in my table there are above 4000 records in expiry field.
and I want to show alerts 3 months before.

the code sample shows one way to select those records
not the only way
probably not the most efficient way.
I cannot see the database structure, if the date is stored as text (poor design, extra space and processing to make the database human readable -but humans don't read the database), the process may be different
but one way, what you do with the selected array is up to you
your concept of the selection process seems to me to be inverted
cannot go backwards from the expiry date, -all that is can do is give you a reminder of those you should have sent letters to three months ago.
has to find those records expiring three months from Now
looking at the records today, for the ones that expire date is three months in the future counting from today, to print the alert today

almostbob 866 Retired: passive income ROCKS

Something not mentioned on that link is that POST requests are not cached. GET requests are, and thus reduce the load on your server. Subsequent requests using GET will appear much faster, since the request will actually be taken mostly from the browsers cache, and or intermediate HTTP caches. So for anything that doesn't modify data on your server, use a GET. If you want the data to never be cached, use post.

Thanks, another bit I didn't know

almostbob 866 Retired: passive income ROCKS

Most find that speed is not the issue
post is better for some purposes, get for others
this discussion may help
http://stackoverflow.com/questions/1211881/why-get-method-is-faster-than-post

almostbob 866 Retired: passive income ROCKS

I am a landlord too..
you need to find expiry dates that are three months FROM now, now is the only date that is known, so search the database relative to now
select records based on the expiry being NOW +3 MONTH
the code scrap (badly) illustrates one method, selecting all records from the table with expiry dates between 3 months and four months from now(now is this absolute second), and suggested modifying the code to select from day 1 of +3 month to day last of +3 months to be able to batch all the month lease renewal / nonrenewal notices
there are code samples all over php.net and mysql.com on selecting date ranges.
I suggest that date will be the most used selector that the best format for date will be the native timestamp, a solely numeric representation that allows direct comparison, without manipulation of every record at every operation.

almostbob 866 Retired: passive income ROCKS

I dont think you need to query a date 3 months ago, you need to find dates three months from now

strtotime() function
bogus brain dead almost code

$dateone=strtotime(now +3 month);
$datetwo=strtotime(now +4 month);
$result=mysql_query('select * from table where expiry > %s and expiry < %s, $dateone $datetwo');

as a thought process it may help
edit the strtotime strings to actually select the first and last day of the month, else the results may(will) vary throughout each day as "now" is very literal, changes every second
this code assumes the date is stored in a timestamp

if there arent records in your database yet, a timestamp column would be the best way to process dates and times, 10bytes to store the date and time, and much more efficient when extracting records by date or time, the selection is entirely numeric at the server and output easily

almostbob 866 Retired: passive income ROCKS
<a href='<?php echo $_SERVER['PHP_SELF']; ?>?x=a.txt'> a </a>
<a href='<?php echo $_SERVER['PHP_SELF']; ?>?x= b.txt'> b </a>
<?php  //hate short codes
$xh = fopen($x, 'r');
$theData = fread($xh, filesize($x));
fclose($xh);
echo '<h1>$x</h1>';
echo $theData;
?>
almostbob 866 Retired: passive income ROCKS

Iconize the images, and have javascript load the full images in the background after the page is loaded
click the icon, the full sized image displays in a div strategically located on the page,

almostbob 866 Retired: passive income ROCKS

When I run an IP check on a local machine using the remote_addr method I get an internal IP, as this is an intranet I would presume it would do the same.

Thanks, I thought so, but was not sure it would be the same for everybody,

have found a tool at auditmypc.com that can report the external ip and internal ip but it has to run from the pc in question
at least it gives a base
My thought is any pc on the intranet will have a range in the same numbers

may be better to use a login, and report the ip addresses of each access so the boss can "please explain" if there are unusual accesses

almostbob 866 Retired: passive income ROCKS

We find that there are <onEvent> properties that may fail in <tr> between browsers, we put the <onEvent> handlers in the <td> instead,
visual styling seems to work with every thing

per cguan's advice, this link BroswerShots will let you check out your code in browsers (all of them) to which you do not have access.
It provides screen dumps of browser/os combination

almostbob 866 Retired: passive income ROCKS
<html>
<head>
<title>Text Effect</title>
</head>
<body>
<input style='background:url("search.jpg")' type="text" name="txt" value="" 
  onfocus='this.style.background="none";' 
  onblur="if(this.value == '') { this.style.background="url('search.jpg')"; }" />
</body>
</html>

where search.jpg is an image of the word 'Search'