Ik heb het volgende scriptje contact.php gemaakt:

<?php
/*
*********************
* contact via email *
*********************
*/
?>

<html>
<head>
<title>Contact</title>
</head>

<body>

<?php

if(isset($submit) && $submit=="Verzend bericht")
{
echo "Naam: " . $gebruiker . "<br>\n";
echo "Organisatie: " . $org . "<br>\n";
echo "E-mail: " . $email . "<br>\n";
echo "Onderwerp: " . $subject . "<br>\n";
echo "Bericht: " . $bericht . "<br>\n";

mail("[email protected]", $subject, $bericht);

}else{

?>

<h1>Neem contact met mij op</h1>
<p class="text">U kunt gebruik maken van mijn contactformulier.</p>

<form name="contactform" method="post" action=<?=$PHP_SELF?>
<div align=left>
<table border="0" width="100%">
<tr>
<td width="11%">Naam</td>
<td width="89%"> <input type=text name=gebruiker size=50></td>
</tr>
<tr>
<td width="11%">Organisatie</td>
<td width="89%"> <input type=text name=org size=30></td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td width="89%"> <input type=text name=email size=25></td>
</tr>
<tr>
<td width="11%">Onderwerp</td>
<td width="89%"> <input type=text name=subject size=25></td>
</tr>
<tr>
<td width="11%">Bericht</td>
<td width="89%"> <textarea name=bericht cols=50 rows=5></textarea></td>
</tr>
</table>
</div>
<p><input type="submit" value="Verzend bericht" name="submit"><input type="reset" value="Alles wissen" name="reset"></p>
</form>



<?
}
?>


</p>


</body>
</html>

Maar ik krijg een fout-melding "Warning: Server Error in contact.php on line 26
"

Heb het script tot nu toe werkende, maar wil nu een bestand mee kunnen versturen...

Het script ziet er nu zo uit:

<?php
/*
*********************
* contact via email *
*********************
*/
?>

<html>
<head>
<title>Contact</title>
</head>

<body>

<?php

if(isset($submit) && $submit=="Verzend bericht")
{
echo "============================================================= <br>\n";
echo "<b>INGEVULDE GEGEVENS: </b><br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";
if (!empty($gebruiker)) { echo "<b>Naam: </b>" . $gebruiker . "<br>\n"; }
if (!empty($org)) { echo "<b>Organisatie: </b>" . $org . "<br>\n"; }
if (!empty($email)) { echo "<b>Email: </b>" . $email . "<br>\n"; }
if (!empty($subject)) { echo "<b>Onderwerp: </b>" . $subject . "<br>\n"; }
if (!empty($msg)) { echo "<b>Bericht: </b>" . $msg . "<br>\n"; }
if (!empty($UPLOAD)) { echo "<b>Bestand: </b>" . $UPLOAD . "<br>\n"; }

#echo "<br>\n";
#echo "Server: " . $HTTP_SERVER_VARS . "<br>\n";
#echo "IP adres: " . $_SERVER['REMOTE_ADDR'] . "<br>\n";
#echo "Browser: " . $_SERVER['HTTP_USER_AGENT'] . "<br>\n";

echo "<br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";

mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";

}else{

?>

<h1>Neem contact met mij op</h1>
<p class="text">U kunt gebruik maken van mijn contactformulier.</p>

<form name="contactform" method="post" action=<?=$PHP_SELF?>
<div align=left>
<table border="0" width="100%">
<tr>
<td width="11%">Naam</td>
<td width="89%"> <input type=text name=gebruiker size=50></td>
</tr>
<tr>
<td width="11%">Organisatie</td>
<td width="89%"> <input type=text name=org size=30></td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td width="89%"> <input type=text name=email size=25></td>
</tr>
<tr>
<td width="11%">Onderwerp</td>
<td width="89%"> <input type=text name=subject size=25></td>
</tr>
<tr>
<td width="11%">Bericht</td>
<td width="89%"> <textarea name=msg cols=75 rows=7></textarea></td>
</tr>
<tr>
<td width="11%" height=7></td>
<td width="89%"></td>
</tr>
<tr>
<td width="11%">Uploaden</td>
<td width="89%"> <input name="UPLOAD" size="25" type="file"></td>
</tr>
</table>
</div>
<p><input type="submit" value="Verzend bericht" name="submit"><input type="reset" value="Alles wissen" name="reset"></p>
</form>

<?
}
?>


</p>


</body>
</html>

En nu zat ik er nog over te denken om het bestand dat meegestuurd moet worden gescand kan worden op virussen...
Even wat pointers.

Om bestanden mee te sturen zul je een multipart mailbericht moeten maken. Een google trefwoord is mime multipart. Houd er rekening mee dat het in het geheugen laden van het bestand waarschijnlijk nodig is/gaat gebeuren, en om de runtime niet te lang te maken het bestand niet te groot moet zijn. Hou het bij een nette grootte (0,5mb?).

Het virusscannen zou ik voorlopig even vergeten, houd je eerst bezig met het ontvangen van het uploaden van bestanden. Zoek even op tutorials naar bestanden uploaden. De handleiding sectie is te vinden op http://nl3.php.net/manual/en/features.file-upload.php


Grtz,

Arend
Heb het script ook geprobeerd maar hij geeft de volgende fout aan:

not found
The requested URL /robrenmulder/< was not found on this server

Ik heb allen mail("[email protected]", $subject, $msg); verandert in mail("[email protected]", $subject, $msg);

Wie kan mij helpen
Heb je wel een SMTP-server ingesteld in je php.ini?
je kunt dezelfde smtp gebruiken als die je van je provider ook gebruikt, hotmail wil daarentegen niet.

En bestaat de map robrenmulder wel?

Misschien handig dat je de volgende regels
<?php
...
mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";
...
?>

vervangt door:

<?php
...
// mail naar de webmaster (mezelf dus! :-p)
$mail = mail("[email protected]", $subject, $msg);
if($mail)
{
echo("Email naar webmaster succesvol verzonden! <br>\n");
}else {
echo("Emailen mislukt!");
exit();
}
...
?>
lees effe mijn nieuwe script extern mailen dan kan je via een andere mail server mailen heb geen gezeik met deze problemen
snap je het een beetje
hoe krijg je dat dan gevorderd?
want ik ben beginner :S:S:S maar als je vragen hebt beantwoord ik ze graag
Ik heb geen idee, ik denk dat het in het forum verwerkt zit of wordt beoordeeld door de admin ofzo.
Ik ga ook al heel wat jaren mee op de pc, zeker sinds 1989 en heb in die tijd dus heel wat opgestoken en gelezen.
Maar maak je geen zorgen, dat verandert vanzelf als je hier wat langer vertoeft en zo kennis vergaart ;)

Als ik vragen heb dan hoor je ze wel.
Ik heb geen problemen zoals die van robrenmulder, ik reageerde er alleen maar op
Ik probeer je script 1 deze dagen nog wel.

Ik heb zelf wel sinds kort, nadat de admin van GratisWebRuimte.TK ge-upgrade heeft naar PHP 5.0.1. in safe mode, wel problemen met het versturen via PHP's mail() :s.
Dan krijg ik de melding:
Warning: mail() [function.mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in contact.php on line 113

Reageren