Mailformulier werkt niet
Ik heb een mailscriptje gemaakt maar hij werkt niet.
Het is ook de eerste script. Maar zou iemand mij kunnen helpen?
Want ik snap er niks meer van. Al van alles geprobeerd maar het word me alleen maar onduidelijker.
Url: http://www.huisturf.nl/test/mail.php
Dit is hem:
<form action="http://www.huisturf.nl/test/mail.php" method="POST">
<p><font color="#808080">Mijn naam is:<BR>
<INPUT TYPE="text" NAME="naam" SIZE=30>
</font>
</p>
<P>
<font color="#808080">Ik ben:<BR>
<INPUT TYPE="radio" NAME="geslacht" VALUE="man"> man<BR>
<INPUT TYPE="radio" NAME="geslacht" VALUE="vrouw"> vrouw
</font>
<P>
<font color="#808080">Mijn e-mailadres is:<BR>
<INPUT TYPE="text" NAME="email" SIZE=30>
(moet geldig zijn)</font><P>
<font color="#808080">Mijn foto:<BR>
<input type="file" name="image" class="formfield" size="30">
(Zorg dat je de foto je eigen naam noemt.)</font><P>
<font color="#808080">Mijn leeftijd is:<BR>
<SELECT NAME="Leeftijd">
<OPTION VALUE="14 of jonger">14 of jonger
<OPTION VALUE="14">14
<OPTION VALUE="15">15
<OPTION VALUE="16">16
<OPTION VALUE="17">17
<OPTION VALUE="18">18
<OPTION VALUE="19">19
<OPTION VALUE="20">20
<OPTION VALUE="21">21
<OPTION VALUE="22">22
<OPTION VALUE="23">23
<OPTION VALUE="24">24
<OPTION VALUE="25">25
<OPTION VALUE="26">26
<OPTION VALUE="27">27
<OPTION VALUE="28">28
<OPTION VALUE="29">29
<OPTION VALUE="30 of ouder">30 of ouder
</SELECT>
</font>
<P>
<font color="#808080">Extra info over mijzelf:<BR>
<TEXTAREA COLS=30 ROWS=10 NAME="Beschrijving" WRAP=VIRTUAL>Geef hier in het korte beschrijving over jezelf.
Deze zal te zien zijn onder de foto.</TEXTAREA>
</font>
<P>
<font color="#808080">
<INPUT TYPE="submit" VALUE=" verzenden "></form>
moeten afgesloten woorden. Verder zou ik bij action niet de hele url plaatsen maar alleen 'mail.php' en daarna zal je het moeten opvangen met php.
Ik heb het script aangepast maar hij doet het nog steeds niet :(
Maar wat bedoel je met "daarna zal je het moeten opvangen met php."
Groeten,
Kees van Dijk
Je script bestaat nu alleen uit html. Als je op verzenden klikt gebeurt er niks, Dan zal je doormiddel van php-code de gegevens uit het formulier moeten uitlezen en daar wat mee doen.
Als het goed is zie je dan je naam. Zo weet je ook meteen hoe je de variabelen uit kan lezen.
Robert en Santhecrazy bedankt!!!
Mailen zal die nog steeds niet ;)
Sebastiaan:
Mailen zal die nog steeds niet ;)
Blijkbaar wel, vraag me niet hoe. (Postduif)
En deze werkt wel ;)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
//mail formulier voor bijlage
$email ='[email protected]';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//if file upload send with email as mixed
if(!empty($_FILES['file'])){
//check filesize
if($_FILES['file']['size'] < 1024*50){
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition: attachment\r\n";
//readfile
$fp = fopen($_FILES['file']['tmp_name'],'r');
$bestand = fread($fp,$_FILES['file']['size']);
fclose($fp);
//create body
//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $_POST['bericht'] ."\r\n";
//de leeftijd
$body.= $_POST['leeftijd'] ."\r\n";
//de geslacht
$body.= $_POST['geslacht'] ."\r\n";
//voorwaarden
$body.= $_POST['voorwaarden'] ."\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($bestand )) . "\r\n";
mail($email,$_POST['subject'],$body,$headers);
echo 'Email (Met een bijlage) is verzonden';
}else{
echo 'Bestands groote is te groot';
}
}else{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$bericht = $_POST['bericht'];
$leeftijd = $_POST['leeftijd'];
$geslacht = $_POST['geslacht'];
$voorwaarden = $_POST['voorwaarden'];
mail($email,$_POST['subject'],$bericht,$headers);
echo 'Email (Zonder een bijlage) is verzonden';
}
}else{
//mail formulier je moet zelf het fomullier maken
?>
//mail formulier voor bijlage
$email ='[email protected]';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//if file upload send with email as mixed
if(!empty($_FILES['file'])){
//check filesize
if($_FILES['file']['size'] < 1024*50){
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition: attachment\r\n";
//readfile
$fp = fopen($_FILES['file']['tmp_name'],'r');
$bestand = fread($fp,$_FILES['file']['size']);
fclose($fp);
//create body
//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $_POST['bericht'] ."\r\n";
//de leeftijd
$body.= $_POST['leeftijd'] ."\r\n";
//de geslacht
$body.= $_POST['geslacht'] ."\r\n";
//voorwaarden
$body.= $_POST['voorwaarden'] ."\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($bestand )) . "\r\n";
mail($email,$_POST['subject'],$body,$headers);
echo 'Email (Met een bijlage) is verzonden';
}else{
echo 'Bestands groote is te groot';
}
}else{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$bericht = $_POST['bericht'];
$leeftijd = $_POST['leeftijd'];
$geslacht = $_POST['geslacht'];
$voorwaarden = $_POST['voorwaarden'];
mail($email,$_POST['subject'],$bericht,$headers);
echo 'Email (Zonder een bijlage) is verzonden';
}
}else{
//mail formulier je moet zelf het fomullier maken
?>
<font face="Times New Roman" color="#808080" size="3">
<form action='' method='post' enctype='multipart/form-data'>
Naam:<br><input type='text' name='from'><br><br>
Email:<br><input type='text' name='email'><br><br>
Geslacht:<br><INPUT TYPE="radio" NAME="geslacht" CHECKED VALUE="Man">Man<INPUT TYPE="radio" NAME="geslacht" VALUE="Vrouw">Vrouw <br><br>
Onderwerp:<br><SELECT NAME="subject"><OPTION VALUE="Ik wil mee doen">Ik wil mee doen</option></SELECT> <br><br>
Bestand:<br><input type='file' name='file'><br><br>
Bericht:<br> <TEXTAREA NAME="bericht" ROWS="5" COLS="40">Vul hier verdere informatie over je in. Dit zal onder de foto te zien zijn.</TEXTAREA><br><br>
Mijn leeftijd is:<br><SELECT NAME="leeftijd"><OPTION VALUE="14 of jonger">14 of jonger</option> <OPTION VALUE="14">14</option> <OPTION VALUE="15">15</option> <OPTION VALUE="16">16</option> <OPTION VALUE="17">17</option> <OPTION VALUE="18">18</option><OPTION VALUE="19">19</option> <OPTION VALUE="20">20</option> <OPTION VALUE="21">21</option> <OPTION VALUE="22">22</option> <OPTION VALUE="23">23</option> OPTION VALUE="24">24</option> <OPTION VALUE="25">25</option> <OPTION VALUE="26">26</option> <OPTION VALUE="27">27</option> <OPTION VALUE="28">28</option> <OPTION VALUE="29">29</option> <OPTION VALUE="30 of ouder">30 of ouder</option></select> <br><br>
<INPUT TYPE="checkbox" NAME="voorwaarden" VALUE="checkbox_waarde1">Ja ik ga akkoord met de voorwaarden
<input type="submit"value="Verzenden">
</font>
Kees, ik ben blij dat het werkt, maar op deze manier zul je nooit PHP leren. Script kopieren, paar dingetjes aanpassen, en God zegene de greep. Zou je het niet veel leuker vinden je eigen creativiteit te gebruiken?
Ja heel graag,
alleen de tijd die heb ik niet :(
druk druk druk druk
kees:
haha.
Ja heel graag,
alleen de tijd die heb ik niet :(
druk druk druk druk
Ja heel graag,
alleen de tijd die heb ik niet :(
druk druk druk druk
Een mens heeft het net zo druk als hij het zelf maakt.
dan maak ik het me zelf te druk.
Jan:
op deze manier zul je nooit PHP leren. Script kopieren, paar dingetjes aanpassen, en God zegene de greep.
Zo ben ik ook begonnen. Eerst een script kopieren, aanpassen en uiteindelijk ga je vanzelf dingen schrijven.
je kunt ook een website aanspreken:
http://www.mycontactform.com
op deze website kun je alles naar je eigen smaak maken(kleur,...) registreren is noodzakelijk, en het is gratis !!! Je kan je laten omvormen tot premium user, maar dit is niet gratis...
Mijn contactform lukt hoor !!!
greetings