Hey, ik ben best nieuw in PHP en heb van een vriend dit gekregen:
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> 
Weet iemand waarom?
Die vriend misschien?

Als je van ons wilt weten waarom het niet werkt, zul je toch met wat meer informatie moeten komen. Wat gaat er fout? Krijg je foutmeldingen of wat gaat er niet zoals je verwacht had? Wat heb je zelf al geprobeerd? Etc, etc...
Het is al opgelost :D. Het duurt gewoon een aantal minuten voor het mailtje komt ;)
OMG
Loran schreef op 19.10.2008 01:11
OMG
Idd xP
OMG
OMFG!
Jongen, laten we gewoon even normaal reageren. Dit lijkt voor jullie misschien heel logisch, maar voor een beginner hoeft dat zeker niet zo te zijn!

Reageren