almostbob 866 Retired: passive income ROCKS

english is not the first language?
http://www.php.net/manual/en/tutorial.php select the button on the page for your preferred language

almostbob 866 Retired: passive income ROCKS
<table width="100%">
<tr>
<td>Content</td>
<td width='*'>More Content</td>
</tr>
</table>
samarudge commented: Usefull stuff =) +2
almostbob 866 Retired: passive income ROCKS

look at your code in the post above, color highlighting shows the problems
you have doublequotes inside double quotes, does not open a new set of quotes, closes first set "open.("closed"open)"closed
replace the innner sets of dquotes with single quotes

<li>&gt; <a href="javascript:void(0);"  onclick="function("mc");" id="mc">Consultancy</a></li>

looks better as

<li>&gt; <a href="javascript:void(0);"  onclick="function('mc');" id="mc">Consultancy</a></li>

get a code highlighting editor, these type of issues show up in development,

sometimes it is only required to turn code highlighting on, in the editor being used,

almostbob 866 Retired: passive income ROCKS
<div style="width:100%; bottom:0; top:auto; position:fixed; text-align:center">test</div>

one of many ways, styles belong in the stylesheet
tables are not used for layout, too much code too little content, current best practice is css positioning, separates layout from content, makes constant appearance simple

almostbob 866 Retired: passive income ROCKS

easyphp is an IDE integrated development environment for php, it contains a local server that can parse php files and support for php mysql html etc
to use it to locally view php files follow the instructions here http://www.easyphp.org/introduction.php
item 5. see the result

dreamweaver doesnt display php well (at all)

you can create a contect menu item for .php files 'open with easyphp' so you can just click on them in explorer

almostbob 866 Retired: passive income ROCKS
OmniX commented: Nice Link! Thanks! +3
almostbob 866 Retired: passive income ROCKS

UTF-8 etc have multibyte character encoding
characters above the 128 us ascii set get 2 bytes, 3 bytes (up to 6 bytes) to represent them
makes it backwards compatible with non-utf8 applications, which display garbage, but ascii garbage and dont crash
strlen() appears to be ascii byte counting
here is an explanation in wikipedia
that result is proper, displayed value is XXX characters, for each character that is 2byte encoded you get XXX+1

diafol commented: Thanks - spot on as usual +5
almostbob 866 Retired: passive income ROCKS

Oh i haven't noticed that.! i only have '}'...sorry,.

why people get POed,
get a code highlighting editor, and debug your own stuff before you ask
'I tried this and found that and dunno what to do next'
will get more help than
'I know its right'
when everybody else can see it isnt

almostbob 866 Retired: passive income ROCKS

Any effort by the op would discover mismatched braces
Screwem, do their own damn homework

almostbob 866 Retired: passive income ROCKS
$sql=mysql_query("Select * from students where voted=1 group by department order by course");
$sql=mysql_query("Select * from students where voted=1 group by course order by department");
$sql=mysql_query("Select * from students where voted=1 course=%s group by department order by name", $session['course']);

combinations of group by order by produce widely different and often interesting results
the last one, is unchecked, I always messup replaceable parameters in mysql please check the format at a reputable instruction site
%s is replaced by the content of $session

almostbob 866 Retired: passive income ROCKS

assuming the need for a browser sniffer for handheld devices this gets most

<?php $mobile = "http://m.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");}
// redirect to pda page else continue
ob_start("ob_gzhandler"); ?>
darkagn commented: Excellent post +3
almostbob 866 Retired: passive income ROCKS

I didnt have images, so this is just html/javascript/css
refresh the page will reset, I got lazy

<!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>bingo Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Generator" content="almostbob" />
<meta name="Keywords" content="Bingo" />
<meta name="Description" content="Bingo" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<style type="text/css">
table {width:100%; height:100%;}
tr {font-size:2em; line-height:120%;}
td {width:6.25%; text-align:center;}
td.yellow {background:yellow;}
td.title {font-size:1.2em; font:bold;}
div.pick {width:100%; font-size:9em; text-align:center; top:0; left:0;}
</style>
</head>
<script type='text/javascript'>
function pick(thing) {
document.getElementById('pick').innerHTML = thing;
document.getElementById(thing).className = "yellow";
}
</script>
<body>
<div id='pick' class='pick'>&nbsp;</div>
<table >
<tr>
<td class='title'>B</td>
<td onclick='pick("1");' id='1'>1</td>
<td onclick='pick("2");' id='2'>2</td>
<td onclick='pick("3");' id='3'>3</td>
<td onclick='pick("4");' id='4'>4</td>
<td onclick='pick("5");' id='5'>5</td>
<td onclick='pick("6");' id='6'>6</td>
<td onclick='pick("7");' id='7'>7</td>
<td onclick='pick("8");' id='8'>8</td>
<td onclick='pick("9");' id='9'>9</td>
<td onclick='pick("10");' id='10'>10</td>
<td onclick='pick("11");' id='11'>11</td>
<td onclick='pick("12");' id='12'>12</td>
<td onclick='pick("13");' id='13'>13</td>
<td onclick='pick("14");' id='14'>14</td>
<td onclick='pick("15");' id='15'>15</td>
</tr>
<tr>
<td class='title'>I</td>
<td onclick='pick("16");' id='16'>16</td>
<td onclick='pick("17");' id='17'>17</td>
<td onclick='pick("18");' id='18'>18</td>
<td onclick='pick("19");' id='19'>19</td>
<td onclick='pick("20");' id='20'>20</td>
<td onclick='pick("21");' id='21'>21</td>
<td onclick='pick("22");' id='22'>22</td>
<td onclick='pick("23");' id='23'>23</td>
<td onclick='pick("24");' id='24'>24</td>
<td onclick='pick("25");' id='25'>25</td>
<td onclick='pick("26");' id='26'>26</td>
<td onclick='pick("27");' id='27'>27</td>
<td onclick='pick("28");' id='28'>28</td>
<td onclick='pick("29");' id='29'>29</td>
<td onclick='pick("30");' id='30'>30</td>
</tr>
<tr>
<td class='title'>N</td>
<td onclick='pick("31");' id='31'>31</td>
<td onclick='pick("32");' id='32'>32</td>
<td onclick='pick("33");' id='33'>33</td>
<td onclick='pick("34");' id='34'>34</td>
<td onclick='pick("35");' id='35'>35</td>
<td onclick='pick("36");' id='36'>36</td>
<td onclick='pick("37");' id='37'>37</td>
<td onclick='pick("38");' id='38'>38</td>
<td onclick='pick("39");' id='39'>39</td>
<td onclick='pick("40");' id='40'>40</td>
<td onclick='pick("41");' id='41'>41</td>
<td onclick='pick("42");' …
thejester1975 commented: Awesome helper. Very quick response. Thanks +0
almostbob 866 Retired: passive income ROCKS

Bingo

pdf is a proprietary format,
and there is a known problem with firefox, there is a solution,
http://support.mozilla.com/en-US/kb/Opening+PDF+files+within+Firefox
you can put the target back

>87% of potential users(those not using firefox + those who have patched firefox) will see the pdf as intended

**edit** If i were alert, that would have been the first question
IE bugs make news
FF bugs make fixes

almostbob 866 Retired: passive income ROCKS

do actually still wonder why nobody will assist you

read your posts, as one of those who could, if so inclined, assist you reads.
be better off getting a new login and beginning again

almostbob 866 Retired: passive income ROCKS

thats why the first line is
"show the link code"

almostbob 866 Retired: passive income ROCKS

its so current
the text is so up to date

Last Mod April 10, 2006
the basic premise is right tho

almostbob 866 Retired: passive income ROCKS

if going xhtml
also have to add <html xmlns="http://www.w3.org/1999/xhtml"> or other issues will arise

diafol commented: Blimey! That's new to me. Thanks. +5
almostbob 866 Retired: passive income ROCKS

if(!$homework_question) { echo ' http://php.ca/manual/en/book.mysql.php '; } else { echo 'Bad lotus,'; }

Will Gresham commented: :D +2
almostbob 866 Retired: passive income ROCKS

ASP

  • is Microsoft proprietary software
  • is expensive
  • runs only on MS servers 10-20%
  • prefers microsoft browsers
  • has a strict language

php

  • is open source
  • free
  • runs on apache unix linux windows MSservers (100%)
  • has hundreds of thousands of free premade scripts
  • works in MS browers Moz Browsers Apple browsers every browser
  • has a flexible language

"My friends like ASP" - The rest of the world uses php
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
ASP doesnt make the top20 programming languages

DaniWeb is php
If you want a forum for your site, its php
If you want a free script for anything, its php
If you want to pay a lot for tech support, its asp

almostbob 866 Retired: passive income ROCKS

which package
the cheapest package says scripting X
no scripting, no php

<html><body>
<?php echo date('M-d-Y');
echo '<p>Your IP Address is '.$_SERVER['REMOTE_ADDR'].'</p>'; ?>
</body></html>

to close the unfinished <p></p>
lowercase tags,
xhtml gets specific, might as well use good structure now

almostbob 866 Retired: passive income ROCKS

I am a student myself (technically.. on a (multiple) gap year).

I have no problem helping people, regardless of what their reason for asking.

However, if I see a post with a few lines of text detailing a vague idea of what they want, I am less likely to want to try to assist compared to a post where the OP has got some description of what they want, their current code and what the problem is.

Basically, if the poster has shown some initiative and done some research themselves, I am happy to help, otherwise they get a nice link to www.lmgtfy.com :P

and the always popular if slightly bad taste justf**kinggoogleit.com the url probably wont work, the expected f word removed by the bad words processor

almostbob 866 Retired: passive income ROCKS

let us base our treatment of animals on the treatment of animals by animals
Therefore,
we can eat them, alive if we want to,
mutilate them
parasitise them
lay our eggs upon their paralyzed bodies so our young can eat them alive
find any number of ways to make their existence painful to our benefit

observed objectively, and, compared to "mother nature"
chickens
cattle
sheep
antelope

every animal fixated upon by humans has it good, in a relative sense, we kill rapidly, stress hormones toughen the meat
if I were a thinking fly, I would prefer to be swatted - than be injected with a poison that liquefies my intestines and have them sucked out of my body before I had a chance to die

And Cwarnie old bean

I sorta disagree. My Definition - A clone is an organic product produced in a non natural way and without a god (like a machine but organic).

can you demonstrate any involvement by this god person in my birth,
Don't want rant, dogma et al, just want proof of your postulate.MS programmers left their names in the windows code
IBM programmers left pictures in chip masksWhere is the easteregg that the making stuff god left in the mask
every bacterium on the planet is the product, duplicate, of an adult cell : Define non natural,
and which one of these god things?

almostbob 866 Retired: passive income ROCKS

write your own content and avoid trying to steal content that somebody else has written

the copyright notice resides in the footer ?
pictures of the owner of what you are stealling?

or contact the site owner and ask them permission and/or a copy of the page to put on your server

to everybody else, put one of these in your menu include

<script type='text/javascript'>
if (window != top) { top.location.replace(self.location.href); }
</script>

break out of thieves' framesets,

blinkey commented: Thanks for the tip +0
almostbob 866 Retired: passive income ROCKS

I use 4 includes, and
stitch scripts into 1 file

enable mod_gzip or mod_deflate on html php asp script and css files and their size becomes about 25%,
style.css.php

<?php header ('content-type:text/css'); 
ob_start("ob_gzhandler"); ?>/*<style>*/
.rss-box { margin:1em 3%; padding:4px 8px; background-color:#ededed; border:2px dashed #7485CA; }
.topmenu { background-color:#f6f6f6; text-align:right; top:1px; left:auto; bottom:auto; right:1px; position:fixed; }
<?php ob_flush(); ?>

script.js.php

<?php header ('content-type: text/javascript');
ob_start("ob_gzhandler"); ?>
function movein(which,html){
which.style.background='turquoise'
window.status=html
}
function moveout(which){
which.style.background='#d4d0c8'
window.status=''
}
<?php ob_flush(); ?>
almostbob 866 Retired: passive income ROCKS
#CV { position:absolute; left:253px; top:177px; width:704px; z-index:3; padding-left: 20px; padding-right: 20px; background-color: #D4CFBB; color: #252525; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; }
body { background-color: #252525; }
a:link { color: #D4CFBB; }
a:visited { color: #D4CFBB; }
a:hover { color: #D4CFBB; }
a:active { color: #D4CFBB; }
#cv a { color:blue; }
#cv a:active { color:red; }
#cv a:hover {color:yellow; }
#cv a:visited {color:green; }

cascading style sheets
an element as a child of another element is styled something like the above, excluding lousy color choices. Links inside #CV should have the color attributes shown even if they are inside a div p

All those fixed pixel sizes may not look as intended on any other than the pc on which you are laying out the page
at other resolutions the layout will push offscreen or be a narrow column in the middle,
current best practice for screen element dimensions is % and em, an element 96% wide leaves a margin on all screen sizes and all window sizes, and element 966px wide does not
fixed fonts may become invisibly small or too large, or may not be visible by the user due to vision problems
ems or % adjust around basefont settings on the users pc so are always visible,
10px on this monitor is 0.09inch high, not really readable

wieas commented: Thanks, AlmostBob! +0
almostbob 866 Retired: passive income ROCKS

NOT good
tables are not used for layout, too much code too little content, the table does not display in any part until the entire table is downloaded, CSS Positioning
No margins between elements, light blue text from one element sits on top of light blue text from the adjacent element rendering both illegible
The server date and time printed on the screen is wrong, for all users, and looks like a child's site, users have their own clock

almostbob 866 Retired: passive income ROCKS

code is helpful, screen shots arent

almostbob 866 Retired: passive income ROCKS

they told us how it works, in Men In Black
aliens play marbles with galaxies

almostbob 866 Retired: passive income ROCKS

Barman says' Sorry we don't serve strings here'
string goes outside
bends himself
twists
loops
pulls himself through the hole
then shakes his head till all kids of fibres come loose
goes back in the bar
"I'll have a beer"
barman said "Didn't I tell you we dont serve string here?"

string said -"I'm a frayed knot"

almostbob 866 Retired: passive income ROCKS

I still have 3 paper tapes
ascii art (if you squint a bit) ladies scantily attired
just need somebody with an ibm 360 or 370 to load them on
hours Queing at Uni for punch card reader

incidentally the world's third (or fourth I dont remember) computer CSIRAC is (tourism mostly) still in use very occasionally it is bootstrapped by panel switches
Its a pig to operate, but it does teach you to write small tight code, you cant fit much in

The Last of the First: CSIRAC, Australia’s First Computer, by Doug McCann and Peter Thorne, documents the history of this important artifact. The specifications of CSIRAC are both entertaining and amazing. It had 256 twenty-bit “words” of memory,
each storing four 5-bit letters or digits, implemented using mercury delay lines (later expanded to 512 words, and then, finally, 768 words, in both cases by improving the mercury lines rather than by adding more of them). It had a magnetic drum backing store with another 1,024 words of storage. It had 2,000 valves, and using them could compute around 1,000 operations per second. And it required 30 kW of power and weighed approximately two tonnes. It...

the ibm74 that replaced it, seemed so fast 500K operations /second

my ibm pc in 1981 could perform(at 4.77Mhz) 22K operations /sec had 512KB of fully addressible ram, cost only $5000 and fit on my desk

(all benchmarking at this point was the same paper …

almostbob 866 Retired: passive income ROCKS

we hope there is intelligent life somewhere out in space
coz theres bugger all down here on earth

Monty Python

Salem commented: LOL +0
almostbob 866 Retired: passive income ROCKS

This type of site background is a vertical -narrow*LONG- image repeat-x
create the gradient fill you want or download it from a webmaster tools website
take a narrow (even 1pixel works) slice vertically

body {background:url('thispic.href') repeat-x; }

If you take a horizontal slice wider than screen size and repeat-y you get Horizontal scrollbars everybody will notice
If you take a vertical slice longer than screen size and repeat-x, you get vertical scrollbars, nobody will notice

If you have a small image of a repeating cell (like windows default wallpapers) you can repeat-x and y (repeat) and create a fullscreen

almostbob 866 Retired: passive income ROCKS

popup windows are a security risk
are blocked in browsers
using them relegates the site to minimal traffic,
most users will not clickover their security software warning

everything can be coded on the page without any external files or windows by changing the visibility of a container element

example only: fairly ancient crossbrowser compatible code

<button id="frorm" align="center" onClick="showIt();">Important</button>
<script type="text/javascript">
<!--
(document.getElementById) ? dom = true : dom = false;
function hideIt() {
if (dom) {document.getElementById("layerm1").style.visibility='hidden';}
if (document.layers) {document.layers["layerm1"].visibility='hide';} }
function showIt() {
if (dom) {document.getElementById("layerm1").style.visibility='visible';}
if (document.layers) {document.layers["layerm1"].visibility='show';} }
--></script>
<div id="layerm1" class='bottom' style="position:fixed; left:10px; top:30px; width:80%; visibility:hidden; padding:10px; margin:10px; background:#ececec; border: 1px solid;">
<!--assortedhtmlanything-->
<iframe id='iframe1' src='blank.html' width='100%' height='800'>blank.html is a blank page, that the browser can load to speed initial page time without multiple external files</iframe>
<!--assortedhtmlanything-->
<button id="form" onClick="hideIt();">Close</button></div>

links can be something like <a href='#' onclilck='showit();document.getelementbyid("iframe1").src="href";'>Show href</a>

almostbob 866 Retired: passive income ROCKS

3*50% = 150% = vanishing elements
tables really arent used as a layout tool,
they are for displaying tabular data
pixels are not recommended as a dimension the W3C recommendation is ems or %, dimensions that scale with different screen sizes or window sizes

<!-- doctype etc -->
<style type='text/css'>
.bottombar { width:50%; bottom:0; left:auto; top:auto; right:0; position:absolute;}
.bottombar span {width:33%; margin-left:5%;}
</style>
</head>
<body>
<div class='bottombar'>
<span>Site map</span>
<span>Copyright</span>
<span>Disclaimer</span>
</div></body></html>

one method of many

properly designed nav.
should not require a html sitemap, xml sitemaps for search engine spiders are a different thing entirely

almostbob 866 Retired: passive income ROCKS

mokmok,
if you need a sitemap for that, you need more to consider fixing the navigation

almostbob 866 Retired: passive income ROCKS

css3 has calculated values
eg #mainContent { width: calc(100% - 20px) } newest browsers support some elements of css3
not sure which browsers support this part of css3
not sure if unsupported browsers degrade gracefully, or fall over and die,
so it may not be a useable (yet) feature

css2.1, more suppported, you can(may) style an element more readily by styling the containing element
may not help for a border specifically

browsers don't fully support css2.1yet
ie9 is due to support css3
Mozilla is due to release ff in 2011 with full css3
opera and ff have <selector>-o <selector>-moz support now for some css3

almostbob 866 Retired: passive income ROCKS

low speed internet is a reason to steal because ...?
or is it only ok to steal in Myanmar.. ?

almostbob 866 Retired: passive income ROCKS

99% of what you imagine, is already available, as free scripts in various script repositories
(cnet) download.com
phpscripts.com
hotscripts.com
and others
google search freeware php bulletin board software is a place to start.
I have ok results from phpBB hugely customizeable
This board is a customized vBulletin

almostbob 866 Retired: passive income ROCKS

In case you are really newyou get error line 46,
the file has 45 lines in it,
and the visible error was on line 28 line count as the file executes considers includes as part of the file
there were 18 processed lines in the included filestook half a year before anyone told me, its hard to debug when the errors seem weirda lot of the code samples you get from searches arent perfect, but they make a great jumping off point

aeinstein commented: nice bit of experience passed on +8
almostbob 866 Retired: passive income ROCKS

pork stew with lots of roots and cabbage..
Hold on to your hat its going to be windy tonite

almostbob 866 Retired: passive income ROCKS

Flash sucks
flash intros penalise in search, annoy your customers
anything that makes the page load longer, kills customer retention

almostbob 866 Retired: passive income ROCKS

Got to give Kudos for the self confidence,
&
you found a great place to ask questions if confidence isnt enough

almostbob 866 Retired: passive income ROCKS

the user agent chooses its own default style, and there is (to my knowledge) no CSS attributes you can change to determine the masking character.
Of course, this is possible if the password field is just a standard text field, and you manually mask the input with a javascript event handler (onKeyup/onkeypress, probably). You could even declare the field as type="password" in the HTML, then have your JS function modify the DOM to change its type. I'd be a little wary about doing this, though; the browser implementation is almost certainly pretty solid, and circumventing established security functionality to roll your own is rarely a good idea.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
var k=0;
var df;
window.onload=function() {
df=document.forms[0];
df[1].onkeyup=function() {
df[0].value+=df[1].value.charAt(k);
k++;
for(c=0;c<df[1].value.length;c++) {
df[1].value=df[1].value.replace(df[1].value.charAt(c),'#');
 }
 }
 }
</script>
</head>
<body>
<noscript><div>Without javascript enabled you will be unable to login</div></noscript>
<form action="http://www.google.com/">
<div>
<input type="hidden" name="password">
<input type="text">
<input type="submit" value="submit password">
</div>
</form>
</body>
</html>

It is a bad idea
repeated :: it is a bad idea
each browser user expects the character that their browser uses as a mask
dont mess with it

nav33n commented: Good suggestion :) +5
almostbob 866 Retired: passive income ROCKS

the only opinion on link exchange that matters
http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=66356
The most common effect is downgrading

almostbob 866 Retired: passive income ROCKS

Deleted by MIB

almostbob 866 Retired: passive income ROCKS

The object is not to die for your country but to make the other **expletive deleted** die for his."
George S. Patton (US Army)

almostbob 866 Retired: passive income ROCKS
ul#navigation { width: 12em; top: auto; left: 0; bottom: auto; right: auto; position: fixed;} /* should put the menu in the centre of the left edge of the page, you can set the position explicitly I didnt, I like left:auto;right:0; better to put the menu on the right side of the page where it doesnt matter not sure about text flow around the menu, dont have a menu to test it on */
ul#navigation li { list-style: none; background-color: #039; border-top: solid 1px #039; text-align: left; margin: 0; }
ul#navigation li a { display: block; text-decoration: none; padding: .25em; border-bottom: 1px solid #3399FF; border-right: 1px solid #3399FF; }
a:link, a:visited { color: #FFFFFF; }
a:hover, a:active { color: #000000; } 
a:hover { background-color: #fff; }
p a:link, p a:visited { color: #000; }
almostbob 866 Retired: passive income ROCKS

sames as IE6/png, conditional css with eot fonts for IE
or wait till IE supports css3 properly (looks out window, watching for Hell to freeze over)

<!--[if IE]>
@font-face { font-family: GraublauWeb;
   src: url("GraublauWeb.eot"); }
<![endif]-->

http://webfonts.info/wiki/index.php?title=%40font-face_support_in_Internet_Explorer

almostbob 866 Retired: passive income ROCKS

1/4 century plus 2, my Kids are older than that
I feel OOOLLLDDD
Happy Birthday, and welcome to the long downhill
"remember when" "I used to ..." and all the other boring old people things that will appear in your conversations, and younger (damn) people will roll their eyes about.
Put off reaching 30, and dont join the invisibles

almostbob 866 Retired: passive income ROCKS

actually none. webmaster is an admin
to be an author as well needs languages
html for sure
asp/php depending on host support, to give life to pages
and a willingness to drag yourself thru a mire of competig technologies to accomplish whatever unspecified task you plan for this website
dont reinvent the wheel, there are scripts for masny applications prewritten that do work, and integrate well