almostbob 866 Retired: passive income ROCKS

its not your local pc, thats insignificant, though its good if the development system is configured the same as the real host
mod_rewrite needs to be installed on the host, the server the site will be running on the www
test the .htaccess file given on the web server to see if the host has enabled mod_rewrite
if not enabled you may have to query your hosting company to have it enabled, most hosts do not allow you(me/them) to recompile the OS, for very obvious reasons.

almostbob 866 Retired: passive income ROCKS
<select name="products[]" multiple>

use

<select name="products" multiple>

its not an array, until its posted

almostbob 866 Retired: passive income ROCKS
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">

minor bug with this, the doctype is html 4, so xml namespaces are illegal.

bangs head on desk,
read the prior post about shift to xhtml, and messed up
things you do, without thinking, bite you in the bum

almostbob 866 Retired: passive income ROCKS

try it with the doctype all on 1 line
without the carriage return and tabs

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
almostbob 866 Retired: passive income ROCKS
echo '<tr><td>'.$row['title'].'</td><td>'.$row['category'].'</td><td>'.$row['year'].'</td><td><font size="2"><a href="delete.php?id='.$row['autoid'].'" >delete</a></font></td></tr>';
// or
echo "<tr><td>$row['title']</td><td>$row['category']</td><td>$row['year']</td><td><font size='2'><a href='delete.php?id=$row['autoid']' >delete</a></font></td></tr>";
almostbob 866 Retired: passive income ROCKS

flash is not text/html
typical macromedia flash

<OBJECT type="application/x-shockwave-flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="550" HEIGHT="400" id="myMovieName">
<PARAM NAME=movie VALUE="myFlashMovie.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="/support/flash/ts/documents/myFlashMovie.swf"  quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400" NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>

Try
google flash

<object type="application/x-shockwave-flash" width="400" height="326">
<param name="movie" value="http://video.google.com/googleplayer.swf?docId=8755581808731033658" />
<param name="allowScriptAcess" value="always" />
<param name="quality" value="high" />
<param name="bgcolor" value="#600000" />
<param name="scale" value="noScale" />
<param name="salign" value="TL" />
<param name="FlashVars" value="playerMode=embedded" />
<embed id="VideoPlayback" src="http://video.google.ca/googleplayer.swf?docid=8755581808731033658&hl=en&fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"> </embed>
</object>

Embed and object for cross browser compatibility, but am unsure of exact syntax, should be closer..

almostbob 866 Retired: passive income ROCKS

a question does

<? line; ?>
<? line; ?>

etc
take more processor than

<? line;
line;
line;
line; ?>
almostbob 866 Retired: passive income ROCKS

I think you cant via http, tcp and other protocols maybe,
you can build your own http server and get "a" mac address, but its likely going to be the address of the last router in the traceroute path

almostbob 866 Retired: passive income ROCKS
$result = mysql_query("SELECT * FROM table where id=%s, $id");
almostbob 866 Retired: passive income ROCKS
<meta http-equiv='Refresh' content='0;url=javascript:history.go(-1)'>

if javascript is on

almostbob 866 Retired: passive income ROCKS

where do i place this?

in the #1,#2, and #3 for the jscript?

the one that says document.slideshow.src = NewImg[ImgNum]; there is only one

almostbob 866 Retired: passive income ROCKS

head slap moment, what you get when you dont read what you wrote

document.slideshow.src = NewImg[ImgNum]; 
/* should be */
document.getElementById('slideshow').src = NewImg[ImgNum];

this link will point you to a bunch of scripts, freeware, that do work
Hotscripts:: Javascript slideshow

almostbob 866 Retired: passive income ROCKS

selector.class:psuedoclass { property: value }

a { text-decoration: none; border: 1px solid #000000; margin:5px; padding:5px; }
a:hover { background-color: #66cdaa; text-decoration: none; } 
a:focus { background-color: #66cdaa; text-decoration: none; } 
a:active { background-color: #66cdaa; text-decoration: none; } 
a.red { text-decoration: none; color:#ff0000; }
a.red:hover { background-color: #00ffff; text-decoration: none; } 
a.red:focus { background-color: #00ffff; text-decoration: none; } 
a.red:active { background-color: #00ffff; text-decoration: none; } 
a.blue { text-decoration: none; color:#0000ff; }
a.blue:hover { background-color: #ffff00; text-decoration: none; } 
a.blue:focus { background-color: #ffff00;  text-decoration: none; } 
a.blue:active { background-color: #ffff00;  text-decoration: none; } 
a.green { text-decoration: none; color:#00ff00; }
a.green:hover { background-color: #ff00ff; text-decoration: none; } 
a.green:focus { background-color: #ff00ff; text-decoration: none; } 
a.green:active { background-color: #ff00ff; text-decoration: none; }
a.yellow { text-decoration: none; color:#ffff00; }
a.yellow:hover { background-color: #0000ff; text-decoration: none; } 
a.yellow:focus { background-color: #0000ff; text-decoration: none; } 
a.yellow:active { background-color: #0000ff; text-decoration: none; }
<a href='#'>plain</a>
<a class='red' href='#'>red</a>
<a class='green' href='#'>green</a>
<a class='blue' href='#'>blue</a>
<a class='yellow' href='#'>yellow</a>

Trivial example, but yes it is easy to do

almostbob 866 Retired: passive income ROCKS

In the <head>in <script></script>
or in an xtern file for re-use

NewImg = new Array (
"images/1.gif",
"images/2.gif",
"images/3.gif"
); 
/* as many or few images and the path to them */

var ImgNum = 0;
var ImgLength = NewImg.length - 1;
var delay = 3000; /* Time delay between Slides in milliseconds */
var lock = false;
var run;

function chgImg(direction) {
 if (document.images) {
  ImgNum = ImgNum + direction;
  if (ImgNum > ImgLength) {  ImgNum = 0; }
  if (ImgNum < 0) { ImgNum = ImgLength; }
 document.slideshow.src = NewImg[ImgNum]; 
 }
}

function auto() {
 if (lock == true) { 
  lock = false;
  window.clearInterval(run);
 }
 else if (lock == false) {
  lock = true;
  run = setInterval("chgImg(1)", delay);
 }
}

in the body where you want the slideshow to show

<div><img src="images/1.gif" name="slideshow"><br>
<a href="javascript:chgImg(-1)">Previous</a> &nbsp;|&nbsp; 
<a href="javascript:auto()">Auto/Stop</a> &nbsp;|&nbsp; 
<a href="javascript:chgImg(1)">Next</a></div>

This is not the only javascript slideshow, this is the one I thought of today 11pm, I am certain its not original, i have typed it so many times, that I remember it,
there are thousands of better freeware ones in Javascript repositories

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="en" lng="en">
<head>
<title> Background  Colors </title>
</head>
<body>

<?php

$zero = '<style type="text/css">
body {
background-color: #808080;
} </style>';


$purple = '<style type="text/css">
body {
background-color: #800080;
} </style>';

$blue = '<style type="text/css">
body {
background-color: #0000ff;
} </style>';

$green = '<style type="text/css">
body {
background-color: #008000;
} </style>';

$yellow = '<style type="text/css">
body {
background-color: #ffff00;
} </style>';

$orange = '<style type="text/css">
body {
background-color: #ef9c00;
} </style>';

$red = '<style type="text/css">
body {
background-color: #ff0000;
} </style>';

$black = '<style type="text/css">
body {
background-color: #000000;
} </style>';50

$white = '<style type="text/css">
body {
background-color: #ffffff;
} </style>';

$purple_text = '<style type="text/css">
p {
color: #800080;
} </style>';

$blue_text = '<style type="text/css">
p {
color: #0000ff;
} </style>';

$green_text = '<style type="text/css">
p {
color: #008000;
} </style>';

$yellow_text = '<style type="text/css">
p {
color: #ffff00;
} </style>';

$orange_text = '<style type="text/css">
p {
color: #ef9c00;
} </style>';

$red_text = '<style type="text/css">
p {
color: #ff0000;
} </style>';

$black_text = '<style type="text/css">
p {
color: #000000;
} </style>';

$white_text = '<style type="text/css">
p {
color: #ffffff;
} </style>';

$brown = '<style type="text/css">
#text {
border-width: 5px;
border-style: dashed;
border-color: #660000;
width: 370px;
} </style>';

$pink = '<style type="text/css">
#text {
border-width: 5px;
border-style: dashed;
border-color: #ff00cc;
width: 370px;
} </style>';

$color = $_POST['color'];

$click = $_POST['click'];

$textcolor = $_POST['textcolor']

if ( $color == 0 ) { echo " {$zero} <p> you are vewing the default page or …
almostbob 866 Retired: passive income ROCKS
search = '<form action="http://www.ututorial.net/search" id="cse-search-box"><div><input type="hidden" name="cx" value="partner-pub-3996237323979957:tenb6ft9bbh" /><input type="hidden" name="cof" value="FORID:10" /><input type="hidden" name="ie" value="ISO-8859-1" /><input type="text" name="q" size="31" /><input type="submit" name="sa" value="Search" /></div></form><script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></&#115 ;&#99 ;&#114 ;&#105 ;&#112 ;&#116 ;>'; /* hex has been exploded, spaces added, Daniweb does not allow the hex to sit as typed but echoes the character, bad for this, good to reduce code injections */
function set() { document.getElementById('Search_Content').innerHTML = search; }

the hex is 'script' which when written out by javascript should work

samarudge commented: Thanx for the help +1
almostbob 866 Retired: passive income ROCKS

If at first you dont succeed, rant

5 hours to copy -HOW MUCH- disk
5 hours for 5MB is terrible
5 hours for 5TB is fantastic

When all else fails, rtfm

almostbob 866 Retired: passive income ROCKS

maker her a google calendar, and link it from the page ??

almostbob 866 Retired: passive income ROCKS

speed tweak take the dot(.) out of your css body definition,
<body class='body'> is just
<body>

almostbob 866 Retired: passive income ROCKS

I don't see much point in doing redirects after the wrong page is loaded to the minibrowser, If you do it on the server before the page is loaded the minibrowsers wont waste time loading a heap of pages then reloading
browsers send their user_agent in http request, this works in php, Caveat that many browsers spoof their headers and pretend to be something else

<?php $mobile = "http://mobi.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
if ($frame) { header("location: http://www.mysite.com$frame");}
ob_start("ob_gzhandler"); ?>
<!-- assorted html -->
<?php ob_flush(); ?>

or a switch / case combination

A proportion of pocket browsers dont do javascript.
A tutorial in Javascript is here http://www.web-wise-wizard.com/javascript-tutorials/javascript-jscript-get-user-information.html
the examples are pretty trivial, but I guess make a foundation for your own code

almostbob 866 Retired: passive income ROCKS

Think I messed up the code

<input type='submit' value='submit' onclick='return confirm("Are You Sure");'>
<!-- or -->
<form action='formhandler.ext' method='post' onsubmit='return confirm("Are You Sure");'>

neither set looks right,
but one works,

almostbob 866 Retired: passive income ROCKS
<input type='submit' value='submit' onclick='return(confirm("Are You Sure"));'>
<!-- or -->
<form action='formhandler.ext' method='post' onsubmit='return(confirm("Are You Sure"));'>
almostbob 866 Retired: passive income ROCKS

I'm not seeing the adds,
but I blocked the domain in the hosts file, the script doenst load

almostbob 866 Retired: passive income ROCKS

page 4 of the joomla online referst to the database,
and table creation within the database.
If you have begun manually you need the appropriate part of the joomla manual install.

Joomla did not install properly. install includes creating tables in the database.
Perhaps rerun the install scripts

almostbob 866 Retired: passive income ROCKS

once you create a dbase
then you have the ability to cxreate a number of tables inside the database, in my head the database is an empty filing cabinet, plenty of potential but not much use yet, my host pack has 1 database, but it has installed in it 6 different products, 6 sets of tables.
Install packs for joomla-esque products (joomla-ish(?) hard to determine what is a reasonable adjective) usually include php scripts or sql instructions to create the tables and defaults in the database once the database exists.
sometimes the scripts are buried right at the end of the install instructions instead of at the start Joomla help has http://help.joomla.org/content/view/1947/302/1/0/
a reasonalble online helpset, decent screenshots of database, and manual instructions as wellbeginner, is a good place to start :)

almostbob 866 Retired: passive income ROCKS

I cant see anything,i tried enabling Contextual ads,etc and nothing like that!

Hmmmmmm

If you are running spybot or another adblocker, this domain is blocked

almostbob 866 Retired: passive income ROCKS

Its an opt in ad server, opted in by website owners, not by users, extremely offensive

<script type="text/javascript">
doclix_pid = 16233;
</script> <script type="text/javascript" src="http://ads.doclix.com/adserver/serve/js/doclix_synd.js" charset="utf-8"></script>

127.0.0.1 ads.doclix.com

in your hosts file will remove this annoying piece of *expletive deleted*
update request made, MSMVP Hosts file

almostbob 866 Retired: passive income ROCKS

I think only IE
it is a MS language
javascript is better supported

almostbob 866 Retired: passive income ROCKS
<!-- google_ad_section_start --> After Dani's earlier post I thought it may have been a problem in my work PC only, but I just tried on my home (32-bit) PC which runs XP SP3 with Firefox 1.90. It is also occurring for me in IE 6.0. <!-- google_ad_section_end -->

the site has google ads, google ad headers have made it into the post bodies, templating problem?
Turning off the ads in control panel does not turn off these annoying scripts

almostbob 866 Retired: passive income ROCKS

likewise sql now()
is equivalent to php time()

almostbob 866 Retired: passive income ROCKS

If you have word, the office program frontpage does that (EEWW)
but wysiwyg editors tend to produce very bloated code
or you could google for wysiwyg html editor for other types

almostbob 866 Retired: passive income ROCKS

file saveas html

almostbob 866 Retired: passive income ROCKS

the database is meant to be machine readable
human readable data constructs just *expletive deleted* the data
time is not a character string
time is, int, numeric result from the time functions (seconds from 0.00 1 jan 1970).
sql (php asp perl flex) time functions convert human readable day month year strings to timestamps to be stored in the database
timestamps are faster smaller easier to correctly manipulate
change your database to properly store the 'unix' timestamp and format to human readable in the output script

sql now() time()
php time() mktime() strtotime()
asp time() date()

almostbob 866 Retired: passive income ROCKS

The code below is a popup layer, for mozilla/firefox dom and IE dom, so you will see each action declared twice for the different DOM.
Its a script included in the pages for certain properties, I manage apartments and houses, creates a button that shows or hides a layer containing text onclick.
the layer/window remains in position on screen untill the viewer actually clicks 'close'.
class='top/bottom' in the script are just the color schemes of the layer, different to the site scheme so that it looks like a different window, described in the external css file, they werent necessary to put in for function

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01  Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<script language="javascript" type="text/javascript">
<!--
(document.getElementById) ? dom = true : dom = false;
function hideIt() {
 if (dom) {document.getElementById("layer1").style.visibility='hidden';}
 if (document.layers) {document.layers["layer1"].visibility='hide';} }
function showIt() {
 if (dom) {document.getElementById("layer1").style.visibility='visible';}
 if (document.layers) {document.layers["layer1"].visibility='show';} }
onResize="window.location.href = window.location.href"
//--></script>
</head>
<body>
<button align="center" onClick="showIt();">Important Information</button>
<div id="layer1" style="position:fixed; left:20px; width:45%; top:20px; visibility:hidden;"><!--Had to include the style from the ext sheet, else it would not be recognisable that this div will remain in place over the other layers until closed-->
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td Align="right" onClick="hideIt()" class="top">
<font Color="#ffffff"><Strong>Close</strong></font>
</td>
</tr>
<tr>
<td class="bottom">
<center><font size="+1"><b>Single Dwellings</b>:</font></center>
Tenants &amp; Residents of Single homes have different responsibilities to Tenants &amp; Residents of Multi Unit Residential Developments.
<UL compact>
<li>The tenant is required to have current adequate …
almostbob 866 Retired: passive income ROCKS

Now we're closer
and the fix is probably easy (not maybe for you and me but there are code gurus)
Post the wrong code in tags, and 99% likely someone will be able to debug the error if there is a result, the form is likely ok if there are wrong results, the back end select function needs some tweaking something like a wrong expression used to select $price < 50 $price > 30[code=language] tags, and 99% likely someone will be able to debug the error
if there is a result, the form is likely ok
if there are wrong results, the back end select function needs some tweaking
something like a wrong expression used to select $price < 50 $price > 30

almostbob 866 Retired: passive income ROCKS

its for a ms access database and php, i want customers to be able to select or tick various things they want in our services and when they click the submit button depending on the things they selected our database should return two of our package that will best suit them

And you want to do this without even knowing how to create a form,
Before you begin, you need to read a lot, and practice on a dummy dataset
you need the details on how to connect to your database and pull information from it, and you want relational logic to select the best matches
this is not a trivial exercise
'best match' is a very difficult logic to implement

almostbob 866 Retired: passive income ROCKS

access & asp, or php?
this is the php forum, here is a php solution to the question asked, no database mentioned in the op, what are you actually looking for

<?php
if($_POST){
echo 'submitted were<br>';
foreach ($_POST as $key => $value) {
echo $key." value ".$value.'<br>';} }
?>
<form action='<?php echo $_SERVER['php_self']; ?>' method='post'>
<input type='checkbox' value='yes' name='1'> checkbox 1<br>
<input type='checkbox' value='yes' name='3'> checkbox 3<br>
<input type='checkbox' value='yes' name='5'> checkbox 5<br>
<input type='checkbox' value='yes' name='7'> checkbox 7<br>
<input type='checkbox' value='yes' name='9'> checkbox 9<br>
<input type='radio' value='yes' name='10'> Yes <input type='radio' value='no' name='10'> No<br>
<button TYPE="submit" name="submit" value="submit" onclick="return(confirm('Are you sure, \nthis is such a trivial example'));">Submit</button>
</form>
almostbob 866 Retired: passive income ROCKS

put the <noscript> in the <head>
put a html redirect in the noscript

<head>
<noscript>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.yourdomain.com/noscriptpage.html"> 
</noscript>
<!-- rest of file-->
almostbob 866 Retired: passive income ROCKS

do it ANother way
frameset instead of iframe
this is a file 'external.php' that we use to load outside files under a little header that says external file and a menu the file takes a parameter $ext that is the file to load

<?php ob_start('ob_gzhandler'); ?>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/html4/frameset.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<Title>Linking <?php if(!$ext){$ext = '/home2.php';} echo $ext ; ?></Title>
<LINK rel='StyleSheet' HREF='/style.css.php' TYPE='text/css' MEDIA='all'>
<script language='javascript' type='text/javascript' src='/script.js.php'></script>
<frameset rows='100,*'>
<frame name='Menu' SRC='menu2.php' TITLE='Menu'>
<frame name='Content' SRC='<?php echo $ext; ?>' TITLE='Content'>
</FRAMESET>
</body>
</html>
<?php ob_flush(); ?>

(stylesheets and javascripts are .php files, mod_gzip.)

almostbob 866 Retired: passive income ROCKS

<noscript>This page requires javascript</noscript> anything between noscript tags is ignored if javascript is active, and the tags are ignored and the contents parsed if javascript is inactive
Any contents

almostbob 866 Retired: passive income ROCKS

How is a 3 digit HEX number interpreted as a color value in this example?
background: #fff

Do browsers double up each digit?
Thanks!
WBR

http://www.december.com/html/spec/color3hex4.html

almostbob 866 Retired: passive income ROCKS

most do not want to be told rtfmits easier for me its just another line of code, that I have in memory, references I have to waste my time looking up

almostbob 866 Retired: passive income ROCKS
select name where state like '%s', $post['state']
mysql_query(sprintf("select name where state like '%s', $post['state'] "));

probably better if you take the commas out of your state tables
wa fl az mi
instead of
wa, fl, az, mi,
many schema give commas a meaning, and cannot be sure where the data will be interpreted and parsed
the space character is a sufficient divider

%s , $post['state'] could be written as 
$post['state'] 
replaceable parameters that I need to know which ones are numeric / text / blob to debug,  sql %s is literal text
almostbob 866 Retired: passive income ROCKS

Hi,

INSERT INTO money (salary) VALUES ('100,000,000.00')

100,000,000.00 is stored as 100.00 in decimal (14,2).
I don't know what is wrong?

Thanks

do not punctuate numbers in input data
mysql suypports multiple data schema, language-specific and region specific
in many supported schema the comma is a decimal separator, the number is truncated 2 digits after the first valid decimal separator = 100.00
database code is meant to be machine readable, not human readable, so dont try to make it pretty in the database
do any formatting only on output.
number should be 100000000.00.
input validation should strip out any incorrect characters in the input data, and return to the input form for re-entry with a "did you mean" prompt (like google when you mis-spell)
without validation the database wont last very long till it falls over dead
(Likewise repair dates that these salaries refer to, store timestamps not text strings, for the same reasons)

almostbob 866 Retired: passive income ROCKS

my code for forced download is very like yours,
dont want the pdf to open in the browser

if(!$file) return false;
header("Content-disposition: attachment; filename=$file");
header('Content-type: application/pdf;');
readfile("$file");

try,

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment;  filename=$dumpf\;");
readfile("$dumpf");
almostbob 866 Retired: passive income ROCKS

dont use a popup
popups are routinely blocked for security
every day a larger proportion of browsers have popup blockers enabled.
because popups are annoying
sites that use popups get worse results than those that do not

use a layer and show/hide it as necessary

almostbob 866 Retired: passive income ROCKS

It does not work in IE7 either
there are several hundred nul characters scattered at random through the source
redo with a text only editor, or change the editor used config to save html as plain text

almostbob 866 Retired: passive income ROCKS

php domain lock google search most php obfuscators have a domain lock function
you can configure, zip and disseminate the locked files in one pass

almostbob 866 Retired: passive income ROCKS

checkout the apache.org mod_rewrite tutorials

almostbob 866 Retired: passive income ROCKS

no recommendations, this is the first reult of a google search for private movie rating php script
http://www.howtocreate.co.uk/php/moviedb.html