(win2000 professional, IIS 5 and PHP 4) I installed PHP on IIS 5 and run a php script on my local machine. It gave some errors below: -Warning: Undefined variable: QUERY_STRING in C:\Abt_deneme\mailit.php on line 103 -Warning: Undefined offset: 1 in C:\Abt_deneme\mailit.php on line 116 -Warning: Undefined index: host in C:\Abt_deneme\mailit.php on line 171 You can not execute this script standalone, please submit a form from a valid referrer shold I install Apache because of some variables like $QUERY_STRING? /////////////////////////////// mailit.php (Script © Yowen.com) ////////////////////////////// <?php $referers = array( "www.abt.com.tr", ); /* Do you want the script to log all emails? */ $log = "no"; /* yes or no - case sensetive */ /* please set the location of the file to be added to */ $logfile = "mailit.log"; file://do not edit anything below this line function savetofile($file_name,$file_contents,$mode) { if ($mode=="at"||$mode=="ab") { $file_opener = fopen($file_name, "r"); $file_read = fread($file_opener, filesize($file_name)); } $file_pointer = fopen($file_name, "w"); if ($mode=="at") { fwrite($file_pointer,$file_contents . $file_read); } if ($mode=="ab") { fwrite($file_pointer,$file_read . $file_contents); } if ($mode=="r") { fwrite($file_pointer,$file_contents); } fclose($file_pointer); } file://date $today = getdate(); $month = $today['month']; $mday = $today['mday']; $year = $today['year']; $date = "$month $mday, $year"; $recipient = "[EMAIL PROTECTED]"; if ($recipient==""||!isset($recipient)) { die("You must specify an email to send the form to."); } $ip = getenv("REMOTE_ADDR"); $userinput = "IP: " . $ip ."\n"; $queries = explode("&",$QUERY_STRING); if (isset($required)) { $validate = explode(",",$required); } for ($i=0;isset($queries[$i]);$i++) { $query = explode("=",$queries[$i]); if (isset($required)) { for ($c=0;isset($validate[$c]);$c++) { if ($validate[$c]==$query[0]&&$query[1]=="") { die("Please go back and fill in all required form fields."); } } } $userinput .= "" . $query[0] . ": " . $query[1] . "\n"; } file://you must keep the powered by mailit signature to use this script $userinput .= "\n----------------------\nPowered by Mailit - http://www.yowen.com/?p=mailit"; $userinput = str_replace("+"," ",$userinput); $userinput = str_replace("%7E","~",$userinput); $userinput = str_replace("%7e","~",$userinput); $userinput = str_replace("%60","`",$userinput); $userinput = str_replace("%21","!",$userinput); $userinput = str_replace("%23","#",$userinput); $userinput = str_replace("%24","\$",$userinput); $userinput = str_replace("%25","%",$userinput); $userinput = str_replace("%5E","^",$userinput); $userinput = str_replace("%5e","^",$userinput); $userinput = str_replace("%26","&",$userinput); $userinput = str_replace("%28","(",$userinput); $userinput = str_replace("%29",")",$userinput); $userinput = str_replace("%2B","+",$userinput); $userinput = str_replace("%2b","+",$userinput); $userinput = str_replace("%3D","=",$userinput); $userinput = str_replace("%3d","=",$userinput); $userinput = str_replace("%5B","[",$userinput); $userinput = str_replace("%5b","[",$userinput); $userinput = str_replace("%5D","]",$userinput); $userinput = str_replace("%5d","]",$userinput); $userinput = str_replace("%7B","{",$userinput); $userinput = str_replace("%7b","{",$userinput); $userinput = str_replace("%7D","}",$userinput); $userinput = str_replace("%7d","}",$userinput); $userinput = str_replace("%5C","\\",$userinput); $userinput = str_replace("%5c","\\",$userinput); $userinput = str_replace("%7C","|",$userinput); $userinput = str_replace("%7c","|",$userinput); $userinput = str_replace("%3B",";",$userinput); $userinput = str_replace("%3b",";",$userinput); $userinput = str_replace("%3A",":",$userinput); $userinput = str_replace("%3a",":",$userinput); $userinput = str_replace("%27","'",$userinput); $userinput = str_replace("%22","\"",$userinput); $userinput = str_replace("%2C",",",$userinput); $userinput = str_replace("%2c",",",$userinput); $userinput = str_replace("%3C","<",$userinput); $userinput = str_replace("%3c","<",$userinput); $userinput = str_replace("%3E",">",$userinput); $userinput = str_replace("%3e",">",$userinput); $userinput = str_replace("%2F","/",$userinput); $userinput = str_replace("%2f","/",$userinput); $userinput = str_replace("%3F","?",$userinput); $userinput = str_replace("%3f","?",$userinput); $userinput = str_replace("%0D","\n",$userinput); $userinput = str_replace("%0d","\n",$userinput); $userinput = str_replace("%20"," ",$userinput); file://start referrer check $ref = getenv('HTTP_REFERER'); $ref1=parse_url($ref); if ($ref1['host']=="") { die("You can not execute this script standalone, please submit a form from a valid referrer"); } for ($i=0;isset($referers[$i]);$i++) { if ($ref1['host']==$referers[$i]) { $continue = "true"; } } if ($continue!="true") { die("Mail failed, invalid referer.<br>If you are trying to use mailit then add '".$ref1['host']."' to the referers array."); } file://start emailing stage if(mail($recipient,$subject,$userinput,"From: ".$name." <".$email.">")) { file://logs email to log file: if ($log=="yes"&&is_writable($logfile)&&is_readable($logfile)) { $userinput1 = str_replace("\n","<br>",$userinput); savetofile($logfile,"¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯ _¯_¯_¯_¯_¯_¯_¯_¯_¯_<br>Sent on " . $date . ":<br>" . $userinput1."<br>","at"); } file://send user to redirect url if set if (isset($redirect)) { header("Location: $redirect"); } if (!isset($redirect)) { echo "Message sent succesfully."; } } else { echo "An error has ocurred, please go back and try again."; } ?> -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]