almostbob 866 Retired: passive income ROCKS

A timely piece of advice from which I am sure we could all benefit.

Finishing Things:

I am passing this on because it definitely worked for me today, and we all could probably use more calm in our lives.
Some doctor on TV this morning said the way to achieve inner peace is to finish all the things you have started.

So I looked around my house to see things I'd started and hadn't finished.

I have managed to finish off a bottle of Merlot, a bottle of Chardonnay, a bodle of Baileys, a butle of wum, a pockage of Prungles, tha mainder of bot Prozic and Valiuminun scriptins, the res of the chesescke, haf a pizzza, an a box a chocletz.

Yu haf no idr how fablus I feel rite now. Plaese sned dhis orn to dem yu fee ar in ned ov iennr pisss. An telum,u luvum!!

BitBlt commented: lol +0
wenbnet commented: lol +0
almostbob 866 Retired: passive income ROCKS

$data = processStockSite('http://finance.yahoo.com/q?s=echo $epic.l');
try

$data = processStockSite('http://finance.yahoo.com/q?s='.$epic.'.l');
gilgil2 commented: Very helpful and fast replies! +0
almostbob 866 Retired: passive income ROCKS

You dont work a spider
'spider' in this instance, is another name for a search engine robot, because they crawl the web following links
Your task is to optimize your site to make access better for the spider when it gets therefix broken links
use a consistent file structure
use valid code
sitemapgo to the google webmaster tools page and read webmaster101
also signup your site verify ownership of it, and find out exactly what spiders see when they crawl your site
makes the 'optimize' bit above, a lot easier
these standard test beds may assist you

http://analyze.websiteoptimization.com/authenticate.php?url=http://www.yoursite.com&/ Speed

http://validator.w3.org/check?uri=http%3A%2F%2Fwww.yoursite.com&charset=%28detect+automatically%29&doctype=Inline&group=0 html

http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.yoursite.com&profile=css21&usermedium=all&warning=1&lang=en CSS2 http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.yoursite.com&profile=css3&usermedium=all&warning=1&lang=en CSS3

http://demo.opera-mini.net/demo.html?www.yoursite.com handheld

http://www.browsershots.org other browsers
many problems (if present) will show
serious code errors in the w3c validator sites produce blankscreens in browsershots

Valid code does not ensure the site will work ..... in all browser OS combinations
Invalid code ensures the site will not work ..... in all browser OS combinations


not all layouts work in handheld devices
strictly code based

almostbob 866 Retired: passive income ROCKS

zoom is not an appropriate or useful test
users set the basefont to their specifications/requirements and expect that websites are current enough in code compliance to adjust around them
current best practice it to use em or % as layout tools
cease using px, the problem will disappear

800px columnn looks ridiculous on this 2600px monitor
800px pushes offscreen in small displays/portable devices

AngelicOne commented: very helpful +3
almostbob 866 Retired: passive income ROCKS

would be inclined (very inclined) to build the page right and just let the client see the finished product

almostbob 866 Retired: passive income ROCKS

whatever works for YOU
the typical 'hello world' to a rdbms require different appproaches different code
echo is appropriate for a single line
heredoc for blocks of text

almostbob 866 Retired: passive income ROCKS

"products" what products, needs a little more thought, otherwise its a google search
loc city: EVERYTHING

almostbob 866 Retired: passive income ROCKS

without a mail server you cant send mail

almostbob 866 Retired: passive income ROCKS

Of course there is always this standard replyWe could tell you, but then we'd have to kill you

almostbob 866 Retired: passive income ROCKS

Let all the Socialists vote for lenin
there are many levels of dumb
when this level, TDTB, is reached, you have to feel a sense of awe
vote [1] dead guys
*TDTB = too dumb to breathe

almostbob 866 Retired: passive income ROCKS

"does that change anything"
validation errors in xhtml code, and
some browsers may fail to display the tag/page (depending on the number of code errors)

xhtml has strict structure rules
must use self closed tags, period

stuff we use a lotthese standard test beds may assist you

http://analyze.websiteoptimization.com/authenticate.php?url=http://www.yoursite.com&/ Speed tweaks

http://validator.w3.org/check?uri=http%3A%2F%2Fwww.yoursite.com&charset=%28detect+automatically%29&doctype=Inline&group=0 html check

http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.yoursite.com&profile=css21&usermedium=all&warning=1&lang=en CSS2 check http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.yoursite.com&profile=css3&usermedium=all&warning=1&lang=en CSS3 check

http://demo.opera-mini.net/demo.html?www.yoursite.com handheld

http://www.browsershots.org other browsers
many problems (if present) will show
serious code errors in the w3c validator sites will produce blankscreens in browsershots

Valid code does not ensure the site will work ...
Invalid code ensures the site will not work ...
.. in all browser OS combinations

not all layouts work in handheld devices
strictly code based,

Hani1991 commented: Thank you for wasting your time to help me. +2
almostbob 866 Retired: passive income ROCKS
<form onsubmit='document.getElementById("textbox").value="";'>
<!-- or -->
<input type='submit' onclick='document.getElementById("textbox").value="";'>

or any other combination of form/input & onanything

almostbob 866 Retired: passive income ROCKS

retired already, see below Sig, travelling summer in Canada, seeing all my wife's country, then travelling the other summer in Aus, my wife seeing all my country

got to love royalties

back when I started, , , Fortran punch cards, 600 punch cards to print one naked ascii lady

almostbob 866 Retired: passive income ROCKS

changing the file name is easy, php does STUFF

<?php 
///Posted in Phpadda.in/// 

// the directory  './' - is the current directory  '../' - is the parent directory 
// case sensitive 
// e.x.: /home/user or c:\files 
$dir='../images/'; 

// 1 - uppercase all files 
// 2 - lowercase all files 
// 3 - do not uppercase or lowercase 
$up=3; 

//rename files that have $w in their filename 
//case sensitive 
//set to '' if you want to rename all files 
$w='.jpg'; 

//do not rename files having $n in their filename 
$n=''; 

//add prefix to files 
$prefix=''; 

//add postfix 
$postfix=''; 

//replace 
// space with underscore
$replace=' '; 
$replace_with='_'; 

//true - traverse subdirectories 
//false - do not traverse subdirectories 
$tr=false; 

////// do NOT change anything below this ///////// 
set_time_limit(120); 
$files=array(); 
error_reporting(E_ERROR | E_PARSE); 
function prep($f,$dir) 
{ 
        global $up,$prefix,$postfix,$w,$replace_with,$replace,$n,$files; 
        if(strpos($f,$n)!==false) 
        return $f; 
        $f=str_replace($replace,$replace_with,$f); 
        if($up==1) 
        $f=strtoupper($f); 
        elseif($up==2) 
        $f=strtolower($f); 
        $f=$prefix.$f.$postfix; 
        $files[]=$dir.$f; 
        return $f; 
} 
$i=0; 
function dir_tr($dir) 
{ 
        global $i,$w,$tr,$files; 
        $dir=rtrim(trim($dir,'\\'),'/') . '/'; 
        $d=@opendir($dir); 
        if(!$d)die('The directory ' .$dir .' does not exists or PHP have no access to it<br><a target="_blank" href="http://phpadda.in">Need help?</a>'); 

        while(false!==($file=@readdir($d))) 
     { 
        if ($file!='.' && $file!='..' && $file!='renamer.php') 
        { 
            if(is_file($dir.$file)) 
            { 
                if($w=='' || (strpos($file,$w)!==false)) 
                { 
                    if(!in_array($dir.$file,$files)) 
                    { 
                        rename($dir.$file,$dir.(prep($file,$dir))); 
                        $i++; 
                    } 
                } 
            } 
            else 
            { 
                if(is_dir($dir.$file)) 
                { 
                    if($tr) 
                    dir_tr($dir.$file); 
                } 
            } 
        } 
    } 
    @closedir($d); 
} 
dir_tr($dir); 
echo '<br>Renamed ' . $i . ' files in directory ' . $dir; 
echo "<br>You can now delete renamer.php"; 
?>

lines above the
///// dont change anything below this ///
are config lines & basic instructions

almostbob 866 Retired: passive income ROCKS
almostbob 866 Retired: passive income ROCKS

this type="text/css">@import url('menu/menu_style.css"');</style means load the css file inside the menu subfolder of the current folder
doesnt work when you are in a subfolder because the menu folder is no longer a subfolder

<style type="text/css">@import url('/menu/menu_style.css"');</style> 
<style type="text/css">@import url('http://www.yoursite.com/menu/menu_style.css');</style>
<style type="text/css">@import url("<?php echo $_server['document_root']; ?>/menu/menu_style.css");</style>
<link rel="stylesheet" type="text/css" href="http://www.yoursite.com/menu/menu_style.css">
<link rel="stylesheet" type="text/css" href="<?php echo $_server['document_root']; ?>/menu/menu_style.css">
<link rel="stylesheet" type="text/css" href="/menu/menu_style.css">

all work
take your pick

almostbob 866 Retired: passive income ROCKS

na its just an <a href='mailto ..... link, most people use a php mailer, even from one user to another, so they can keep a record of what is sent
great way to gather addresses for later mailouts

the standard for mailto allows the link to fill in certain defaults in the mail, add some text to the body
to include the tags in the link use the relevant html entity
< as &lt;
> as %gt;
there is bound to be a table of html entities somewhere easy to google and authored by &lt;i&gt;&quot;".$author."&quot;&lt;/i&gt;";}

diafol commented: gotcha AB. Couldn't work out what the hell he was getting at +13
almostbob 866 Retired: passive income ROCKS

no-repeat

one word hyphenated

almostbob 866 Retired: passive income ROCKS
$euros = $_POST['euros'];
$cents = $_POST['cents'];
if(is_numeric($euros) && is_numeric($cents)) { $salary = $euros + ($cents / 100); }
else die('non-numeric inputs');

oneline code

isnumeric($_POST['euros']) && isnumeric($_POST['cents']) ? $salary=$_POST['euros']+($_POST['cents']/100):die('non-numeric inputs');

salaryfl;oat appears unneccessary

almostbob 866 Retired: passive income ROCKS

your urgency (10) + a-hole factor (-100) = coffee break and a healthy kmacyoyo

let me google that for you

GigsD4X commented: LOL +2
almostbob 866 Retired: passive income ROCKS

yep,

iamthwee commented: Props +15
almostbob 866 Retired: passive income ROCKS

the image with a bunch of included icons is a sprite and it works just as you describe
its a page minimisation strategy, only 1 image is downloaded, instead of a larger number of images each with the delay negotiating the transfer, for small images 100 bytes of image and 220 bytes of http is not efficient

the google search would be "how to enable css sprites animation",
the slowdown is a series of small movements, better described in the search links than i can do

almostbob 866 Retired: passive income ROCKS

buy premium membership, unlimited filesize,
mark thread solved
give me kudos

diafol commented: How's that AB? Feel better now? :) +13
almostbob 866 Retired: passive income ROCKS

add it to your google webmaster details for the site

mhanry commented: 3 +1
almostbob 866 Retired: passive income ROCKS

415, the voice recognition is pretty well configured to me by now
real typing, 37

vegaseat commented: sweet +0
almostbob 866 Retired: passive income ROCKS

gonna say it again, dont shoot me,
the file is not saved in UTF-8
the hexdump prior post, shows characters higher than hex80, utf represents those as two byte characters, the slightly bold in the quote
listed again DC (= 80 5c)
F6 (= 80 76)
DF DF E4 FC FC E4 E8

are not present in a utf-8 file
the editor used to write the text is still saving in ansi, western Euro,

diafol commented: brilliant, as usual AB. I missed it first time as I didn't understand it. Doh! +13
almostbob 866 Retired: passive income ROCKS

there are plenty to tell you where to go,
but I suggest you contact the service provider for ttheir interpretation as each provider may be different

A wildcard ssl certificate allows you to have any number of subdomains on a single certificate,
*.mysite.com provides ssl to
www.mysite.com, pics.mysite.com, Guru.mysite.com, this.mysite.com, naked.mysite.com <<-- how did that get there

lazy explanantion link

almostbob 866 Retired: passive income ROCKS

just playing while the coffe brews,
the only thing I really noticed, was the difference in fieldnames in the original code
the html form inputs 'avg'
the php form processor validates on $_POST
= always rejects

added some (bad) code that populates the form with partial values more as an exercise than with any real consideration of whether it was valid

<?php 
include("header.html");
include("nav.html");
include("sidebars.html");
if(isset($_POST['submitted'])) {
	if((isset($_POST['name']))&&(isset($_POST['school']))&&(isset($_POST['marks']))&&(isset($_POST['sex']))) {
		if($_POST['marks']>=80)	 $grade='A';
		elseif(($_POST['marks']>=70)&&($_POST['marks']<80)) $grade='B';
		elseif(($_POST['marks']<70)&&($_POST['marks']>=60)) $grade='C';
		else $grade='D';
		echo "<p>".$_POST['name']." of ".$_POST['school']." has scored an average of ".$_POST['marks']." percentage. His/Her grade is :- ".$grade."</p>"; 
	exit(0); 
	} 
	else echo 'submitted form was not complete';
	}

function calendar() {
	$month=array(1=>"January","February","March","April","May","June","July","August","September","Ocotber","November","December");
	$days=range(1,31);
	$years=range(1900,2011);
	echo "Date of Birth : ";
	echo '<select name="month">';
	foreach($month as $key=>$value){
		echo "<option value='$key'";
		if(isset($_POST['month'])){if($key==$_post['month']) echo "selected='selected'";}
		echo '>$value</option>';
		}
	echo "</select>";
	echo '<select name="days">';
	foreach($days as $key=>$value){
		echo "<option value='$key'";
		if(isset($_POST['days'])){if($key==$_post['days']) echo 'selected="selected"';}
		echo ">$value</option>";
		}
	echo "</select>";
	echo '<select name="year">';
	foreach($years as $key=>$value){
		echo "<option value='$key'";
		if(isset($_POST['year'])){if($key==$_post['year']) echo 'selected="selected"';}
		echo ">$value</option>";
		}
	echo '</select><br /><br />';
	}	
?>
<form action="test.php" method="post">
<fieldset>
<legend>Form 1</legend>
Name : <input type="text" name="name" size="35" <?php if(isset($_POST['name'])){echo "value='$_POST['name']'";} ?>/><br /><br />
School : <input type="text" name="school" size="35" <?php if(isset($_POST['school'])){echo "value='$_POST['school']'";} ?>/><br /><br />
Avg. Marks : <input type="text" name="marks" size="4" <?php if(isset($_POST['marks'])){echo "value='$_POST['marks']'";} ?>/><br /><br />
Sex : <input type="radio" name="sex" value="m" />Male <input type="radio" name="sex" value="f" />Female<br /><br /> <!-- something similar to add selected='selected' -->
<?php calendar() ?>
<input type="submit" name="submit" value="Submit Form" />
<input type="hidden" …
almostbob 866 Retired: passive income ROCKS

a magic invisible friend who lives in the sky, & talks to you inside your head
others have different magic invisible friends who live in the sky and talk to them inside their heads
each magic invisible friend tells their corporeal friends that they are the only magic invisible friend who lives in the sky

Most can be treated with psycho drugs, counselling
you can be normal
good luck with the treatment
yours appears to be working, you have taken steps toward rational thought

Salem commented: Nice +0
diafol commented: :) +0
almostbob 866 Retired: passive income ROCKS
<button id="frorm" onClick="showIt('layer1');">OPEN</button>
<script type="text/javascript">
<!--
(document.getElementById) ? dom = true : dom = false;
function hideIt(ID) {
if (dom) {document.getElementById(ID).style.visibility='hidden';}
if (document.layers) {document.layers[ID].visibility='hide';} }
function showIt(ID) {
if (dom) {document.getElementById(ID).style.visibility='visible';}
if (document.layers) {document.layers[ID].visibility='show';} }
--></script>
<div id="layer1" style="position:fixed; left:10px; z-index:10; width:50%; visibility:hidden; padding:10px; margin:10px; background:#ececec; border: 1px solid;">
<button id="form1" onclick="hideIt('layer1');">Close</button>
<br>lorem ipsum bla bla bla bla bla bla bla bla lorem ipsum bla bla bla bla bla bla bla bla bla bla bla lorem ipsum bla bla bla bla bla bla bla bla lorem ipsum bla bla bla bla bla bla bla bla lorem ipsum bla bla bla bla bla bla bla bla lorem ipsum bla bla bla bla bla bla bla bla<br>
<button id="form" onclick="hideIt('layer1');">Close</button></div>

multiple divs can be hidden.shown by their id
styling belongs in the stylesheet, this sample is not optimal

almostbob 866 Retired: passive income ROCKS

try

<?php $A=floatval($_GET['n1text']); // if it is not possible for $a to have a decimal component or if the decimal part is not significant intval() can be used
if($A>=60) { echo "Congrats!!!<br>Grade1"; }
elseif($A <60 and $A >= 40) { echo "Grade2";  }
else { echo "Fail"; } ?>

60 was excluded in the op, > 60 or < 60, no =60

$a is likely being treated as text, by convention all the request arrays are parsed as text, so the original value may be interpreted as "60"

almostbob 866 Retired: passive income ROCKS

thats easier, I thought you wanted them all to adjust
to make one column absorb all the width of the 100% make the first cell in that column <td width='*'>content</td> it should then occupy the entire table except for the width actually used by the other cells

ko ko commented: Nice post @almostbox. You are master with table. It is appreciate for me too. I am still stupid in table. :) +6
almostbob 866 Retired: passive income ROCKS

referring to , , , there is no mention of a date field in the data,...
call it $project_date assuming its somewhere in the $projects array stored as a 4bit timestamp

if(date('m',$project_date)==date('m')) { /* bla bla bla */}
almostbob 866 Retired: passive income ROCKS

look at wordpress,
blog,
forum,
software
many of the premade scripts have this feature, admin/registered areas that modify the page within preset limits by a web interface, adjustable to user levels

almostbob 866 Retired: passive income ROCKS

"next to it" and "adjacent" suggest IMHO that the img is not a child of the anchor, also because TS went "through many posts on multiple websites and it seems pretty complicated". Anyway, let's see.

You might be right, but when somebody also says they arent sure, fuzzy logic & try to convince them to make their layout the easy way :)

almostbob 866 Retired: passive income ROCKS

Then you have some work to do
this is a help forum, not a do it for you forum,
gets very tiresome

almostbob 866 Retired: passive income ROCKS

imagine the table without all the html to define the table,

<table bla bla bla>
<tr bla bla bla>
<td bla bla bla>
CONTENT
</td>
<td bla bla bla>
CONTENT
</td>
<td bla bla bla>
CONTENT
</td>
<td bla bla bla>
CONTENT
</td>
<td bla bla bla>
CONTENT
</td>
<td bla bla bla>
CONTENT
</td>
</tr>
</table>

or

<div class='tableclass'>content content content content content content</div>

with a few lines of css in an external file referenced by every file in the site and dl once, defining the layout of 'tableclass'
there isnot any comparison
there is a lot of effort to fix the code, but it must be bloody difficult to maintain now

ko ko commented: Genius! Feel like the same to you. But, tables are still significant in some cases. +5
almostbob 866 Retired: passive income ROCKS

the dis-assembler does not produce the same highlevel source code you had before you ran the assembly language compiler
it produces an intermediate opcode equal to each byte sequence within the exe
the traditional hello world program, is

;"hello, world" in assembly language for BeOS
;
;nasm -f elf hello.asm
;ld -s -o hello hello.o

section	.text
    global _start			;must be declared for linker (ld)

_syscall:			;system call
	int	0x25
	ret

_start:				;tell linker entry point
	push	dword len	;message length
	push	dword msg	;message to write
	push	dword 1		;file descriptor (stdout)
	mov	eax,0x3		;system call number (sys_write)
	call	_syscall	;call kernel
	add	esp,12		;clean stack (3 * 4)

	push	dword 0		;exit code
	mov	eax,0x3f	;system call number (sys_exit)
	call	_syscall	;call kernel
				;no need to clean stack

section	.data

msg	db	"Hello, world!",0xa	;our dear string
len	equ	$ - msg			;length of our dear string

compiles to 16 bytes, and decompiles to ~1K, without comments, every byte in a dword gets a separate push mov call sequence, every letter in the text

sergent commented: Helpful :) +0
almostbob 866 Retired: passive income ROCKS

http://www.w3.org/TR/i18n-html-tech-bidi/ the standard, resorts element order, so the menu buttons should adjust, home will become first on right, in rtl languages, and first on left in ltr languages

almostbob 866 Retired: passive income ROCKS
<?php
//bla bla bla
$airtype = array("clr" => "clearance","twr" => "tower", "gnd" => "Ground", "dep" => "departure"); //etc
echo $rows['airport']." ".$airtype[$rows['type']];
?>

pulls the value from another array, perhaps

almostbob 866 Retired: passive income ROCKS

<img width='100%' src= .....
such a lot of unneccessary ** expletive deleted **

diafol commented: say it like it is AB! +9
almostbob 866 Retired: passive income ROCKS

in javascript & other scripting languages there is a character sequence used to tell the interpreter that the following control character is not to be treated as a control character,, the escape code
in javascript and php it is the backslash \
in ansi screen code from dos days, it is $e[ (actually it isnt bad, it was really hard to type THAT by accident)
to get a backslash in javascript you have to put in two backslashes, the first one to say 'ignore the following treat it as text'

var x = "<div class='general'>"; // works
var x = "<div class="general">"; // fails
var x = "<div class=\"general\">"; // works ::escaped dquotes are output as text not as delimiting the variable

other examples /n is a newline character, if you wish to include "divided by n" in some algebraic sense, it would have to be \/n

almostbob 866 Retired: passive income ROCKS

looking at your code above notice the color changes where the variables are all messed up by incorrect quotes

<html>
<head>
<script type="text/javascript" src="coomang.js"></script>
<title>JS COOKIE MANAGER</title>
<link rel="stylesheet" type="text/css" href="coomang.css"> </link>
<script type="text/javascript" >
function loadcontent()
{
var x= "<div class="general">";

first error shows in lline 9, cant include dquotes inside dquotes unless they are escaped use var x = "<div class='general'>"; all the way thru the file, fix the quotes
to prevent this recurring every time, get a decent editor with code highlighting, which will show you your errors, in the same way, by color changes
notepad+ notepad2 spring to mind
its a simple error that everyone makes the first few times

<html>
<head>
<script type="text/javascript" src="coomang.js"></script>
<title>JS COOKIE MANAGER</title>
<link rel="stylesheet" type="text/css" href="coomang.css"> </link>
<script type="text/javascript" >
function loadcontent()
{
var x = "<div class='general'>";
almostbob 866 Retired: passive income ROCKS

its suprising to find out that most of you web designers/developers don't know how to get the codes. So this is how you can get any html, php, ect.... code from any website like facebook, deviantart..ect. all you have to do is on Internet Explorer you hit on upper tab bar where it says View down to where it says source when you ........

your ignorance is amazing,
view source only shows the output html, and only where the site is not secured, and does not display the asp jsp php that makes the site run, and is not output to browser. this thread is entirely about serverside code

EvolutionFallen commented: Thanks for dispelling inaccurate advice given by someone who doesn't know what they're about +2
almostbob 866 Retired: passive income ROCKS

no issues, css '%' requires numeric values, **.** is valid numeric so will be properly interpreted, (even by IE) to the limits of the browsers implementation (IE very limited)

by satphone from outback queensland, month 2/8 holiday, fanbloodytastic

almostbob 866 Retired: passive income ROCKS

if you waqnt it to work as expected you have to declare it as expected

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
diafol commented: good spot AB - whether or not it solves his prob +6
Night N Gail commented: Thank you very much for the help. +0
almostbob 866 Retired: passive income ROCKS

.dotnet, Microsoft servers, such a very small %age of clients possible, but many of those clients are large and require large maintainence contracts, because the type of product they are, but the larger they are the more likely they are locked into maintainence agreements, proprietary codebase -more difficult to outsource
java a slightly larger %age of customers

Apache *n?x (Linux Unix PosIx all the possible combinations) php RoR a very much larger %age client base, often of smaller clients who each require smaller amounts of maintainence
large resource availablility, can integrate into finished work

sql, as mssql mysql sqllite PostgreSql needed for all

.dotnet and java alone, unless you are real good, and real lucky, starvation status

Re: Teedoff's post below server use list Aug 2010

Lusiphur commented: What he said :P +1
almostbob 866 Retired: passive income ROCKS

the top and bottom images need to be the actual image you need, to fit in the curves etc, the center image need only be a slice 1 pixel thick through the middle of the image, repeat-y
apologise for inline styles they belong in the stylesheet, included here for expalanation

<body><div class='header' style='whatever'>whatever,</div>
<div class='contenttop' style='height:backgroundtopheight; background:url(backgroundtop.jpg) norepeat; width:100%;'>whatever</div>
<div class='content' style='background:url(backgroundslice.jpg) repeat-y; width:100%;'>whatever</div>
<div class='contentbtm' style='height:backgroundbtmheight; background:url(backgroundbtm.jpg) norepeat; width:100%;'>whatever</div>

its late and this may not be the most logical way to present this info

Lusiphur commented: n/a +1
almostbob 866 Retired: passive income ROCKS

Just wanted to post the 200th reply, might be old, but still juvenile

almostbob 866 Retired: passive income ROCKS

Just so you know, this is not true. On apache you can use any extension you want and treat it as a php file.

Just so you know, this is often functionally true. apache server is configurable, however, many servers, particularly low end hosting packs, are locked down
/* addhandler server-parsed is disabled */
so that configuration cannot be changed,

plan on the worst, and you get pleasant surprises when you find the result is better than you expect
plan on the best, and the only surprises are unpleasant

pritaeas commented: Point taken +5