verzenden formulier

Status
Niet open voor verdere reacties.

Schul

Gebruiker
Lid geworden
14 jan 2006
Berichten
340
Op mijn website heb ik een formulier geplaatst met FrontPage 2003. Bij aanklikken van verzenden wil ik het direct verzonden hebben naar het mailto adres van mijn website.
Als ik nu op verzenden drukt komt er een venster met mededeling: na een oké komt er een leeg email die naar mijn web-email geadresseerd is, zonder de ingevulde gegevens van mijn site.

Wie kan mij zeggen wat ik verkeerd doe?

De formulier(een probeersel) zoals ik het geplaatst heb:

PHP:
<div style="position: absolute; width: 803px; height: 162px; z-index: 43; left: 23px; top: 5236px" id="layer24">
<form method="post" action="mailto:xxx@xxxxxxxx.nl">
<em>Vul je naam in:</em> <input type="text" size="20" maxlength="40" name="voornaam"><br>
<em>Wat voor kleur ogen heb je?</em><br>
<input type="radio" name="oogkleur" value="blauw">Blauw<br><input type="radio" name="oogkleur" value="bruin">Bruin<br>
<input type="radio" name="oogkleur" value="grijs">Grijs<br>
<input type="radio" name="oogkleur" value="groen">Groen<br>
<em>Draag je een bril?</em><br>
<input type="radio" name="bril" value="welbril">Ja<br>
<input type="radio" name="bril" value="geenbril">Nee<br>
<input type="submit" value="Verzenden"></p>
bvd Jan
 
Laatst bewerkt:
Gezien er geen enkel reactie is op mijn oproep blijkt het toch een lastige vraag te zijn.
Toch zit ik ermee.
Is er mischien een andere manier om een goed werkende formulier op de website te krijgen.
Of is er ergens een uitleg lezen of dergelijk, ik wil mij hier best in verdiepen, maar waar begin ik?
Ik weet een beetje hoe de HTML taal werkt en ben in staat Frontpage editor waar nodig te corrigeren.
Wie kan helpen?

Bij voorbaat dank. Jan
 
Is er iemand die het maken van formulieren in beheerst in Frontpage of anderzins ?
 
Je moet nooit mailto gebruiken in formulieren, het is beter om dit op de server te laten afhandelen, veel webhosters bieden deze faciliteit aan (even informeren), of je zoekt een gratis 'remotely hosted' oplossing.

Zie ook http://www.isolani.co.uk/articles/mailto.html

Hartelijk dank voor het antwoord. Als beginnende website bouwer kan ik hier niet mee uit de voeten.
Gebruik nooit Mailto hoe geef ik dan aan dat de gegevens (waarden) naar mijn mailadres moet worden verzonden?
Wat is een - 'remotely hosted' oplossing-
Mijn engels niet zo sterk om hele beschrijvingen te lezen. Op internet zijn genoeg site die vertellen hoe een formulier gemaakt kan worden maar nergens wordt verteld hoe deze formulier de gegevens kan verzenden.
Misschien kunt u een aanknopingspunt geven in deze duistere materie?
 
Als je mailto: gebruikt maak je gebruik van het mailprogramma van degene die het wil versturen, dit is niet betrouwbaar, omdat veel mensen (waaronder ik) alleen hun mail lezen via webmail, dan werkt het niet.

In plaats van action='mailto:' moet je hier een gewone url opgeven, bijvoorbeeld action='verstuurmail.php'. In het bestand verstuurmail.php moet dan het script staan die het formulier verwerkt.

Veel webhosters bieden standaard al zo'n script aan, maar daar moet je zelf even naar informeren.
Remotely hosted houdt kort gezegd in dat je het script van een andere website gebruikt, bij action komt dan iets te staan als action='http://www.site.nl/verstuurmail.php'. Een voorbeeld hiervan is http://www.response-o-matic.com
 
.........In plaats van action='mailto:' moet je hier een gewone url opgeven, bijvoorbeeld action='verstuurmail.php'. In het bestand verstuurmail.php moet dan het script staan die het formulier verwerkt.
Veel webhosters bieden standaard al zo'n script aan, maar daar moet je zelf even naar informeren.
Remotely hosted houdt kort gezegd in dat je het script van een andere website gebruikt, bij action komt dan iets te staan als action='http://www.site.nl/verstuurmail.php'. Een voorbeeld hiervan is http://www.response-o-matic.com

Ik ben blij er iemand is waaraan ik mij beginnersvragen kan stellen. Ik denk dat we nu over hetzelfde hebben.
Samengevat: U spreekt over - 'verstuurmail.php' - Dit is een script waarin mijn formulier komt te staan.
Om het helder te krijgen voordat ik bij mijn webhoster een script aanvraag. Wat is een - script - ? Ik heb er wel eens wat van gehoord maar heb er geen goed beeld bij.
Gestel ik krijg zo'n - script - . Hoe komt mijn formulier in die script, mijn formulier is opgenomen in een deel van een site? zie www.janschuling.nl .
Ik heb gisteren ook bij mijn host gevraagd om de manier om de formulier werkend te krijgen, onderstaand is een deel het antwoord van hem:

.......Het formmail script kunt u onder meer downloaden via: http://www.scriptarchive.com/formmail.html
In formmail.pl dient u met behulp van Kladblok de verwijzing naar "sendmail" aan te geven, waarna u het bestand kunt opslaan en uploaden.
Bij ons is de lokatie van sendmail: /usr/sbin/sendmail
Het uploaden van formmail.pl dient met FTP in ASCII-mode te gebeuren. Plaats het script in de map cgi-bin (al aanwezig op uw hostingpakket) en zorg dat het de juiste CHMOD-rechten (CHMOD 755 of "rwx r-x r-x") heeft.
Dit staat verder uitgelegd in het help-bestand van FormMail.........


Het is helaas voor nog schimmig.
Ik zie uit naar uw antwoord. vr.gr. Jan
 
Om het helder te krijgen voordat ik bij mijn webhoster een script aanvraag. Wat is een - script - ? Ik heb er wel eens wat van gehoord maar heb er geen goed beeld bij.
Een script is gewoon een programma (geschreven in een scripttaal).

Gestel ik krijg zo'n - script - . Hoe komt mijn formulier in die script, mijn formulier is opgenomen in een deel van een site? zie www.janschuling.nl .
Je moet de "action" in
HTML:
<form method="post" action="mailto:xxx@xxxxxxxx.nl">
veranderen in de naam van het script.

Ik heb gisteren ook bij mijn host gevraagd om de manier om de formulier werkend te krijgen, onderstaand is een deel het antwoord van hem:

.......Het formmail script kunt u onder meer downloaden via: http://www.scriptarchive.com/formmail.html
In formmail.pl dient u met behulp van Kladblok de verwijzing naar "sendmail" aan te geven, waarna u het bestand kunt opslaan en uploaden.
Bij ons is de lokatie van sendmail: /usr/sbin/sendmail
Het uploaden van formmail.pl dient met FTP in ASCII-mode te gebeuren. Plaats het script in de map cgi-bin (al aanwezig op uw hostingpakket) en zorg dat het de juiste CHMOD-rechten (CHMOD 755 of "rwx r-x r-x") heeft.
Dit staat verder uitgelegd in het help-bestand van FormMail.........


Het is helaas voor nog schimmig.
Ik zie uit naar uw antwoord. vr.gr. Jan

Je moet het bestand formmail.pl downloaden. Hierin moet je de regel
Code:
$mailprog = '/usr/lib/sendmail -i -t';
veranderen in
Code:
$mailprog = ' /usr/sbin/sendmail -i -t';
Deze regel geeft aan waar het programma (sendmail) staat dat de e-mail zal versturen.

Ook moet je de regel
Code:
@referers = ('scriptarchive.com','72.52.156.109');
veranderen in
Code:
@referers = ('janschuling.nl','83.137.194.53');
Deze regel geeft aan welke websites (alleen die van jou) gebruik mogen maken van dit script.

Vervolgens moet je dit bestand uploaden naar je website-ruimte, in de map "cgi-bin". In het programma dat je gebruikt om het te uploaden zal je moeten aangeven dat je het bestand wilt uploaden in ASCII-mode (al kan het zijn dat het programma dat zelf al ontdekt). Ook zal je de rechten moeten instellen. Hoe je dat doet is afhankelijk van het programma, maar meestal kan je (na het uploaden) met de rechtermuisknop op het bestand klikken en iets kiezen als "chmod" of "rechten". Je moet dan de "gebruiker" lees-, schrijf- en uitvoerrechten geven, en de "groep" en "anderen" lees- en uitvoerrechten.
In je formulier moet je dan
HTML:
<form method="post" action="mailto:xxx@xxxxxxxx.nl">
veranderen in
HTML:
<form method="post" action="cgi-bin/formmail.pl">
Ook moet je jouw e-mailadres via een verborgen veld in het formulier zetten. Dat doe je door binnen het formulier de regel
HTML:
<input type="hidden" name="recipient" value="email@your.host.com">
te zetten waarbij je 'email@your.host.com' vervangt door jouw e-mailadres waar de e-mail naartoe gestuurd moet worden. Eventueel kun je op soortgelijke manier het onderwerp van de e-mail aangeven met de regel
HTML:
<input type="hidden" name="subject" value="Your Subject">
Meer informatie over het script en het gebruik ervan kan je vinden in het "README" bestand op die site.
 
Laatst bewerkt:
Bedankt voor de uitleg. Helaas het werkt nog niet. Ik wil proberen te achterhalen wat er niet goed is gegaan.
Ik heb formmail.pl gedownload en uitgepakt. Ik kon het niet openen dat verdween het bestand. Opnieuw uitgepakt en dan aangeklikt op bewerken. Er werd een kladblok geopend vol met tekst, hierin heb ik de tekst
$mailprog = '/usr/lib/sendmail -i -t' veranderd in $mailprog = ' /usr/sbin/sendmail -i -t'
en de tekst:
@referers = ('scriptarchive.com','72.52.156.109'); veranderd in @referers = ('janschuling.nl','83.137.194.53');
Hoe kon je aan die veranderde cijfers ik kan dit nergens uit afleiden?

Kladblok opgeslagen en het bestand bij mijn webbestanden geplaatst.
Het formmail.pl geupload naar mijn website-ruimte naar "cgi-bin" in ASCII-mode
De HTML code is gewijzigd in <form method="post" action="cgi-bin/formmail.pl">
en toegevoegd de HTML code <input type="hidden" name="recipient" value="email@your.host.com">met mijn*emailadres.nl
en toegevoegd <input type="hidden" name="subject" value="SKI-FUN 43+">
Alle opgeslagen en geupload naar mijn Server.

Helaas met hetzelfde resultaat. Heb ik iets over het hoofd gezien?
vr.gr.Jan
 
Hoe kon je aan die veranderde cijfers ik kan dit nergens uit afleiden?
Die cijfers zijn het IP-adres waar janschuling.nl naar verwijst. Er zijn meerdere manieren om daarachter te komen. In Windows kon het volgens mij (ik gebruik al jaren geen Windows meer, dus ik kan het mis hebben) door in een DOS-prompt het commando
Code:
tracert www.janschuling.nl
uit te voeren.

De HTML code is gewijzigd in <form method="post" action="cgi-bin/formmail.pl">
Ik heb even op je website gekeken en dit is niet helemaal goed veranderd. Er staat nu
HTML:
<form method="post" action="mailto:"cgi-bin/formmail.pl">
Er staat nog
voor. Heb je overigens de rechten van formmail.pl nog veranderd? Je hebt daar niets over gezegd.

[edit]Ik zie net dat het bestand in het zip-archief "FormMail.pl" heet. De server draait Linux (CentOS) en dat maakt onderscheid tussen kleine letters en hoofdletters, je zal er dus <form method="post" action="cgi-bin/FormMail.pl"> van moeten maken, of het bestand hernoemen.[/edit]
 
Laatst bewerkt:
Na dat ik de HTML code heb gewijzigd in <form method="post" action="cgi-bin/FormMail.pl">
Geeft de formulier nu een foutmelding dat er iets niet goed is ingesteld.
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, xxxxxxxx@xxxx.nl and inform them of the time the error occurred, and anything you might have done that may have caused the error.
Ik vraag mij af hoe mijn e-mailadres daarin kan komen? volgens mij staat het ook niet op mijn site vermeld.

Ik heb FomMail gedownload van http://www.scriptarchive.com/formmail.html
Er zijn 3 bestanden om te downloaden, mogelijk heb ik de verkeerde genomen.
FormMail file format: .zip (17.5kb), Deze heb ik gedownload
.tar.gz (18.7kb),
.tar (71.7kb)

'83.137.194.53' deze cijfers kloppen ook heb ik nagezien.

Ik weet niet of het instellen van de rechten invloed heeft op de werking van de formulier?
De rechten van cgi-bin zijn rwx r-x --x zoals de webhost heeft geschreven.
Over de rechten van FormMail staat er niets en die heb ik ook zo gelaten.

................Leesmodus...Schrijfmodus.......Uitvoeren/zoekmodus
Eigenaar.....v....................v......................v
Groep........v....................-.......................v
Anderen.....-....................-.......................v

citaat webhost: zorg dat het de juiste CHMOD-rechten (CHMOD 755 of "rwx r-x r-x") heeft.
Is er nog iets wat veranderd moet worden?
vr.gr. Jan
 
Laatst bewerkt:
Na dat ik de HTML code heb gewijzigd in <form method="post" action="cgi-bin/FormMail.pl">
Geeft de formulier nu een foutmelding dat er iets niet goed is ingesteld.
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, <knip> and inform them of the time the error occurred, and anything you might have done that may have caused the error.
Ik vraag mij af hoe mijn e-mailadres daarin kan komen? volgens mij staat het ook niet op mijn site vermeld.
Ik denk dat je dat e-mailadres hebt opgegeven bij het aanvragen van je hosting en dus bij je hosting provider bekend is als e-mailadres van de beheerder van die site (het is misschien handig om je e-mailadres uit je vorige bericht te halen, i.v.m. spam).

Er zijn 3 bestanden om te downloaden, mogelijk heb ik de verkeerde genomen.
Welk bestand je neemt maakt niet uit, ze bevatten alle drie dezelfde bestanden, alleen gebruiken ze een andere compressie.

Ik weet niet of het instellen van de rechten invloed heeft op de werking van de formulier?
De rechten van cgi-bin zijn rwx r-x --x zoals de webhost heeft geschreven.
Over de rechten van FormMail staat er niets en die heb ik ook zo gelaten.
Ik geef toe dat de tekst in de e-mail redelijk ambigu is (dat is het vervelende van natuurlijke taal), maar zoals ik het lees (i.c.m. mijn, beperkte, ervaring met dergelijke (Perl-)scripts) bedoelen ze dat de rechten van het bestand FormMail.php op rwx r-x r-x of 755 moet worden gezet, niet de rechten van de "cgi-bin"-map. Ik heb ook even gegoogeld op formmail en "internal error". Ik kwam o.a. dit forumbericht tegen waar dit probleem werd veroorzaakt door het ontbreken van de uitvoerrechten van formmail.pl.

De rechten van FormMail.pl zullen dus zo moeten worden:
................Leesmodus...Schrijfmodus.......Uitvoeren/zoekmodus
Eigenaar.....v....................v......................v
Groep........v....................-.......................v
Anderen.....v....................-.......................v
 
Laatst bewerkt:
Ik ben nu wel het een en ander wijzer geworden. Doch helaas komt er na het invullen van het formulier weer maar nu een andere fout melding. the recipient, de ontvanger dat is vlg mij toch janschuling.nl met de bijbehorende IP adres.
Als dit IP in mijn adresbalk wordt gezet wordt mijn website toch zichtbaar?
Error: Bad/No Recipient
There was no recipient or an invalid recipient specified in the data sent to FormMail. Please make sure you have filled in the recipient form field with an e-mail address that has been configured in @recipients. More information on filling in recipient form fields and variables can be found in the README file.
--------------------------------------------------------------------------------
FormMail V1.93 © 1995 - 2009 Matt Wright
A Free Product of Matt's Script Archive, Inc.
Samenvattend is het volgende gedaan.
In mijn formulier de HTML code gewijzigd van:
<form method="post" action="mailto:xxx@xxxxxxxx.nl"> naar <form method="post" action="cgi-bin/FormMail.pl">
(gelet op hoofdlettergevoeligheid van FromMail) tevens toegevoegd de sluittag </from> die er ontbrak.
*FormMail gedownload van http://www.scriptarchive.com/formmail.html , uitgepakt.
Met Wordpad in FormMail de codes veranderd:
- $mailprog = '/usr/lib/sendmail -i -t'; , naar, $mailprog = ' /usr/sbin/sendmail -i -t';
- @referers = ('scriptarchive.com','72.52.156.109'); naar, @referers = ('janschuling.nl','83.137.194.53');
(Op mijn PC de juistheid van IP geverrifeerd.)
*FormMail geüpload naar map cgi-bin in mijn webruimte.
Bij FormMail de rechten toegekend 'eigenaar rwx' 'groep r-x' 'anderen r-x'.
Mijn site geüpload naar map httpdocs in mijn webruimte.

Uit het README bestand kom ik ook niet verder misschien zijn er nog manco's die ik over het hoofd heb gezien.


Ik hoop dat je mij nog verder kan helpen.
vr.gr. Jan
 
Als dit IP in mijn adresbalk wordt gezet wordt mijn website toch zichtbaar?
Nee, je krijgt dan de melding te zien "Welcome to 83.137.194.53! This is the living proof that Apache and PHP are actually working!". Waarschijnlijk maak je gebruik van name-based shared hosting. Dat wil zeggen dat er meerdere websites op dezelfde server draaien. Afhankelijk van welk adres is ingevoerd wordt bepaald welke website de gebruiker wil zien. Mogelijk is dit ook de reden dat het formulier deze melding geeft.

Wat je nog kan proberen is wat in de README onder het kopje "I ONLY WANT CERTAIN ADDRESSES TO WORK!" staat:
Let's say you only want yourself@yourdomain.com to be able to receive
any form submissions. You should then set the @recipients array to:

@recipients = ('^yourself\@yourdomain\.com');
Dus de regel
Code:
@recipients = &fill_recipients(@referers);
vervangen door
Code:
@recipients = ('^je\@emailadres\.nl');
waarbij je '^je\@emailadres\.nl' vervangt door het e-mailadres (aanhalingstekens, dakjes en backslashes moet je laten staan).
 
Hallo Supersnail,
Ik wil je hartelijk bedanken voor de moeite die je genomen heb om de formulier van mij werkend te krijgen. Als ook 'Berkery' die mij als 1e beantwoorde. Ik ben op het juiste spoor gezet doordat je mee keek en dacht.
De laatste suggestie had geen resultaat, maar zijdeling werd mij aangegeven in de HTML code de zin
Code:
<INPUT TYPE="hidden" NAME="recipient" VALUE="xxx@xxxxxxxxx.nl">
op te nemen.
Bingo de formulier werkt. De site die vanuit de script FormMail in beeld komt, daarvan is de tekst van uit die script te wijzigingen.
Er blijven nog genoeg vragen over maar voorlopig kan ik hier mee uit de voeten.
Hartelijk dank Jan.
 
De laatste suggestie had geen resultaat, maar zijdeling werd mij aangegeven in de HTML code de zin
Code:
<INPUT TYPE="hidden" NAME="recipient" VALUE="xxx@xxxxxxxxx.nl">
op te nemen.

Stond dat er nog niet in dan? Ik heb vanmiddag (voordat ik antwoord gaf) nog naar de broncode van die pagina gekeken en ik meen dat dat er toen al in stond. Nou ja, mooi dat het nu werkt.
 
Klopt ik had er gisterenavond over gesproken en het er vanmorgen erin gezet.
In ieder geval bedankt voor de gedane moeite.
Groet Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan