Mailto script

Status
Niet open voor verdere reacties.

Sjan1959

Gebruiker
Lid geworden
17 aug 2010
Berichten
20
Ik ben met een cursus webdesigner bezig van NHA.
Mooie cursus en ik ben op de helft maar nu lukt het me niet.
Ik zit bij One Com.
Maar ik krijg maar steeds niet mijn contactformulier in werking.
Als ik op versturen klik komt er geen mailtje.

Wat heb ik verkeerd staan in het form gedeelte bovenaan?

Dit formulier is een opgave hoor...komt niet op mijn website;)

<html>
<head>
<title>Milieuklachten</title>
</head>
<body>


<form method="post" action="http://www.sjanhaarpspfrutsels.nl/cursus/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="info@sjanhaarpspfrutsels.nl" />





<h1>Milieuklachten Formulier Provincie</h1>
<table width="100%">
<tr>
<td>naam</td>
<td><input maxlength="20" name="naam" size="30" type="text"></td>
</tr>
<tr>
<td>adres</td>
<td><input maxlength="30" name="adres" size="30" type="text" /></td>
</tr>
<tr>
<td>postcode en woonplaats</td>
<td><input maxlength="7" name="postcode" size="7" type="text" >
<input maxlength="18" name="plaats" size="18" type="text" /></td>
</tr>
<tr>
<td>Wilt U geïnformeerd worden over de afhandelink?</td>
<td><input name="info" type="radio" value="ja" checked>Ja
<input name="info" type="radio" value="nee">Nee</td>
</tr>
<tr>
<th colspan="2">Algemene gegevens locatie van de klacht</th>
</tr>
<tr>
<td>Klacht wordt toegeschreven aan:</td>
<td><input type="text" name="toeschrijven" size="30" maxlength="30"></td>
</tr>
<tr>
<td>Locatie van de klacht:</td>
<td><input maxlength="30" name="locatie" size="30" type="text"</td>
</tr>
<tr>
<td>Datum:</td>
<td><input maxlength="30" name="datum" size="30" type="text"</td>
</tr>
<tr>
<td>Continu overlast</td>
<td><input name="continu" type="radio" value="ja">Ja
<input name="continu" type="radio" value="nee" checked>Nee</td>
</tr>
<tr>
<td colspan="2">Indien nee, geef dan bij opmerking aan waar U de overlast heeft waargenomen.<td>
</tr>
<tr>
<td colspan="2">
<textarea cols="72" rows="6" name="opmerking">Opmerkingen:
</textarea></td>
</tr>
<tr>
<td>
<input type="reset" value="velden leegmaken">
</td>
<td>
<input type="submit" value="informatie verzenden">
</td>
</tr>
</table>
</form>

</body>
</html>

Groet Sjan
 
je hebt wel een php nodig om het te versturen, die link je dan in je html.
 
Mjah....ik weet er niks van.
Kan redelijk al uit de voeten met html.
Maar hier snap ik nog geen hout van.
Volgens het boek moet ik dit erop zetten op het formulier.

<form action="/cgi/formmail" method="post">
<input type="hidden" name="recipient" value="info@sjanhaarpspfrutsels.nl" />

Maar ik krijg inderdaad als ik hem verstuur ook een foutmelding:(
 
Dit geeft One Com aan als ik zoek.

Voorbeeld script FormMail
<FORM method="post" action="http://www.uw-domein.nl/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="e-mail@uw-domein.nl">
<input type="hidden" name="subject" value="U kunt hier het onderwerp ingeven">
<input type="hidden" name="redirect" value="http://www.uw-domein/nieuwepagina.html">
</form>
 
HTML:
<form action="contact.php" method="post">
		  <p>&nbsp;</p>
		  <table width="640" border="0" cellspacing="2" cellpadding="0">
		    <tr>
		      <td>Naam</td>
		      <td><input type="text" name="name" value="" size="30" /></td>
	        </tr>
		    <tr>
		      <td>Email adres</td>
		      <td><input type="text" name="email" value="" size="30"/></td>
	        </tr>
		    <tr>
		      <td valign="top">Opmerking</td>
		      <td><textarea rows="5" cols="40" name="comments"></textarea></td>
	        </tr>
		    <tr>
		      <td>&nbsp;</td>
		      <td><input type="submit" value="Verzend!" /></td>
	        </tr>
</table>
	</form>

dit is mijn html code voor het form. dit zorgt voor hoe het er uit ziet. verder heb je nog een .php bestand nodig. hier beneden zie je een voorbeeld die bij het html bestand hoort:

PHP:
<?php
if(isset($_POST['email'])) {
	
	// EDIT THE 2 LINES BELOW AS REQUIRED
	$email_to = "HIER JOU EMAIL ADRES!!!!";
	$email_subject = "Kontakt pagina ingevuld";
	
	
	function died($error) {
		// your error code can go here
		echo "Er is helaas een fout opgetreden. ";
		echo "Sorry voor het ongemak.<br /><br />";
		echo $error."<br /><br />";
		echo "Ga terug om het op te lossen.<br /><br />";
		die();
	}
	
	// validation expected data exists
	if(!isset($_POST['name']) ||
		!isset($_POST['email']) ||
		!isset($_POST['comments'])) {
		died('Er is een fout opgetreden!');		
	}
	
	$name = $_POST['name']; // required
	$email_from = $_POST['email']; // required
	$comments = $_POST['comments']; // required
	
	$error_message = "";
	$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!eregi($email_exp,$email_from)) {
  	$error_message .= 'Voer een geldig email adres in.<br />';
  }
	$string_exp = "^[a-z .'-]+$";
  if(!eregi($string_exp,$name)) {
  	$error_message .= 'Voer een geldige naam in.<br />';
  }
  if(strlen($comments) < 2) {
  	$error_message .= 'Voer een geldige opmerking in.<br />';
  }
  if(strlen($error_message) > 0) {
  	died($error_message);
  }
	$email_message = "het kontakt formulier is ingevuld:\n\n";
	
	function clean_string($string) {
	  $bad = array("content-type","bcc:","to:","cc:","href");
	  return str_replace($bad,"",$string);
	}
	
	$email_message .= "Name: ".clean_string($name)."\n";
	$email_message .= "Email: ".clean_string($email_from)."\n";
	$email_message .= "Comments: ".clean_string($comments)."\n";
	
	
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  ;}
?>
<html>
<head>
</head>
<body>
Bedankt!
</body>
</html>

Let dus op dat je bij de html bij action *****.php zet. dan linkt hij dus de html en de php
 
Laatst bewerkt:
Oké...en hoe zet ik dat dan neer en waar....die php bedoel ik
Het formulier is nu even index maar moet in de html map denk ik...toch?
En waar moet dan de php
 
als je de site hebt zeg maar, dan heb je de index.html in dit geval. daar staat de html coda in die ik heb gepost. dan verander je bij action boven in de naam van het .php bestand die ik gepost hebt. voor de handigheid kan je die opstaan als contact.php dan hoef je niks te veranderen in de html. die zet je in de zelfde map als de html. dan vind die hem van zelf.
 
okee, laat hier maar horen of het is gelukt.

en vergeet neit je mail adres te veranderen waar ''HIER JOU EMAIL ADRES!!!!'' staat.

laat wel die '' staan.
 
Het werkt MrHook....nogmaals mijn dank.
Als ik nog vragen heb zie je me weer wel:D
 
Graag gedaan,

laat maar wat van je horen als er iets niet lukt.

gr,
 
Ik heb hem nu met jou formuliertje in werking.
Ga hem morgen ombouwen naar mijn eigen opdracht.
Je gaat van me horen:D
 
:rolleyes:Nah...snap het nog steeds niet
Met jou formulier doet hij het wel maar als ik dus mijn formulier gebruik en kopieer in jou formulier doet hij het dus niet.
Snap niet wat ik verkeerd doe helaas.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>contact21/1</title>
</head>
<body>
<form action="contact.php" method="post">
<p>&nbsp;</p>
<h1>Milieuklachten Formulier Provincie</h1>
<table width="100%">
<tr>
<td>naam</td>
<td><input maxlength="20" name="naam" size="30" type="text"></td>
</tr>
<tr>
<td>adres</td>
<td><input maxlength="30" name="adres" size="30" type="text" /></td>
</tr>
<tr>
<td>postcode en woonplaats</td>
<td><input maxlength="7" name="postcode" size="7" type="text" >
<input maxlength="18" name="plaats" size="18" type="text" /></td>
</tr>
<tr>
<td>Wilt U geïnformeerd worden over de afhandelink?</td>
<td><input name="info" type="radio" value="ja" checked>Ja
<input name="info" type="radio" value="nee">Nee</td>
</tr>
<tr>
<th colspan="2">Algemene gegevens locatie van de klacht</th>
</tr>
<tr>
<td>Klacht wordt toegeschreven aan:</td>
<td><input type="text" name="toeschrijven" size="30" maxlength="30"></td>
</tr>
<tr>
<td>Locatie van de klacht:</td>
<td><input maxlength="30" name="locatie" size="30" type="text"</td>
</tr>
<tr>
<td>Datum:</td>
<td><input maxlength="30" name="datum" size="30" type="text"</td>
</tr>
<tr>
<td>Continu overlast</td>
<td><input name="continu" type="radio" value="ja">Ja
<input name="continu" type="radio" value="nee" checked>Nee</td>
</tr>
<tr>
<td colspan="2">Indien nee, geef dan bij opmerking aan waar U de overlast heeft waargenomen.<td>
</tr>
<tr>
<td colspan="2">
<textarea cols="72" rows="6" name="opmerking">Opmerkingen:
</textarea></td>
</tr>
<tr>
<td>
<input type="reset" value="velden leegmaken">
</td>
<td>
<input type="submit" value="informatie verzenden">
</td>
</tr>
</table>
</form>

</body>
</html>
 
Je hebt geen veld met naam "email" in je formulier, terwijl het script daar op controleert. Je kan dus of zo'n veld toevoegen of in het PHP-script de regel
PHP:
if(isset($_POST['email'])) {
veranderen in
PHP:
if ($_SERVER['REQUEST_METHOD'] == "POST") {

Overigens hoop ik niet dat je cursus je aanraadt om het transitional doctype te gebruiken en je tables laat gebruiken voor de opmaak.
 
Ga ik straks proberen...thanks.
Ik heb een cursus van NHA.
Ben op de helft en tot op heden gaat het super...alleen nu struikel ik pfff.
En geloof maar niet dat je uitleg krijgt hahahaa.

Ze werken wel veel in frames....maar voor de rest weet ik niet echt wat je bedoelt met tables.
Ik werk wel in html kit inderdaad...daar werken hun mee.
Heb er wel dreamweaver naast hoor;)
Alleen weet ik daar ook nog niet zo heel goed mee te werken.

Gr. Sjan
 
Lukt dus ook niet.
Ik heb wel antwoord van One Com.
Dit is wat ik moet doen, maar snap ik dus ook niet veel van.

U dient de andere zaken als uwdomein.nl natuurlijk ook aan te passen:

Hiervoor moet ons script gebruikt worden

Om het u te vergemakkelijken hebben we een tool ontwikkeld om dit script
aan te maken:

http://one-docs.com/tools/formmailgen/

Allereerst dient u de Basic Settings in te vullen

Daarna kunt u formulier-velden plaatsen, via Çhoose element to insert'.

Houdt u hierbij rekening met het volgende:
- Gebruik 'Name Field'precies n keer - deze wordt gebruikt door het
e-mailscript

- Gebruik É-mail Field'precies n keer - deze wordt gebruikt door het
e-mailscript

- Wanneer u extra velden toevoegt, gebruikt u dan n van de andere opties
in de lijst. Ínput field'is het meest simpele veld

- Let op dat u steeds alle nieuwe tekstvakken rechts in beeld invult
- Voor 'Name'en 'Value'moet altijd een unieke en duidelijke waarde
worden gekozen - dit is de info die u via de mail krijgt te zien
- Wat u bij 'Text'invult, wordt zichbaar voor de bezoekers van uw
site
- Door 'Require?'aan te vinken, wordt dat veld verplicht. Doe dit in
ieder geval voor -Name field- en -E-mail field-

- U kunt met de pijltjestoetsen de volgorde van de formuliervelden
wijzigen

LET OP: gebruikt u als 'recipient'wel een e-mail dat aan uw domein is
gekoppeld. Dus: bijvoorbeeld bij het domein úwdomein.nl'een eerder
aangemaakt e-mailadres als bijvoorbeeld ík@uwdomein.nl'.

Via onderstaande links vindt u meer informatie over meer geavanceerde
formmail mogelijkheden:

http://www.hotscripts.com/PHP/Scripts_and_Programs/Form_Processors/index
.html
http://www.scriptarchive.com/readme/formmail.html
http://www.naarvoren.nl/artikel/formulieren/
 
Hallo.
Ik ben eruit hoor...al is het via een omweg.
Maar daar kwam mijn leraar mee....mocht ook via mijnmailform.nl
Later komt php nog in het boek dus dan zal het wel beter gaan lukken.
Bedankt voor jullie meedenken en tot een volgend probleem:D

Groetjes Sjan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan