Toon posts:

Formulier af, verzenden met PHP werktniet

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een simpel HTML formulier gemaakt en wil het met behulp van PHP naar mijn email verzenden, maar het werkt niet! Ik heb al 100 veranderingen aangebracht die mensen dachten dat wel zou helpen!
MAar het lukt niet! Wat is fout?!

<BODY BGCOLOR="#FFFFFF">

<?
$to = 'mijn@emailadres.nl'; // Jouw e-mail adres
$subject = 'Iemand stuurt je mail'; // Onderwerp van de mail

if (isset($_POST['submit']))
{
$message .= '------------------------------------<br>';
$message .= '<b>Naam:</b> ' . $_POST['name'] . '<br>';
$message .= '<b>E-mail:</b> ' . $_POST['mailadress'] . '<br>';
$message .= '<b>Status:</b> ' . $_POST['status'] . '<br>';
$message .= '<b>Man/Vrouw:</b> ' . $_POST['mofv'] . '<br>';
$message .= '<b>Age:</b> ' . $_POST['age'] . '<br>';
$message .= '<b>HTML:</b> ' . $_POST['html'] . '<br>';
$message .= '<b>Zegje:</b> ' . $_POST['html'] . '<br>';

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: naam <email@adres.nl>"; // van specificatie
$headers .= "Reply-To: $mailadress"; // als je wilt replyen
$headers .= "Return-To: $to"; // errors-fouten

mail($to, $subject, $message, $headers);

echo 'Het formulier is succesvol verstuurd.';
}
else
{
?>

<FORM>
Naam?<BR>
<INPUT TYPE='text' NAME='name'><P>

Mailadres?<BR>
<INPUT TYPE='text' NAME='mailadress'><P>

Hoe is het?<BR>
<INPUT TYPE='radio' NAME='status'
VALUE='goed' CHECKED>goed<BR>
<INPUT TYPE='radio' NAME='status'
VALUE='kanbeter'>Kan Beter<BR>
<INPUT TYPE='radio' NAME='status'
VALUE='Anders'>Anders: &nbsp &nbsp &nbsp<INPUT TYPE='text' NAME'Anders'><P>

Man of vrouw<BR>
<INPUT TYPE='radio' NAME='mofv'
VALUE='man' CHECKED>man<BR>
<INPUT TYPE='radio' NAME='mofv'
VALUE='vrouw'>vrouw<P>

leeftijd?<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='18tot30' CHECKED>18 tot 30<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='30tot50'>30 tot 50<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='ouder'>ouder<P>

weet je hoe html werkt?<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='Ja' CHECKED>Ja<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='nee'>Nee<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='beetje'>Een beetje<P>

Wil je nog wat zeggen?<BR>
<TEXTAREA NAME='zegje'
ROWS=5 COLS=50 WRAP='soft'></TEXTAREA><P>

<input type=submit value=verstuur name=submit>

</FORM>


<?php
}
?>


</BODY>


Hij moet het zo toch doen?!
Waarom doet hij het niet! :O
Help me!

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 25-05 19:01
Welke error geeft hij, dat zou al een aardig begin in de goeie richting voor ons zijn :).

Ook met [php]-tags behoud je de uitlijning van je code, wat het een pàk leesbaarder maakt dan het gebrouwsel dat er nu staat.

Skat! Skat! Skat!


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:59

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Error geven is wel handig, maar goed, zelf even getest en hij doet niks met de submit. Ook niet zo gek, want je vergeet haakjes te zetten bij de input tags en gods knows waar nog meer ;). Form tag moet ook een action en methode hebben.

Edit: Heel je form is gewoon gaar :)

Edit2:

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
72
73
74
75
76
77
78
79
80
81
<?
$to = 'mijn@emailadres.nl'; // Jouw e-mail adres
$subject = 'Iemand stuurt je mail'; // Onderwerp van de mail

if (isset($_POST['submit']))
{
$message .= '------------------------------------<br>';
$message .= '<b>Naam:</b> ' . $_POST['name'] . '<br>';
$message .= '<b>E-mail:</b> ' . $_POST['mailadress'] . '<br>';
$message .= '<b>Status:</b> ' . $_POST['status'] . '<br>';
$message .= '<b>Man/Vrouw:</b> ' . $_POST['mofv'] . '<br>'; 
$message .= '<b>Age:</b> ' . $_POST['age'] . '<br>';
$message .= '<b>HTML:</b> ' . $_POST['html'] . '<br>';
$message .= '<b>Zegje:</b> ' . $_POST['html'] . '<br>'; 

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: naam <email@adres.nl>"; // van specificatie
$headers .= "Reply-To: $mailadress"; // als je wilt replyen
$headers .= "Return-To: $to"; // errors-fouten

mail($to, $subject, $message, $headers); 

echo 'Het formulier is succesvol verstuurd.';
}
else
{
?>

<FORM action="<?php echo $_SERVER['PHP_SELF'] ?>"  method="post"> 
Naam?<BR>
<INPUT TYPE='text' NAME='name'><P>

Mailadres?<BR>
<INPUT TYPE='text' NAME='mailadress'><P>

Hoe is het?<BR>
<INPUT TYPE='radio' NAME='status' 
VALUE='goed' CHECKED>goed<BR>
<INPUT TYPE='radio' NAME='status'
VALUE='kanbeter'>Kan Beter<BR>
<INPUT TYPE='radio' NAME='status'
VALUE='Anders'>Anders: &nbsp &nbsp &nbsp<INPUT TYPE='text' NAME'Anders'><P>

Man of vrouw<BR>
<INPUT TYPE='radio' NAME='mofv'
VALUE='man' CHECKED>man<BR>
<INPUT TYPE='radio' NAME='mofv'
VALUE='vrouw'>vrouw<P>

leeftijd?<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='18tot30' CHECKED>18 tot 30<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='30tot50'>30 tot 50<BR>
<INPUT TYPE='radio' NAME='age'
VALUE='ouder'>ouder<P>

weet je hoe html werkt?<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='Ja' CHECKED>Ja<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='nee'>Nee<BR>
<INPUT TYPE='radio' NAME='hml'
VALUE='beetje'>Een beetje<P>

Wil je nog wat zeggen?<BR>
<TEXTAREA NAME='zegje'
ROWS=5 COLS=50 WRAP='soft'></TEXTAREA><P>

<input type="submit" value="verstuur" name="submit">

</FORM>


<?php
}
?>


</BODY>


Zo doet hij het, maar dat is dan ook alles. Errors die voor kunnen komen worden niet gedekt en je HTML gebruik kan ook wel wat anders worden aangepakt, maar goed, dat mag je lekker zelf doen :P

[ Voor 130% gewijzigd door We Are Borg op 30-11-2003 17:44 ]


  • phYzar
  • Registratie: November 2001
  • Laatst online: 22:39
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">

zoiets misschien?

[edit]
(er staan allemaal <p> tags in je form, die staan zo niet erg netjes zonder afsluiting)

[edit2]
Uitlijnen met spaties? Tabelletje misschien?

[edit3]
Niet echt consistent aanhalingstekensgebruik ook :P

[ Voor 117% gewijzigd door phYzar op 30-11-2003 17:48 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Je script is ook al gaar...

Je hebt 2x #_POST["html"].. Die laatste moet "zegje" zijn ofz...

Plus bij de headers ben je goed begonnen met \r\n aan het einde, maar na 2x heb je daar ook geen zin meer in? :?

Kortom, 't is nogal bagger in totaal, dus vind ik het niet zo gek dat het niet werkt :)

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

De action parameter van de form tag heeft als default de pagina zelf. GET is echter de default methode, dus ik denk dat method="POST" alleen al genoeg zou zijn als toevoeging aan de form tag.

Wie trösten wir uns, die Mörder aller Mörder?


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 21:59

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
phYzar schreef op 30 november 2003 @ 17:43:
(er staan allemaal <p> tags in je form, die staan zo niet erg netjes zonder afsluiting)

[edit2]
Uitlijnen met spaties? Tabelletje misschien?
- Uppercase tags
- Uitlijnen met spaties
- Tags niet afsluiten
- Php geen errors opvangen
- Quote gebruik
- CSS is een onbekend woord denk ik

We kunnen nog wel even doorgaan ;)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Mjah een grote pot debug- en manualwerk dus :)

En ook voor je eerste topic is het handig als je P&W FAQ - De "quickstart" even aanhoudt: wat je nu doet is je code hier neerplempen met een grote 'hijdoetutnie' erbij, en dan mogen wij maar raden wat het probleem is. En needless to say hebben we wel betere dingen te doen dan lappen onleesbare code doorspeuren naar het probleem (alhoewel er hier zo te zien veel mensen zich op zondag echt vervelen :P )

In ieder geval is dit niet de bedoeling van een topic in P&W, en met de gegeven hints moet je heel ver kunnen komen. Dicht :P

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.