Ik heb zelf een werkend contact formuliertje (zoals vele) En ook ik wil graag dat mensen een bijlage kunnen meesturen.
Ik ben hierzelf al een tijdje mee bezig geweest en er zijn voor zover ik weet ook al aardig wat topicjes enz. over geweest, maar ik kom er niet helemaal uit. Ik heb ook bestaande scripts doorgeplozen. en van alles nog wat op google gevonden maar niks kon mij helpen :(
Mijn vraag is dan ook:
Is/kan er ook een tutorialtje gemaakt worden waarin staat hoe je te werk moet gaan om dit in je bestaande formulier te verwerken, waar je op moet letten enz. en hoe het eigenlijk werkt.

?
kheb er even naar gekeken het script dat daar staat is inderdaad al wat duidelijker maar het lukt me nog niet om hem te verwerken in mijn bestaande formulier. wat ik waar moet neerzetten enz. dit is het bestaande script (overgens ook van deze site)

<?
ob_start(); // Voor Cookie setten
// Config Gedeelte
$site = "http://www.google.nl";; // Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$wm_naam = "jopie"; // Webmaster naam
$wm_email = "[email protected]"; // Webmaster E-mail
$datum = date("d-m-Y H:i:s"); // Datum wanneer verstuurd
$Anti_Spam = "0"; // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$fout_text = FALSE; // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE; // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )

// Hierna hoef je niks meer te veranderen!
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);

// IP van de verstuurder
if(getenv($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
} elseif(getenv($_SERVER['HTTP_CLIENT_IP'])) {
$ip = getenv($_SERVER['HTTP_CLIENT_IP']);
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}

$host = gethostbyaddr($ip); // Host van verstuurder

$layout = "
<html>
<head>
<title>Opdracht bon</title>
</head>
<body>
<table border='0' cellpadding='0' cellspacing='0' width='752'>
<tr>
<td bgcolor='#000000'>
<p align='center'><font color='#FFFFFF'>ALGEMENE GEGEVENS</font></td>
</tr>
</table>
</body>
</html>

Naam: ".$naam." \n
E-mail: ".$email." \n
Bericht:\n".$bericht_wrap." \n
\n
Verstuurd op: ".$datum."
------------------------------------------------------- \n
IP: ".$ip." \n
Host: ".$host." \n
";

$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Reply-To: mailform <[email protected]>\r\n";


// Mail Checker
function checkmail($mail)
{
// explode het e-mail adres op een @
$email_host = explode("@", $mail);
// pak alles na de @
$email_host = $email_host['1'];
// zet een var met de (eventuele) DNS van de domein
$email_resolved = gethostbyname($email_host);
// kijk of er een DNS aan zit en of alles voor en na het e-mail adres klopt
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
// wanneer het geldig is, is $valid = 1, zo niet, dan geeft hij geen result (NULL)
return $valid;
}
// Alles Controleren Wanneer er op Verzenden wordt gedrukt
if(isset($_POST['verzenden']))
{
$fout = "";
if((empty($naam)) OR (strlen($naam) < 3))
{
$fout .= "U bent vergeten je naam in te vullen! <BR>";
unset($naam);
$fout_vakje_naam = "input_fout";
$fout_text_naam = "#FF0000";
}
if((empty($email)) OR (strlen($email) < 7))
{
$fout .= "U bent vergeten uw e-mail adres in te vullen! <BR>";
unset($email);
$fout_vakje_email = "input_fout";
$fout_text_email = "#FF0000";
}
elseif(checkmail($email) == 0)
{
$fout .= "Vul een correct e-mail adres in! <BR>";
$fout_vakje_email = "input_fout";
$fout_text_email = "#FF0000";
}
if(empty($onderwerp))
{
$fout .= "U bent vergeten een onderwerp in te vullen! <BR>";
unset($onderwerp);
$fout_vakje_onderwerp = "input_fout";
$fout_text_onderwerp = "#FF0000";
}
if(empty($bericht))
{
$fout .= "U bent vergeten een bericht in te vullen!";
unset($bericht);
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "#FF0000";
}
elseif(strlen($bericht) < 6)
{
$fout .= "Uw bericht is tekort! <BR>";
$fout_vakje_bericht = "input_fout";
$fout_text_bericht = "#FF0000";
}
if(!$fout_text)
{
unset($fout_text_naam);
unset($fout_text_email);
unset($fout_text_onderwerp);
unset($fout_text_bericht);
}
if(!$fout_vakje)
{
unset($fout_vakje_naam);
unset($fout_vakje_email);
unset($fout_vakje_onderwerp);
unset($fout_vakje_bericht);
}
if(!empty($fout))
{
echo "<font color=\"#FF0000\"> $fout </font>"; // Weergeven van de fout(en)
}
else
{
mail($wm_email,$onderwerp,$layout,$headers);

// Bericht als mail succesvol is verzonden
echo "<head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"></head>";
echo "<BR>Uw contact bericht is succesvol verzonden!<BR>";
echo "Er word zo snel mogelijk gereageerd.<BR><BR>";
echo "Met vriendelijke groeten,<BR>";
echo "<B>".$wm_naam."</B>";
echo "$naam";

// cookie zetten tegen spam
setcookie("mailformulier",1,time()+($Anti_Spam*60));

// formulier wordt niet weer getoond
$Formulier = TRUE;


}
}

// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(isset($_COOKIE['mailformulier']))
{
$Formulier = TRUE;
echo "<head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"></head>";
echo "<center><h2> Spam Beveiliging </h2><BR>";
echo "Je kunt maar eens in de $Anti_Spam minuten een e-mail versturen!</center>";
header("refresh:3;url=".$site."");
}
if(!isset($Formulier))
{
?><head>
<link href="style.css" rel="stylesheet" type="text/css">
</head>




<form method="POST" action="<? echo $PHP_SELF; ?>">
<table>
<tr><td> </td><td> </td></tr>
<tr><td><font color="<? echo"$fout_text_naam"; ?>">Naam:</font></td><td><input type="text" class="<? echo $fout_vakje_naam; ?>" name="naam" maxlength="20" value="<? echo"$naam"; ?>"></td></tr>
<tr><td><font color="<? echo"$fout_text_email"; ?>">Email:</font></td><td><input type="text" class="<? echo $fout_vakje_email; ?>" name="email" maxlength="30" value="<? echo"$email"; ?>"></td></tr>
<tr><td><font color="<? echo"$fout_text_onderwerp"; ?>">Onderwerp:</font></td><td><input type="text" class="<? echo $fout_vakje_onderwerp; ?>" name="onderwerp" maxlength="30" value="<? echo"$onderwerp"; ?>">
<input name="bijlage" type="file">
</td>
</tr>
<tr><td valign=top><font color="<? echo"$fout_text_bericht"; ?>">Bericht:</font></td><td><textarea name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="30" rows="4"><? echo"$bericht"; ?></textarea></td></tr>
<tr><td></td><td><input type="submit" name="verzenden" value="Verzenden">
<input type="reset" name="reset" value="Reset"></td></tr>
</table>
</from>

<?
}
?>
Hehe lijp iemand probeerd mn script uit te breiden :P
@ Jonathan ik ga dr zelf wel even naar kijke
Okeey thijs, dat is mooi! Kvind het namelijk een erg handig mooi scriptje en makkelijk uit te breiden. behalve dat bijlage gedeelte daar snap ik nie veel van:S
Gaat het denkje lukken thijs? of kan iemand anders thijs en mij opweg helpen? ;)
Ik heb het even geprobeerd maar het is me niet egt glukt :Ss
mm jammer, toch bedankt;)
is er iemand anders die me op weg kan helpen? Kom er niet uit.
Ik heb zoiets simpels gemaakt. Misschien dat je er iets aan hebt:

Plaats deze 2 scripts in een map, en maak in dezelfde map een mapje genaamd upload waarin de webserver mag scrijven.


<?php
# FILENAME: upload.php
# Hierin word alleen een formulier gemaakt.

echo "<H3>Een bestand uploaden</H3>\n";

/* Vooral deze regel is belangrijk en staat niet in jouw script!:

echo "<form action='upload2.php' method='post' enctype='multipart/form-data'>\n";
*/
echo "<form action='upload2.php' method='post' enctype='multipart/form-data'>\n";
echo "Bestand:<input type='file' name='file'><br />\n";
echo "Bestandsnaam:<input type='text' name='filename'><br />\n";
echo "<input type='submit' name='submit' value='Upload'>\n";
echo "</form>\n";
?>
-----------------------------------------

<?php
# FILENAME: upload2.php
# Hierin word het bestand verwerkt.

# Ja, is handiger om $_POST te gebruiken, maar moet dan even uitzoeken hoe ik de file er dan doorkrijg.

if (ISSET($file) && ISSET($submit) && ($filename != '')
{

# Gebruik deze gegevens om te controleren of de data goed doorkomt!
# echo "FILE: $file <br />\n";
# echo "FILENAME: $filename <br />\n";


# Verplaats het bestand naar de map 'upload' in de map waarin ook deze scripts staan!
if (copy($file, "upload/".$filename))
{
# Als ok.
echo "Bestand $filename bewaard.<br />\n";
} else {
# Als fout. (Check error_log).
echo "Er is een probleem opgereden.<br />\n";
}

} else {
echo "De gegevens waren niet compleet, probeer opnieuw.<br />\n";
}

?>
Dat is een upload script jim.
Het gaat over een bestand als bijlage emailen, niet een bestand uploaden..

Reageren