mailform werkt niet

Status
Niet open voor verdere reacties.

snelsnel

Gebruiker
Lid geworden
12 mei 2003
Berichten
151
Hallo,

In het controlpanel van het domein van mijn website staat er bij de services een YES achter cgi support.
In de root van de site heb ik de map cgi-bin met de submap mail-a-form.
Van de website van XS4ALL heb ik het onderstaande script overgenomen (de berichtbox achterwege gelaten).
Als ik online het formulier wil insturen komt de browser met de mededeling: HTTP-fout 404 kan de website niet vinden.

<FORM METHOD="post" ACTION="/cgi-bin/mail-a-form">
<INPUT TYPE="hidden" NAME="to" VALUE="webmaster@hvspijkenisse.nl">
<INPUT TYPE="text" NAME="from">
<INPUT TYPE="hidden" NAME="subject" VALUE="Formulier verstuurd vanaf form_xs4all">
<INPUT TYPE="hidden" NAME="missing" VALUE="http://hvspijkenisse.nl/paginas/form_xs4all_fout.html">
<INPUT TYPE="hidden" NAME="nextpage" VALUE="http://hvspijkenisse.nl/paginas/form_xs4all_bedankt.html">
<INPUT TYPE="hidden" NAME="required" VALUE="from">

<p><INPUT TYPE="text" NAME="veld1"></p>
<p><SELECT NAME="veld2">
<OPTION VALUE="waarde1">kies uw toernooi
<OPTION VALUE="waarde2">C - toernooi (zaterdag 16-06-07)
<OPTION VALUE="waarde3">D - toernooi (zondag 17-06-07)
</SELECT></p>

<INPUT TYPE="submit" VALUE="Verstuur">
<INPUT TYPE="reset" VALUE="Wis">

</FORM>

Het zal best wel iets simpels zijn, maar ik weet niet goed wat ik over het hoofd zie. Moet er misschien op serverniveau iets meer geregeld zijn dan alleen het YES bij cgi?

Alvast bedankt,
snelsnel
 
Ga je met de browser wel naar het goede adres?

Wanneer jij het formulier in een mapje hebt gezet zul je hem via http://{domein}/{mapje}/{bestandsnaam_formulier}.html moeten aanroepen...
 
Je bedoelt dat de regel <FORM METHOD="post" ACTION="/cgi-bin/mail-a-form">
verandert zou moeten worden in <FORM METHOD="post" ACTION="http://hvspijkenisse.nl/cgi-bin/mail-a-form/form_xs4all.htm">

Ik zit nu niet achter de pc waarmee ik de website onderhou anders zou ik het gelijk kunnen uitproberen.
 
Nee dat bedoelde ik niet...

Een 404 foutmelding krijg je meestal wanneer het adres naar de pagina niet klopt...

Het voorbeeld van XS4ALL is hier te vinden: http://www.xs4all.nl/helpdesk/scripts/mailformvb.php
Maar als jij in je browser http://www.xs4all.nl/helpdesk/scripts/mailform.php intypt krijg je de melding dat de pagina niet bestaat.

Je ziet nu alleen geen 404-melding omdat XS4ALL deze heeft aangepast zodat je een gebruikersvriendelijke pagina te zien krijgt maar in principe is het gewoon een 404.
 
Volgens mij snap ik er geen pepernoot van. Het voorbeeld van XS4ALL ken ik inderdaad, het script komt hier vandaan, vandaar dat ik het voor het gemak even form_xs4all.htm heb genoemd. Deze pagina staat op het volgende adres: http://hvspijkenisse.nl/cgi-bin/mail-a-form/form_xs4all.htm. Ik heb hem ook op een andere plek in de site gezet, te weten: http://hvspijkenisse.nl/paginas/form_xs4all.htm. Als ik het eerste adres intyp dan verschijnt de 404 melding en bij de tweede krijg ik de pagina wel te zien maar als ik hem dan wil versturen krijg ik de mededeling dat de POST method not allowed is.
Kortom: BALEN
Wat zou ik in het script van het eerste bericht moeten wijzingen om het wel te laten werken, mag de pagina wel op .htm eindigen, maakt het wat uit waar de pagina staat zolang de verwijzing maar goed is?
Begrijp ik het ook goed dat de server oké is als hij cgi support aan heeft staan, dat ik daar dus niets hoef aan te vragen?

groeten,
snelsnel.
 
Tja..............
je formtag:

<FORM METHOD="post" ACTION="http://hvspijkenisse.nl/paginas/form_xs4all.htm">

wijkt af van wat wordt aangegeven.
hoort te zijn
<FORM METHOD="post" ACTION="../cgi-bin/mail-a-form">
Dus je moet eerst UIT je huidige map, dan naar de cgi
vandaar de ../

Bij het achtergondplaatje heb je dit ook gedaan.

:cool:
 
Er is niets mis met de server, je hebt alleen een verkeerde code op die pagina staan...

Op jouw formulier staat in de bron:
PHP:
<FORM METHOD="post" ACTION="http://hvspijkenisse.nl/paginas/form_xs4all.htm">
terwijl in het voorbeeld van XS4ALL dit staat:
PHP:
<form method="POST" action="/cgi-bin/mail-a-form">

edit: Peter was mij voor
 
Hùh, als ik het formulier in cgi-bin/mail-a-form zet dan zie ik hem niet verschijnen als ik hem aanroep na publicatie. Het lijkt wel of de htm-pagina die in deze map staat niet zichtbaar is. Een voorbeeld in de webbrowser werkt wel. Ik heb een link gezet (in witte letters, dus niet zichtbaar tenzij je de linkermuis erover sleept) in het midden onder aan deze pagina vlak boven de link naar OpenCube.
Voor alle duidelijkheid: het formulier heet form_xs4all.htm en het staat in de root van de site in de map mail-a-form die een submap is van cgi-bin.
 
Met
http://hvspijkenisse.nl/cgi-bin/mail-a-form
bericht:
Not Found
The requested URL /cgi-bin/mail-a-form was not found on this server.

Apache/1.3.33 Server at hvspijkenisse.nl Port 80

Dus is mail-a-form wel aanwezig in de cgi?


Zet
form_xs4all.htm
eens gewoon in de root.(waar ook index.htm en andere pagina's staan)
Zet wel dit in je formulier in de formtag:
PHP:
<form method="POST" action="/cgi-bin/mail-a-form">
Dan zou het moeten werken.
Nu heb je alles in de cgi map gezet, moet dus niet.

:cool:
 
Oké, weer een stukje verder, form_xs4all staat in de root en komt keurig tevoorschijn, echter bij het klikken op versturen komt de 404 boodschap weer tevoorschijn. Sla ik soms iets over? Wat betekent cgi-bin eigenlijk? Peter: wat bedoel je met "is mail-a-form wel aanwezig in de cgi?" Moet ik nog een speciaal scriptje hebben?
Jullie merken wel dat ik er nog geen fluit vanaf weet. Bedankt voor de adviezen voor zover.

Groeten,
snelsnel.
 
Ik ben er uit.

http://www.xs4all.nl/cgi-bin/mail-a-form
dient gebruikt te worden.
Dus niet een eigen cgi map.

Dit krijg ik als ik je form gebruik:
Fout tijdens mail versturen

Het versturen van mail is mislukt. Het is niet toegestaan om http://www.xs4all.nl/cgi-bin/mail-a-form te gebruiken vanaf een webpage buiten XS4ALL.


Dit heb ik als form tag:
<FORM METHOD="post" ACTION="http://www.xs4all.nl/cgi-bin/mail-a-form">

Maw je gebruikt het originele script van XS4all.
ook het gastenboek en teeler kun je gebruiken, door slechts aan te roepen.

Ik geef je de hierbij door mij gebruikte code.

Mogelijk dat de oorzaak zit in het feit dat je in je pagina hebt opgenomen:
<base href="http://hvspijkenisse.nl/paginas/">
Door bij de action het volle pad in te voeren zou het mogelijk kunnen werken.

Test het uit, want ik krijg dus geen permissie.

PHP:
<html>

<head>

<style type="text/css"> 
@media print 
{ 
input  { visibility: hidden; } 
} 
.font {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF}
</style> 

<base href="http://hvspijkenisse.nl/paginas/">
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>leeg</title>
<base target="_self">
<style>
<!--
span.SpellE
	{}
span.GramE
	{}
-->
</style>
<style>
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:active {
text-decoration: none;
}
</style>
<style fprolloverstyle>A:hover {color: #800080}

</style>

</head>

<body background="../images/achtergronden/main.jpg" style="background-attachment: fixed; background-repeat:no-repeat; font-family:Verdana; font-size:10pt; " topmargin="20" leftmargin="40" link="#0000FF" vlink="#0000FF" alink="#0000FF">
<div align="center">
  <table border="0" id="table1">
    <tr>
      <td align="center">
<p align="center">&nbsp;<p align="center"><!--** START NAVSTUDIO MENU TAGS (143816) **-->
<script language="JavaScript" vqptag="doc_level_settings" vqp_datafile0="hvs menu.js" vqp_uid0=143816>cdd__codebase = "";cdd__codebase143816 = "";</script><script language="JavaScript" vqptag="datafile" src="hvs menu.js"></script><script vqptag="placement" vqp_menuid="143816" language="JavaScript">create_menu(143816)</script><!--** END NAVSTUDIO MENU TAGS **--></td>

    </tr>
  </table>

	<p align="center">&nbsp;</div>

<font face""color=#663300 size=1>
<p>&nbsp;
<!-- webmaster@hvspijkenisse.nl -->
<FORM METHOD="post" ACTION="http://www.xs4all.nl/cgi-bin/mail-a-form">
<INPUT TYPE="hidden" NAME="to" VALUE="webmaster@hvspijkenisse.nl">
<INPUT TYPE="text" NAME="from">Naam
<INPUT TYPE="hidden" NAME="subject" VALUE="Formulier verstuurd vanaf form_xs4all">
<INPUT TYPE="hidden" NAME="missing" VALUE="http://www.hvspijkenisse.nl/paginas/form_xs4all_fout.htm">
<INPUT TYPE="hidden" NAME="nextpage" VALUE="http://www.zeepoort.nl/populiar/bed_pop.html">

<INPUT TYPE="hidden" NAME="required" VALUE="from">

<p><INPUT TYPE="text" NAME="veld1"></p>
<p><SELECT NAME="veld2">
<OPTION VALUE="waarde1">kies uw toernooi
<OPTION VALUE="waarde2">C - toernooi (zaterdag 16-06-07)
<OPTION VALUE="waarde3">D - toernooi (zondag 17-06-07)
</SELECT></p>

<INPUT TYPE="submit" VALUE="Verstuur">
<INPUT TYPE="reset" VALUE="Wis">

</FORM>


</p>
<p>&nbsp;</p>

<p align="right"><a href="http://www.opencube.com">CSS Menu by OpenCube</a></p>
</body>



</html>

:cool:
 
Weer wat wijzer, ik begrijp nu dat het formulier alleen werkt indien er in de cgi map een bepaald script staat. Zijn dit script die de host beschikbaar moet hebben indien hij cgi ondersteunt? Of moet je zoiets zelf schrijven/downloaden. Ik heb nog een aantal uren zitten googelen maar de scripts die ik daar zie lijken erg moeilijk en ik heb er nog geen aan de praat kunnen krijgen.

Groeten,
snelsnel.
 
Iets lezen, en er overheen lezen.
Soms is het allemaal niet duidelijk.

Het script heb je niet nodig.
Staat gewoon bij xs4all.

ALs je mijn code pakt, upload en test zou het moeten werken.

Uitleg bij xs4all is wat dat betreft niet al te duidelijkl, doch wel correct.

Eigen scripts zet je in een eigen cgi map.
Maar in dit geval gebruik je dus de xs4all cgi map, gewoon door aan te roepen.

:cool:
 
Ik heb de aanwijzingen exact opgevolgt maar bij het versturen krijg ik helaas ook de melding:

Fout tijdens mail versturen
Het versturen van mail is mislukt. Het is niet toegestaan om http://www.xs4all.nl/cgi-bin/mail-a-form te gebruiken vanaf een webpage buiten XS4ALL.


De website loopt niet gehost door XS4ALL, maakt dat nog iets uit?
Ik heb <base href="http://hvspijkenisse.nl/paginas/"> nog gewijzigd, eerst in <base href="http://hvspijkenisse.nl/"> en daarna in <base href="http://www.xs4all.nl/"> maar beiden zonder resultaat.
 
De website loopt niet gehost door XS4ALL, maakt dat nog iets uit?

En of dat uitmaakt................
In het mailscript zit een code welke controleert of het gebruikt wordt vanaf een site binnen xs4all, dus toegestane site.
Dus in dit geval.............
andere site: script wordt geskipd.

Zul je toch een eigen script moeten gebruiken, een cgi of een php script.
 
Aha, daar zit dus de crux!
Ik heb net nog een poosje gegoogled en het ziet er enorm ingewikkeld uit maar ik ga er verder mee aan de gang. Zo heb ik een formail van Matt's scripts archive gehaald. Mocht je een Nederlands script weten hoor ik het graag.

Nog bedankt,
snelsnel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan