Ik krijg mijn formulier niet (werkend) op de juiste plaats

Status
Niet open voor verdere reacties.

jopesc

Nieuwe gebruiker
Lid geworden
15 mei 2013
Berichten
2
Dag allen,

Ik hoop dat jullie me kunnen helpen. Ik ben bezig een website te bouwen, zonder er echt verstand van te hebben.
Daarmee ben ik een eind gekomen, maar nu loop ik toch tegen een probleem aan dat ik niet opgelost krijg.
Ik wil graag aan mijn website de mogelijkheid toevoegen contact op te nemen / inschrijven voor cursussen. In eerste instantie heb ik dat via een html-form gemaakt, maar ik vond het te weinig professioneel als die info per mail verstuurd moest worden, dus ik had een voorkeur voor php. Mijn server ondersteunt php.

Inmiddels ben ik zo ver dat ik een werkend php-formulier heb gemaakt (http://www.vaardigvertellen.nl/info.php)
Maar nu wil ik dat formulier graag integreren in het 'úiterlijk' van de website (Ik maak geen gebruik van css). Het frmulier moet er ongeveer uit komen te zien als: http://www.vaardigvertellen.nl/index_bestanden/contact_verhalen.htm
maar dan als php dus.

Mijn formulier heb ik ondertussen ook in de website geïntegreerd: www.vaardigvertellen.nl/cas.php, maar nu werkt het formulier opeens niet meer!
Wie weet hoe dat kan? (De bron is gewoon via de site te zien)
 
Jij zegt de bron is gewoon via de site te zien. Maar in de broncode kan je geen php code zien...
Dus bij deze de vraag of je even je php code van het formulier wilt plaatsen want zo is het onmogelijk op te lossen voor ons..
 
ooit ge hoort van

ooit gehoord van div

sla deze pagina op als mail.php
PHP:
<div id="main">
<form action="" method="post">
<input name="form" type="hidden" value="form1">
<h1>Vul a.u.b. het onderstaande formulier in</h1>

<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">Voornaam *</td>
<td align="left" valign="top"><input name="field_1" type="text" value=""></td>
</tr>
<tr>
<td align="left" valign="top">Achternaam *</td>
<td align="left" valign="top"><input name="field_2" type="text" value=""></td>
</tr>
<tr>
<td align="left" valign="top">Email *</td>
<td align="left" valign="top"><input name="field_3" type="text" value=""></td>
</tr>
<tr>
<td align="left" valign="top">Telefoonnummer</td>
<td align="left" valign="top"><input name="field_4" type="text" value=""></td>
</tr>
<tr>
<td align="left" valign="top">Cursus *</td>
<td align="left" valign="top"><select name="field_5"><option value="Basiscursus">Basiscursus</option><option value="Vervolgcursus">Vervolgcursus</option></select></td>
</tr>
<tr>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</form> 
</div

later kun je gebruik maken load php on div zoek maar eens op in google
zo kun je dus alles aparte maken en weg schrijven
 
A.als ik naar je formulier kijk dan zie ik bij action niks staan. De pagina geeft de indruk dat hij wat verstuurt, maar komt er ook wat aan.
B. je website is gemaakt in office. Als ik 80% uit je website sloop dan zou hij nog precies hetzelfde doen. office is het meest vreselijke pakket om webpaginas in te ontwikkelen. Er zijn veel gratis alternatieven. Ik doe het persoonlijk in code en werk dus met een text editor.
Om je pagina gelijk een beetje modern te maken zou ik een designer kiezen die ajax ondersteund, zodat niet zoals bij de meeste php sites bij elke klik de hele pagina opnieuw word herladen. Het hangt sterk van de opzet van de site af hoe je het contact formulier erin moet zetten.
Je zegt zelf dat je geen gebruik maakt van style sheets. Mijn advies zou zijn om dat juist wel te gaan doen. Het houd je sources netjes en opgeruimt. (voorkomt veel herhalen).
 
@jopesc: klein stukje technische uitleg. Een form bestaat uit 2 onderdelen. De client side en de Server side.
De client side kan gewoon in html geschreven zijn (evt met javascript om velden te controleren). en je maakt dan ook gebruik van html tags <form...><input....>
Het is daarbij heel belangrijk dat de mode op POST staat. (het alternatief zou GET zijn, en dat werkt dus niet). POST is namelijk de manier waarop alle data wordt samengevoegd en naar de server gestuurt (in een HTTP-POST pakketje).
Nu komen we aan op de server side kant en hebben we php nodig. Het php script moet namelijk dit POST pakket gaan ontvangen, uitpakken, evt controleren en verwerken. De laatste stap is meestal dat het verstuurd wordt via het commando mail maar dat kan bv ook een database zijn.

Ik geef er de voorkeur aan om client side en server side in 2 aparte bestanden te doen, terwijl het vroeger gebruikelijk was om dit samen te voegen. Doordat toen alle code door elkaar stond zag je door de bomen het bos niet meer.

Mijn advies: maak een pagina met extentie .htm (dus geen script) en begin die met <form action="contact.php" methode="post">
dan zal dus het HTTP-Post pakket bij submit naar contact.php worden gestuurd.
deze contact.php heeft wat verwerkingscode waaronder het commando $_POST[].

hier heb je een voorbeeld van een simpele contact.php. Het antwoord wat deze pagina geeft wordt weer in de browser weergegeven en haalt het contact formulier weg zodat gebruikers niet 2x kunnen zenden.

<?php
$subj="Verstuurd vanaf het contact formulier ";
$ToEmail="info@waarwilikhethebben.nl";
$outSTR="De bezoeker geeft u de volgende gegevens:\r\n";
$header="From: no-reply@domein.nl\r\n Reply-to:info@domein.nl\r\nX-Mailer:PHP/". phpversion();
$uwnaam =$_POST['uwnaam'];
$emailadres=$_POST['emailadres'];
$bedrijfsnaam =$_POST["bedrijfsnaam"];
$adres =$_POST["adres"];
$postcode =$_POST["postcode"];
$woonplaats =$_POST["woonplaats"];
$telefoonnummer=$_POST["telefoonnummer"];
$opmerking =$_POST["opmerking"];

if ($uwnaam!="") $outSTR .= "-zijn naam:" . $uwnaam . "\r\n";
if ($bedrijfsnaam!="") $outSTR .= "-bedrijfsnaam:" . $bedrijfsnaam . "\r\n";
if ($adres!="") $outSTR .= "-adres:" . $adres . "\r\n";
if ($postcode!="") $outSTR .= "-postcode:" . $postcode . "\r\n";
if ($woonplaats!="") $outSTR .= "-woonplaats:" . $woonplaats . "\r\n";
if ($telefoonnummer!="") $outSTR .= "-telefoonnummer:" . $telefoonnummer . "\r\n";
if ($emailadres!="") $outSTR .= "-emailadres:" . $emailadres . "\r\n";
if ($opmerking!="") $outSTR .= "-opmerking:" . $opmerking . "\r\n";

if (!mail($ToEmail,$subj,$outSTR, $header)) {
echo "Er is een serieus storing opgetreden waardoor uw formulier niet is verstuurd, probeer op een andere wijze contact op te nemen met de website eigenaar.";
}else{
echo "Het formulier is succesvol verzonden.";
}

exit();

?>
 
Wat geweldig dat er op zo'n korte termijn zoveel reacties zijn. Dank allemaal.
Ik heb nog geen tijd gehad ze inhoudelijk te bekijken, ik hoop dat dat volgende week lukt. Mocht het niet lukken dan meld ik me weer!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan