Email Form in Simpel HTML

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
Hallo,

Ik ben echt een noob als het gaat om PHP.
Dus ik heb even een vraagje voor de experts

Ik heb een doodsimpele website gemaakt, volledig in HTML.
Gewos geslon simpel, via fireworks een layout gemaakt, gesliced en geexporteerd

Nou wil ik daar een email form in zetten.
Dus een x aantal textvelden, en dan een verzend knop waardoor hij het naar mijn email adres stuurt.

Ik heb google afgestruind, tien-tallen forms gevonden, maar niks krijg ik werkend.

Wie kan even een super-noob uitleg maken voor mij ?

Alvast onwijs bedankt

MVG Sander,

gewoon nee.


Acties:
  • 0 Henk 'm!

  • Geerrrt
  • Registratie: Juli 2008
  • Laatst online: 18-09 13:00
Dit is niet mogelijk in alleen html, dit zal in combinatie met PHP/ASP/Dergelijken moeten..

Eury#2434


Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
Dat snap ik, maar een stukje PHP erbij, hoe ga ik dat doen ? :)
In noob taal ? :P

gewoon nee.


Acties:
  • 0 Henk 'm!

  • bartbh
  • Registratie: Maart 2004
  • Niet online
Wat je wel kunt doen is de action laten verwijzen naar je emailadres:
code:
1
<form action="mailto:mail@domein.tld" method="POST">


Echter moet de persoon die het formulier wil versturen wel Outlook/FireBird oid hebben geconfigureerd om een email te versturen. Dus dit is geen super oplossing.

[ Voor 7% gewijzigd door bartbh op 16-06-2009 16:29 ]


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
HTML is, zoals de afkorting al zegt, een Markup Language.
Hiermee wordt dus alleen de structuur en inhoud van de pagina vastgelegd.
In HTML is het dus niet mogelijk om "actieve" acties te ondernemen, zoals het versturen van een e-mail, het plaatsen van een reactie of het uploaden van een foto, bijvoorbeeld.

Hiervoor zul je dus echt moeten grijpen naar talen als PHP of ASP zoals GeertJam al zegt, dat zijn namelijk wel script-talen.
Edit: wil je dus met php aan de slag:
[google=send mail php]
Succes! :)

[ Voor 7% gewijzigd door HyperioN op 16-06-2009 16:31 ]


Acties:
  • 0 Henk 'm!

  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 15:41
GeertJam schreef op dinsdag 16 juni 2009 @ 16:26:
Dit is niet mogelijk in alleen html, dit zal in combinatie met PHP/ASP/Dergelijken moeten..
Of je zult gebruik moeten maken van een externe service zoals bijvoorbeeld emailmeform.com (1e hit Google).

Is het probleem trouwens het formulier maken of het versturen?

[ Voor 24% gewijzigd door Miyamoto op 16-06-2009 16:31 . Reden: Quote toegevoegd, want ik was weer te laat... ]


Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

bartbh heeft gelijk, op die manier kan je formulieren mailen zonder met scripts aan de gang te gaan. Echter, je krijgt alles dan wel op 1 regel binnen. Mooi is anders, maar het *kan* wel.

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Een van de eerste hits op google: http://www.buildwebsite4u.com/advanced/php.shtml

En zo zijn er tig, ook Nederlandstalig.

Acties:
  • 0 Henk 'm!

  • The Flow
  • Registratie: Mei 2004
  • Laatst online: 19-04-2024

The Flow

I am the greatest

sorry maar je hebt totaal niet gezocht..
1e hit! de oplossing!

God is in de war, hij denkt dat hij The Flow is...


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
The Flow schreef op dinsdag 16 juni 2009 @ 16:33:
sorry maar je hebt totaal niet gezocht..
1e hit! de oplossing!
Die oplossing is al gegeven maar niet ideaal. De user moet dan namelijk een emailclient geconfigureerd hebben en dat heeft niet iedereen (ik bijvoorbeeld, maak alleen gebruik van webmail-diensten). Staat trouwens ook in de pagina waarnaar je linkt: "Dit formulier is uitsluitend ter illustratie, in de praktijk wordt het nauwelijks meer ondersteund."

Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
Ik heb wel degelijk gezocht, alleen ik zeg dus ( als je goed leest ) dat ik tientallen forms heb geprobeerd maar niks werkend krijg.
Dat is momenteel het probleem.

Ik snap alleen niet, kan ik dan gewoon simpel in HTML een invul formulier maken, en dat laten versturen dmv een php bestand ?
Moet ik dat php bestand gewoon in dezelfde map plakken ?

gewoon nee.


Acties:
  • 0 Henk 'm!

  • r0b
  • Registratie: December 2002
  • Laatst online: 15-09 07:35

r0b

SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:36:
Ik heb wel degelijk gezocht, alleen ik zeg dus ( als je goed leest ) dat ik tientallen forms heb geprobeerd maar niks werkend krijg.
Dat is momenteel het probleem.

Ik snap alleen niet, kan ik dan gewoon simpel in HTML een invul formulier maken, en dat laten versturen dmv een php bestand ?
Moet ik dat php bestand gewoon in dezelfde map plakken ?
Je maakt een formulier in HTML met een form action naar een los php bestand.
Dit bestand moet lokaal staan, de map maakt niet zoveel uit, maar het is slim om dit in dezelfde map te zetten.
Verder heb je in deze HTML de formulier opties. option list / textarea, etc. Deze hebben een name en value.

Nu zal dus wanneer een bezoeker de submit knop indrukt de form action uitgevoerd. m.a.w, het PHP bestand wordt aangeroept.
Als in de HTML de form method op POST staat zal je in het PHP bestand de gegevens uit het formulier kunnen aanroepen via $_POST['naamvanhetstukje formulier'], en dit vervolgens verwerken (opslaan, mailen, etc..)

Je zal deze twee dus op elkaar moeten afstemmen; dat je HTML dezelfde form names gebruikt als je PHP bestand probeert te verwerken.

Overigens is het slim om wel even rekening te houden met 1) spammers, 2) cross-site-scripting (alle input in het html formulier moet gecheckt en eventueel ge-escaped worden)

Zeer basic voorbeeld, van deze site. Let op dat deze geen van beide bovenstaande doet (spam/xss checking)
HTML:
1
2
3
4
5
6
7
<form method="post" action="sendmail.php">
  Email: <input name="email" type="text" /><br />
  Message:<br />
  <textarea name="message" rows="15" cols="40">
  </textarea><br />
  <input type="submit" />
</form>


PHP:
1
2
3
4
5
6
7
8
<?php
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "yourname@example.com", "Feedback Form Results",
    $message, "From: $email" );
  header( "Location: http://www.example.com/thankyou.html" );
?>

[ Voor 19% gewijzigd door r0b op 16-06-2009 16:46 ]


Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
HyperioN schreef op dinsdag 16 juni 2009 @ 16:36:
[...]

Die oplossing is al gegeven maar niet ideaal. De user moet dan namelijk een emailclient geconfigureerd hebben en dat heeft niet iedereen (ik bijvoorbeeld, maak alleen gebruik van webmail-diensten). Staat trouwens ook in de pagina waarnaar je linkt: "Dit formulier is uitsluitend ter illustratie, in de praktijk wordt het nauwelijks meer ondersteund."
Dit had ik ook gevonden inderdaad :)
Toch bedankt,

Maar ik heb nu een email form deels werkend.
Ik heb het volgende in mijn HTML code :
<form action="mail.php" method="POST">
<b>Email</b><br>
<input type="text" name="email" size=40>
<p><b>Subject</b><br>
<input type="text" name="subject" size=40>
<p><b>Message</b><br>
<textarea cols=40 rows=10 name="message"></textarea>
<p><input type="submit" value=" Send ">
</form>
En dan een bestandje mail.php :
<html>
<head><title>PHP Mail Sender</title></head>
<body>
<?php

/* All form fields are automatically passed to the PHP script through the array $HTTP_POST_VARS. */
$email = $HTTP_POST_VARS['email'];
$subject = $HTTP_POST_VARS['subject'];
$message = $HTTP_POST_VARS['message'];

/* PHP form validation: the script checks that the Email field contains a valid email address and the Subject field isn't empty. preg_match performs a regular expression match. It's a very powerful PHP function to validate form fields and other strings - see PHP manual for details. */
if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {
echo "<h4>Invalid email address</h4>";
echo "<a href='javascript:history.back(1);'>Back</a>";
} elseif ($subject == "") {
echo "<h4>No subject</h4>";
echo "<a href='javascript:history.back(1);'>Back</a>";
}

/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */
elseif (mail($email,$subject,$message)) {
echo "<h4>Thank you for sending email</h4>";
} else {
echo "<h4>Can't send email to $email</h4>";
}
?>
</body>
</html>
Kan dit goed zijn ?

EDIT :
r0b schreef op dinsdag 16 juni 2009 @ 16:44:
[...]

Je maakt een formulier in HTML met een form action naar een los php bestand.
Dit bestand moet lokaal staan, de map maakt niet zoveel uit, maar het is slim om dit in dezelfde map te zetten.
Verder heb je in deze HTML de formulier opties. option list / textarea, etc. Deze hebben een name en value.

Nu zal dus wanneer een bezoeker de submit knop indrukt de form action uitgevoerd. m.a.w, het PHP bestand wordt aangeroept.
Als in de HTML de form method op POST staat zal je in het PHP bestand de gegevens uit het formulier kunnen aanroepen via $_POST['naamvanhetstukje formulier'], en dit vervolgens verwerken (opslaan, mailen, etc..)

Je zal deze twee dus op elkaar moeten afstemmen; dat je HTML dezelfde form names gebruikt als je PHP bestand probeert te verwerken.

Overigens is het slim om wel even rekening te houden met 1) spammers, 2) cross-site-scripting (alle input in het html formulier moet gecheckt en eventueel ge-escaped worden)
Oke dit heb ik dus nu gedaan :) bedankt :) !!

Alleen locaal krijg ik fouten, ik denk dat dat dus komt omdat mijn pc die PHP niet ondersteunt ?
Dat heb ik ergens gelezen, kan dat kloppen

Nog een EDIT :

Ik heb het werkend :)
Alleen, dom als ik ben, kan ik gewoon niet vinden waar mijn email adres moet worden ingegeven :P
Iemand een idee ?

[ Voor 24% gewijzigd door Bloemstukje op 16-06-2009 16:47 ]

gewoon nee.


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:44:
[...]


Dit had ik ook gevonden inderdaad :)
Toch bedankt,

Maar ik heb nu een email form deels werkend.
Ik heb het volgende in mijn HTML code :

[...]

En dan een bestandje mail.php :

[...]


Kan dit goed zijn ?
Ja dit lijkt op het eerste gezicht prima. Zet je code trouwens even in code-tags in plaats van quote-tags, dat leest gemakkelijker.
Ik zou zeggen probeer deze oplossing, maar probeer ook de code te lezen en te begrijpen wat er gebeurt, dan leer je er wat van zodat je het de volgende keer zelf kunt!

Acties:
  • 0 Henk 'm!

  • r0b
  • Registratie: December 2002
  • Laatst online: 15-09 07:35

r0b

SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:44:
[...]


Oke dit heb ik dus nu gedaan :) bedankt :) !!

Alleen locaal krijg ik fouten, ik denk dat dat dus komt omdat mijn pc die PHP niet ondersteunt ?
Dat heb ik ergens gelezen, kan dat kloppen
Wat voor fouten? Als je het .php bestand probeert op te vragen krijg je hem geserverveerd als downloadbaar bestand? Dat kan inderdaad betekenen dat je apache installatie niet met PHP overweg kan; XAMPP is hier een uitkomst. :)
(Is een volledig pakket met Apache/PHP/MySQL/FileZilla)

[ Voor 78% gewijzigd door r0b op 16-06-2009 16:51 ]


Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
Bedankt voor je goeie hulp :) !
Ik zal de volgende keer even in code tags zetten :)
Ik kan alleen niet vinden, dom als ik ben, waar ik mijn email adres in moet vullen in het PHP scriptje ?
Heb je misschien een idee ?

gewoon nee.


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:44:
Alleen locaal krijg ik fouten, ik denk dat dat dus komt omdat mijn pc die PHP niet ondersteunt ?
Dat heb ik ergens gelezen, kan dat kloppen
Dat kan kloppen. Je moet daarvoor een webserver (bv. Apache) en PHP hebben geinstalleerd. Een beetje vergelijkbaar met wanneer je geen .doc bestand kan openen als je geen Word/OpenOffice hebt geinstalleerd.

Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
De fout met de lokale fouten zijn opgelost :)
Heb het geupload naar mijn server en dat werkt nu allemaal :) !
Harstikke bedankt iedereen,
Nu dus nog even dat email adres zien in te vullen,.. (A)

gewoon nee.


Acties:
  • 0 Henk 'm!

  • ReseTTim
  • Registratie: Juni 2000
  • Laatst online: 16:23

ReseTTim

Chocolate addicted

SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:44:
Alleen locaal krijg ik fouten, ik denk dat dat dus komt omdat mijn pc die PHP niet ondersteunt ?
Dat heb ik ergens gelezen, kan dat kloppen

Nog een EDIT :

Ik heb het werkend :)
Alleen, dom als ik ben, kan ik gewoon niet vinden waar mijn email adres moet worden ingegeven :P
Iemand een idee ?
php is serverside.. dat wil zeggen dat je php alleen kan runnen als je een server hebt geinstalleerd zoals bijv. apache of iis oid.. kortom om het geheel te testen zou je het moeten uploaden op een server ;)

Mijn profiel - Te koop: Overzicht van spullen..


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:49:
De fout met de lokale fouten zijn opgelost :)
Heb het geupload naar mijn server en dat werkt nu allemaal :) !
Harstikke bedankt iedereen,
Nu dus nog even dat email adres zien in te vullen,.. (A)
Vooruit dan, nog één keer je handje vasthouden:
PHP:
1
2
/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */
elseif (mail("SanderPS3@host.com",$subject,$message)) {


En nu voor straf en ter eigen educatie deze hele pagina lezen!
http://nl3.php.net/manual/en/function.mail.php

[ Voor 9% gewijzigd door HyperioN op 16-06-2009 16:52 ]


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:48:
Bedankt voor je goeie hulp :) !
Ik zal de volgende keer even in code tags zetten :)
Ik kan alleen niet vinden, dom als ik ben, waar ik mijn email adres in moet vullen in het PHP scriptje ?
Heb je misschien een idee ?
Ja door de variabele email in te stellen. Dit zou ik bij voorkeur in het script doen, zoiets:
$email = "jouw@emailadres.nl"; ipv $email = $HTTP_POST_VARS['email'];

Acties:
  • 0 Henk 'm!

  • r0b
  • Registratie: December 2002
  • Laatst online: 15-09 07:35

r0b

offtopic:
Iedereen is vroeg vrij vandaag? :+
SanderPS3 schreef op dinsdag 16 juni 2009 @ 16:48:
Bedankt voor je goeie hulp :) !
Ik zal de volgende keer even in code tags zetten :)
Ik kan alleen niet vinden, dom als ik ben, waar ik mijn email adres in moet vullen in het PHP scriptje ?
Heb je misschien een idee ?
Het script dat jij net postte stuurt het naar de 'afzender'; dwz, het emailadres dat ingevuld is in het formulier.

Dit stukje:
PHP:
1
2
/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */
elseif (mail($email,$subject,$message)) {


Even veranderen naar:
PHP:
1
2
/* Sends the mail and outputs the "Thank you" string if the mail is successfully sent, or the error string otherwise. */
elseif (mail('jouwemail@bla.com',$subject,$message)) {

[ Voor 90% gewijzigd door r0b op 16-06-2009 16:52 ]


Acties:
  • 0 Henk 'm!

  • Geerrrt
  • Registratie: Juli 2008
  • Laatst online: 18-09 13:00
Verander:

$email = $HTTP_POST_VARS['email'];

in

$email = "email@domein.tld;

[ Voor 3% gewijzigd door Geerrrt op 16-06-2009 16:51 ]

Eury#2434


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
r0b schreef op dinsdag 16 juni 2009 @ 16:51:
offtopic:
Iedereen is vroeg vrij vandaag? :+
..een vriendelijker got toch? :D

Acties:
  • 0 Henk 'm!

  • Bloemstukje
  • Registratie: December 2008
  • Laatst online: 19-09 14:02
Haha, iedereen ontzettend bedankt voor mijn handje vasthouden.
Dit had ik precies nodig en het werkt :)

Nogmaals bedankt iedereen !!

gewoon nee.

Pagina: 1