Alleen het werkt niet :( Weet iemand waarom?
<?php
//Toegestane MIME-typen
$allowed=array('image/x-png','image/jpeg','image/bmp','image/pjpeg','text/plain','text/html','image/png','image/gif','application/x-js','application/x-shockwave-flash');
//Maximale aantal bijlagen. Wordt overgenomen door JavaScript file input en ook server sided geverifieerd
$max_atts=3;
$aan = "[email protected]";
function validate($param)
{
if(ereg("^[^@]{1,64}@[^@]{1,255}$",$param))
{
$addr=explode("@",$param);
$local=explode(".",$addr[0]);
for($i=0;$i<sizeof($local);$i++)
{
if(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$",$local[$i]))
return 0;
}
if(!ereg("^\[?[0-9\.]+\]?$",$addr[1]))
{
$domain=explode(".",$addr[1]);
if(sizeof($domain)<2)
return 0;
for($i=0;$i<sizeof($domain);$i++)
{
if(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$",$domain[$i]))
return 0;
}
}
return 1;
}
else
return 0;
}
function verify_field()
{
$err="";
if(validate($_POST['send_mail'])==0)
{
$err.="<li>Not a Correct E-mail address</li>\n";
$error=1;
}
$recipients=explode(",",$aan);
if($err!="")
{
echo($err);
return false;
}
else
return true;
}
function geterror($id)
{
switch($id)
{
case '1':
return 'The File(s) is/are to big.';
break;
case '2':
return 'The File(s) is/are to big.';
break;
case '3':
return 'The file is uploaded for a part.';
break;
case '4':
return 'The File did not upload, please try again';
break;
}
}
function getstring($charno)
{
switch($charno)
{
case '0':
return 'text/plain';
break;
case '1':
return 'text/html';
break;
default:
return 'text/plain';
break;
}
}
function getcharset($charno)
{
switch($charno)
{
case '0':
return 'us-ascii';
break;
case '1':
return 'utf-8';
break;
default:
return 'us-ascii';
break;
}
}
if(!empty($_POST))
{
if(verify_field()==true)
{
$header="From: ".addslashes($_POST['send_name'])." <".addslashes($_POST['send_mail']).">\r\n";
$header.="To: ".$aan."\r\n";
if(strlen($_POST['subject'])>0)
$header.="Subject: ".$_POST['subject']."\r\n";
$header.="Return-Path: <".$_POST['send_mail'].">\r\n";
$header.="Mime-Version: 1.0\r\n";
if(!empty($_FILES))
{
$err_files="";
$header.="Content-Type: multipart/mixed; boundary=\"grensje\"\r\n\r\n";
$body="--grensje\r\nContent-Type: ".getstring($_POST['format'])."; charset=\"".getcharset($_POST['charset'])."\"\r\n\r\n";
$body.=$_POST['msg']."\r\n\r\n";
if(($num_files=count($_FILES))<=$max_atts)
{
while(list($key,$val)=each($_FILES))
{
if(empty($_FILES[$key]['name']))
{
$err_files.="<li>The Upload field ".$key." is empty.</li>\n";
$illegal=1;
}
else if($_FILES[$key]['error']!=0)
{
$err_files.="<li>An Error occurred while uploading: ".$_FILES[$key]['name']."<br>".geterror($_FILES[$key]['error'])."</li>\n";
$illegal=1;
}
else
{
if(!in_array($_FILES[$key]['type'],$allowed))
{
$err_files.="<li>Illegal Filetype in: ".$_FILES[$key]['name'].": ".$_FILES[$key]['type']."</li>\n";
$illegal=1;
}
else
{
$body.="--grensje\r\nContent-Type: ".$_FILES[$key]['type']."\r\n";
$body.="Content-Disposition: attachment; filename=\"".$_FILES[$key]['name']."\"\r\n";
$body.="Content-Transfer-Encoding: base64\r\n\r\n";
$body.=base64_encode(file_get_contents($_FILES[$key]['tmp_name']))."\r\n\r\n";
}
}
}
}
else
{
$err_files.="<li>To many files uploaded (".$num_files." tegenover ".$max_atts." toegestane bestanden)</li>\n";
$illegal=1;
}
$body.="--Line--";
}
else
$header.="Content-Type: ".getstring($_POST['format'])."; charset=\"".getstring($_POST['charset'])."\"\r\n\r\n";
if(isset($illegal))
echo($err_files);
else
{
if(!mail($aan,$_POST['subject'],$body,$header))
echo("<li>An error occurred while sending the message</li>\n");
else
echo("<li>Your E-mail has been sent</li>\n");
}
}
}
?>
<html>
<head>
<script language="JavaScript">
var counter=0;
var dis=0;
var max=<?php echo($max_atts); ?>;
var fileArr=new Array();
function addFile()
{
if(dis<max)
{
document.getElementById('lijst').innerHTML+="<span id='"+counter+"'><input type='file' name='input"+counter+"'><input type='button' value='x' onclick=\"javascript:delFile("+counter+")\"><br></span>";
counter++;
dis++;
}
else
alert("U mag maximaal "+max+" bestanden uploaden");
}
function delFile(id)
{
document.getElementById(id).innerHTML="";
fileArr[id]=null;
dis--;
}
</script>
</head>
<body>
<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
<table>
<tr>
<td>Name:</td>
<td></td>
<td><input name="send_name" type="text" id="send_name" /></td>
</tr>
<tr>
<td>E-mail: </td>
<td></td>
<td><input name="send_mail" type="text" id="send_mail" /></td>
</tr>
<tr>
<td>Subject:</td>
<td>:</td>
<td><input name="subject" type="text" id="subject" /></td>
</tr>
<tr>
<th colspan="3">Message</th>
</tr>
<tr>
<td colspan="3"><div align="center">
<textarea name="msg" cols="35" rows="5" id="msg"></textarea>
</div></td>
</tr>
<tr>
<input name="charset" type="hidden" value="1" checked="checked" />
<tr>
<td colspan="3"><div align="center">
<input type="reset" name="Reset" value="Reset" />
<input type="submit" name="Submit2" value="Send" />
</div></td>
</tr>
</table>
</form>
</body>
</html>