die dræber dit script.
temp.php
<?
$HTML=<<<START
<div class="subcontent">
<h1 id="Newsletter">Newsletter</h1>
<p>Please submit your email address if you wish to receive the Olive newsletter.</p>
START;
// THIS FUNCTION WILL CHECK WHETHER AN EMAIL IS CORRECT OR NOT
// FIRST, BASIC ARCHITECTURE IS CHECKED
// THEM, EXISTANCE OF THE EMAIL SERVER IS CHECKED
// If email is not correct, the error message is shown and page dies
function check_email ($email, $message){
// check if email exists
if ($email==""){
return false;
}
// check whether email is correct (basic checking)
$test1=strpos($email, "@"); //value must be >1
$test2=strpos(substr($email,strpos($email,"@")), "."); //value must be >1
$test3=strlen($email); //value must be >6
$test4=substr_count ($email,"@"); //value must be 1
if ($test1<2 or $test2<2 or $test3<7 or $test4!=1){
return false;
}
// check whether email is correct (advance checking)
// extracts whatever is after "@" to variable $email_server
$email_server=substr($email,strpos($email, "@")+1);
// Check DNS records (0 => the server exists; 1=> the server does not exist)
if (checkdnsrr($email_server)!=1){
return false;
}
return true;
}
// THIS FUNCTION WILL SHOW THE FORM
// MODIFY IT AS REQUIRED
function getForm(){
$form=<<<FORM
<form action="{$SERVER['PHP_SELF']}" method="post">
<p><input name="email" size="25" type="text"> <input value="Submit" type="submit"></p>
<p><input name="action" value="subc" checked="checked" type="radio">Subscribe
<input name="action" value="unsubc" selected="" type="radio">Unsubscribe</p>
</form>
FORM;
return $form;
}
if (!$_POST){
$HTML.=getForm();
}else{
// GET EMAIL
$email=$_POST["email"];
// To avoid problems, only lower case is used
$email=strtolower($email);
// Check whether email is correct by using a function
// function requires the email address and the error message
if(!check_email($email)){
$HTML.="<p><b>Error</b>: email is not valid.</p></div>";
return $HTML;
}
// GET VALUE FOR action : subc (subscribe) or unsubc (unsubscribe)
$action=$_POST["action"];
// this is the file with the info (emails)
// When using the link in the top to download the complete script, a new name for this file
// will be generated (p.e.: emaillist-2ax1fd34rfs.txt), so users will be unable to find it
$file = "emaillist-QJvg3pu58N.txt";
// lets try to get the content of the file
if (!file_exists($file)){
// If the file is already in the server, its content is pasted to variable $file_content
// If the file does not exists, lets try to create it
// In case file can not be created (probably due to problems with directory permissions),
// the users is informed (the first user will be the webmaster, who must solve the problem).
if(!$cf = fopen($file, "w")){
$HTML.="<p><b>Error</b>: file does not exits, and it can not be create.<BR>Please check permissions in the directory or create a file with coresponding name.</p></div>";
return $HTML;
}
fputs($cf, "Mailing list subscribers\\n");
fclose($cf);
}else{
$file_content=file_get_contents($file);
}
// IF REQUEST HAS BEEN TO SUBSCRIBE FROM MAILING LIST, ADD EMAIL TO THE FILE
if ($action=="subc"){
// check whether the email is already registered
if(strpos($file_content,"<$email>")>0){$HTML.="<p><b>Error</b>: your email is already included in this mailing list.</p></div>";return $HTML;}
// write the email to the list (append it to the file)
$cf = fopen($file, "a");
fputs($cf, "\\n<$email>"); // new email is written to the file in a new line
fclose($cf);
// notify subscription
$HTML.="<p>Your email has been added to our mailing list.<br>Thanks for joining us.</p>";
}
// IF REQUEST HAS BEEN TO UNSUBSCRIBE FROM MAILING LIST, REMOVE EMAIL FROM THE FILE
if ($action=="unsubc"){
// if email is not in the list, display error
if(strpos($file_content,"<$email>")==0){$HTML.="<p><b>Error</b>: your email is not included in this mailing list.</p></div>";return $HTML;}
// remove email from the content of the file
$file_content=preg_replace ("/\\n<$email>/","",$file_content);
// print the new content to the file
$cf = fopen($file, "w");
fputs($cf, $file_content);
fclose($cf);
// notify unsubscription
$HTML.="<p>Your email has been removed from our mailing list.</p>";
}
}
$HTML.="</div>";
return $HTML;
?>
temp2.php
<?
print(include("temp.php"));
?>