contactformulier-opgelost+

Vragen/antwoorden betreffende het maken van je eigen website.
Gast

06 mar 2008, 23:01

hoi,

ik wil een simpel en makkelijk contact formulier op mijn website ,geen php,of er moet een duidelijke uitleg bij zitten want op internet werd ik niet wijzer van bepaalde tutorials.
graag een goed script met duidelijke uitleg.

bij voorbaat dank,

gr.van mij
Gast

09 mar 2008, 22:34

niemand?jammer.ik zal het even anders vragen.ik zie nu in dat ik niet onder php uit kan.mijn server bied gelukkig ook php aan,maar ik weet niet hoe dit alles werkt dus hoop ik op een uitleg.

please,iemand....:wink:

Hier een script die ik op mijn website wil:
<?php

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
if (!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']))
{
$headers = "From: " .addslashes(htmlspecialchars($_POST['naam'])). " <" .addslashes(htmlspecialchars($_POST['email'])). ">\n";
$headers .= "Content-Type: text/html;charset=iso-8859-1";

$naar = "jouw@emailadres.nl";
$onderwerp = "ONDERWERP VAN EMAILBERICHT";

$bericht = "<html>\n";
$bericht .= "<head>\n";
$bericht .= "<title>Contactformulier</title>\n";
$bericht .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
$bericht .= "<style>\n";
$bericht .= "table,body\n";
$bericht .= "{\n";
$bericht .= " font-size: 11px;\n";
$bericht .= " font-family: Helvetica, Arial;\n";
$bericht .= "}\n";
$bericht .= "</style>\n";
$bericht .= "</head>\n";

$bericht .= "<body>\n";
$bericht .= nl2br(htmlspecialchars(stripslashes($_POST['bericht'])));
$bericht .= "</body>\n";
$bericht .= "</html>\n";

mail($naar, $onderwerp, $bericht, $headers);

?>

<html>
<head>
<title>VERZONDEN</title>
</head>
<body>
Het bericht is succesvol verzonden!
</body>
</html>

<?php
}

else
{
?>

<html>
<head>
<title>Oops!</title>
</head>
<body>
<b>Oops! Je bent iets vergeten in te vullen!</b><br><br>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Naam <input type="text" name="naam" value="<?php echo $_POST['naam']; ?>"><br>
E-mailadres <input type="text" name="email" value="<?php echo $_POST['email']; ?>"><br>
<textarea cols="30" rows="10" name="bericht"><?php echo $_POST['bericht']; ?></textarea><br><br>
<input type="submit" value="Verzenden">
</form>
</body>
</html>

<?php
}
}

else
{
?>

<html>
<head>
<title>Contactformulier</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Naam <input type="text" name="naam"><br>
E-mailadres <input type="text" name="email"><br>
<textarea cols="30" rows="10" name="bericht"></textarea><br><br>
<input type="submit" value="Verzenden">
</form>
</body>
</html>

<?php
}

?>
nu de vraag:

moet ik eerst dit script opslaan als php en dan via mij server plaatsen en daarna dit script ook plaatsen op mijn webpagina?sorry,maar dit snap ik niet helemaal.en hoe plaats ik dit op mijn webpagina?tussen welke codes want ik heb al wat geprobeerd ïn dreamweaver maar ik zag geen formulier behalve dan een stukje tekst.

ik hoop dat iemand mij dit allemaal wil uitleggen.

gr.van mij

coderunner
Lid geworden op: 27 mar 2006, 04:35
Locatie: Aubauke - Aentwaerepe

28 mar 2008, 14:43

Beste Rose33,

Je website server moet eerst en vooral over de mail-functie beschikken en/of aanstaan. Vele hostservers hebben deze functie uitgeschakeld omdat sommigen deze functie misbruiken om spam te versturen. Dus eerst eens vragen of die functie voor jou aanstaat.

Als deze functie aanstaat, dan moet je enkel jouw email adres correct invullen in de code die je hierboven hebt gegeven. Zoek in de code naar
$naar = "jouw@emailadres.nl";
en vervang --> jouw@emailadres.nl <-- door het juiste email adres.

Bewaar de gehele code als vb. contact.php
Let op de extentie php en NIET html

Upload alles naar de server en het moet werken.

mvg,
Coderunner

coderunner
Lid geworden op: 27 mar 2006, 04:35
Locatie: Aubauke - Aentwaerepe

31 mar 2008, 15:40

Beste Rose33,

De php code die je hierboven als voorbeeld geeft bestaat uit 4 delen nml.
  • - 1 ste deel is de php code om de ingevulde velden te controleren en het emailformulier te versturen
    - 2de deel is de melding dat het formulier verzonden is in html.
    - 3de deel is vergeten ingevulde velden in formulier in html
    - 4de deel is het eigenlijke formulier in html.

Code: Selecteer alles

<!--***************************************************************
 DEEL 1 begin php om formulier te controleren en te verzenden.
***************************************************************-->
<?php 

if ($_SERVER['REQUEST_METHOD'] == "POST") 
{ 
if (!empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht'])) 
{ 
$headers = "From: " .addslashes(htmlspecialchars($_POST['naam'])). " <" .addslashes(htmlspecialchars($_POST['email'])). ">\n"; 
$headers .= "Content-Type: text/html;charset=iso-8859-1"; 

//
// Hieronder jouw email adres in vullen en eventueel het onderwerp van de email
//
$naar = "jouw@emailadres.nl"; 
$onderwerp = "ONDERWERP VAN EMAILBERICHT"; 

$bericht = "<html>\n"; 
$bericht .= "<head>\n"; 
$bericht .= "<title>Contactformulier</title>\n"; 
$bericht .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n"; 
$bericht .= "<style>\n"; 
$bericht .= "table,body\n"; 
$bericht .= "{\n"; 
$bericht .= " font-size: 11px;\n"; 
$bericht .= " font-family: Helvetica, Arial;\n"; 
$bericht .= "}\n"; 
$bericht .= "</style>\n"; 
$bericht .= "</head>\n"; 

$bericht .= "<body>\n"; 
$bericht .= nl2br(htmlspecialchars(stripslashes($_POST['bericht']))); 
$bericht .= "</body>\n"; 
$bericht .= "</html>\n"; 

mail($naar, $onderwerp, $bericht, $headers); 

?> 


<!--*******************************************************
 DEEL 2 begin: melding dat het formulier is verzonden 
*******************************************************-->
<html> 
<head> 
<title>VERZONDEN</title> 
</head> 
<body> 
Het bericht is succesvol verzonden! 
</body> 
</html> 


<?php 
} 

else 
{ 
?> 

<!--*******************************************************
 DEEL 3 vergeten ingevulde velden in formulier in html
*******************************************************-->
<html> 
<head> 
<title>Oops!</title> 
</head> 
<body> 
<b>Oops! Je bent iets vergeten in te vullen!</b><br><br> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
Naam <input type="text" name="naam" value="<?php echo $_POST['naam']; ?>"><br> 
E-mailadres <input type="text" name="email" value="<?php echo $_POST['email']; ?>"><br> 
<textarea cols="30" rows="10" name="bericht"><?php echo $_POST['bericht']; ?></textarea><br><br> 
<input type="submit" value="Verzenden"> 
</form> 
</body> 
</html> 


<?php 
} 
} 

else 
{ 
?> 


<!--***********************************************
 DEEL 4 is het eigenlijke formulier in html
***********************************************-->
<html> 
<head> 
<title>Contactformulier</title> 
</head> 
<body> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
Naam <input type="text" name="naam"><br> 
E-mailadres <input type="text" name="email"><br> 
<textarea cols="30" rows="10" name="bericht"></textarea><br><br> 
<input type="submit" value="Verzenden"> 
</form> 
</body> 
</html> 


<?php 
} 

?>
De opmaak van delen 2 en 3 en 4 kan je zelf aanpassen d.m.v. html codes.

Succes

mvg,
Coderunner
Gast

01 apr 2008, 13:15

hoi coderunner,

een betere uitleg dan dit kan niet,heel erg bedankt. :D
ik had het eigenlijk opgegeven,ik heb nu een mailto functie op mijn contactpagina,mailadressen zijn wel gecodeerd,maar een formulier blijft toch altijd mooier en professioneler.ik ga er mee aan de slag,als het gelukt is dan hoor je van me.

ps:alles staat aan op mijn domeinserver,een formulier werkt want ik had het al uitgetest.

gr. van mij

Jobe
Lid geworden op: 09 mar 2006, 19:43

06 apr 2008, 00:52

Uw nederige dienaar verschijnt nog eens op het toneel :)
Webdesigners die geinteresseerd zijn in het maken van een e-mail formulier, kunnen voor de code en uitleg steeds terecht op www.Web-garden.be. Daar vind je trouwens een cursus PHP voor absolute beginners.
gegroet
jobe
Gast

09 apr 2008, 14:41

mijn nederige dienaar?dat is gewoon om hulp vragen en geholpen worden, wat ik erg waardeer.

bedankt voor de link :wink:
Gast

09 apr 2008, 18:45

hoi jobe,

wat een uitgebreide tutorial ,erg mooi en duidelijk.
ik leer erg snel,maar door jou tutorial zie ik door het bos de bomen niet meer.misschien trek ik wel te snel mijn conclusies en valt het wel mee.ik ga er vanavond ´weer´achter zitten want ik wil dit heel graag leren.

wat ik gewoon niet snap is hoe ik het php formulier verwerk.
een formulier plaatsen snap ik,
maar ik moet ook een ´verzonden´ en 'verkeerd ingevuld´ formulier hebben toch?
houdt dit dan in dat ik hier extra webpagina's voor moet maken?
dus drie dezelfde webpagina's aamaken en opslaan als 'verzonden.htm'
,etc.
deze uitleg mistte ik dus.

ik heb het (nog maar 2 x)geprobeerd maar op bovenstaande manier en het formulier werkte niet.ik ben nu bezig met een portfolio website,een formulier is een must,en dat ik dit zelf kan.

ik hoop toch nog een beetje op een betere uitleg qua plaatsen van de formulieren.

thnx for your support,

gr.rose

Jobe
Lid geworden op: 09 mar 2006, 19:43

09 apr 2008, 21:32

Rose,
Het is verwarrend.
Ben je nu een e-mail formulier aan het maken of een log-in systeem??
Er van uitgaande dat je een e-mail formulier maakt, dan is er slecht 1 .php bestand nodig.
In de php code van dit bestand wordt volgende verzorgd:

a) er wordt gekeken of de stuctuur van het door de bezoeker opgegeven e-mail adres kan kloppen. Pas op: dit is geen garantie dat de bezoker geen fake e-mail adres kan opgeven.
b)er wordt gekeken of alle velden zijn ingevuld. Zo niet dan krijgt men een foutmelding.
c)na het verzenden komt een bericht die aangeeft dat de e-mail is verzonden. De tgekst van dit bericht kun je ingeven in de php code.
d)Er wordt gebruikt gemaakt van een captcha...om de controleren of de gegevens manueel zijn ingebracht en niet door een SPAM robot.

Mogelijks probeer je dmv een copie en paste alles te gebruiken. Ik adviseer ten sterkste om de php cursus volledig door te nemen...zo zul je beter begrijpen hoe de code in elkaar zit.

gg
Johan
Gast

09 apr 2008, 23:15

hoi johan,

ik heb het alleen maar over een contactformulier gehad,dat is ook wat ik wil met bovenstaande code die coderunner heeft toegelicht.

ik snap dat ik maar 1 php nodig heb,maar ik heb het over de opdrachten van het forumulier,zoals verzenden,versturen,dit komt toch ook weer op een webpagina?dus:

-een conactformulier opslaan als php
-dan het html formulier plaatsen op mijn webpagina 'Contact'
-dan een pagina(tweede contactpagina) aanmaken met php met de instructie waarop je krijgt te zien dat het is verzonden
-en ook hier een pagina(derde contactpagina) aanmaken met de php instructie dat er iest is vergeten in te vullen

althans zo is het mij eens uitgelegd en mij voor gedaan,deze jongen had dus drie keer mijn contact pagina gemaakt .

snap je mij en beetje?

ik zal de hele les volgen op de site die je mij hebt gegeven.ik vind het wel pittig hoor.

gr.rose

Jobe
Lid geworden op: 09 mar 2006, 19:43

09 apr 2008, 23:30

Rose,

Ik heb de code van de zeer geprezen coderunner niet bestudeerd. En eerlijk...de tijd ontbreekt.
Maar ik ben zeker van dat hij juiste en correcte info geeft.

Ik verwijs naar de cursus die ik zelf online heb gezet.

De webpagina waarin het contactformulier is opgenomen moet steeds opgeslagen worden als een .php bestand, en niet als.html bestand.
De webpagina die het contactformulier bevat, bevat (zeer) veel php code om het formulier te laten werken. De layout van het formulier is dan weer wel in HTML/CSS code.

Ik ben mij ervan bewust dat het complexe materie is. Echte webdesign vraagt bloed, zweet en tranen :)
Ik kan alleen adviseren om de cursus PHP te volgen. Een paar dagen doorbijten...en je snapt er al heel wat meer van.

gg
Johan
www.Web-garden.be
Gast

10 apr 2008, 00:43

Jobe schreef:Rose,

Ik ben mij ervan bewust dat het complexe materie is. Echte webdesign vraagt bloed, zweet en tranen :)
i know....
Jobe schreef:Ik kan alleen adviseren om de cursus PHP te volgen. Een paar dagen doorbijten...en je snapt er al heel wat meer van.
zal ik zeker doen :wink:

gr rose

coderunner
Lid geworden op: 27 mar 2006, 04:35
Locatie: Aubauke - Aentwaerepe

10 apr 2008, 13:20

Beste Rose33,

1-Kopieer/copy gewoon de gehele code die je als voorbeeld genomen hebt en die ik daarna heb toegelicht wat deze code inhoud (delen 1-2-3-4) en plak/paste deze in bv. kladblok/notepad.

2a)Verander zoals ik ook reeds vermeld heb in deel 1 het email adres door jouw email adres.
2b) Verander eventueel de layout in delen 2-3-4 (dit is gewone html); wel de structuur bewaren!

3-Bewaar dit alles bv. contact.php.

4-Upload contact.php naar je webserver.

5-Doe een test en ga naar de url waar het contact formulier staat op de webserver (http://jouw.domainnaam/contact.php) en je zal zien dat het werkt.

Het bovenstaand voorbeeld is een zeer eenvoudig formulier.

Dit alles is dus maar één pagina waar alles in verwerkt is (zie mijn commentaar aldaar delen1-2-3-4)

Begin hier al mee en kijk of het werkt.

Natuurlijk kan je meerdere pagina's maken waar delen 1-2-3-4 in afzonderlijke pagina's zijn verwerkt MAAR dan moet je bijkomende php codes ingeven om het bovenstaand formulier te laten werken = voor gevorderden!

Begin met een simpel php formulier. Als je php meer onder de knie hebt, (wat enige tijd in beslag neemt), kan je deze nog steeds uitbreiden.

Ik zou zeggen, "leer eerst kruipen alvorens te lopen", zo zijn we ook ooit allemaal begonnen :wink:

mvg,
Coderunner
Gast

10 apr 2008, 14:53

coderunner schreef:Beste Rose33,

1-Kopieer/copy gewoon de gehele code

2a)Verander zoals ik ook reeds vermeld heb in deel 1 het email adres door jouw email adres.

3-Bewaar dit alles bv. contact.php.

4-Upload contact.php naar je webserver.

5-Doe een test en ga naar de url waar het contact formulier staat op de webserver (http://jouw.domainnaam/contact.php) en je zal zien dat het werkt.
Had ik al gedaan en alles werkt prima,zie link:

http://www.danycalis.com/babysites/contact.php

coderunner schreef:Natuurlijk kan je meerdere pagina's maken waar delen 1-2-3-4 in afzonderlijke pagina's zijn verwerkt MAAR dan moet je bijkomende php codes ingeven om het bovenstaand formulier te laten werken = voor gevorderden!
Als ik een formulier heb aangemaakt dan wil ik dit formulier uiteraard ook in alle gedeeltes afzonderlijk verwerken.Anders heb ik er niet veel aan.Bezoekers die op mijn site komen,het formulier invullen en in 1 keer terecht komen op een witte pagina met alleen een formulier zullen zich gaan afvragen waar de website is gebleven?
Mischien overschat ik mezelf,maar ik ben wel een doorzetter.
En ik moet ergens beginnen...

Ik heb er moeite mee,maar ik denk meer met de manier waarop het wordt uitgelegd op veel tutorials.
Zoals jij al zegt,het is voor gevordende php -ers.

Bedankt weer voor de toelichting coderunner,ik ga het later weer eens proberen.

Gr.Rose

coderunner
Lid geworden op: 27 mar 2006, 04:35
Locatie: Aubauke - Aentwaerepe

10 apr 2008, 15:19

Rose33 schreef:...Bezoekers die op mijn site komen,het formulier invullen en in 1 keer terecht komen op een witte pagina met alleen een formulier zullen zich gaan afvragen waar de website is gebleven?
Beste Rose33,

Het hoeft toch niet een "witte pagina" te zijn met alleen een formulier !
Alleen deel 1 is php : het formulier is samengesteld uit zowel php (deel 1) EN html (delen2-3-4)
Je gaat het veel te ver zoeken !
Zoals ik al zegde kan je toch de opmaak in delen 2-3-4 zelf maken zoals je wil, het is gewoon html, dus maak je opmaak zoals jij wil hoe de pagina eruit moet zien en plaats deze html code in delen 2-3-4 ... Het is tenslotte html en geen php.
Ik denk, aangezien je al op de hoogte bent van de html codes, dat het toch nog maar een kleinigheid is de layouts/opmaak (in html) in delen 2-3-4 aan te passen. Je herkent toch de html code structuur in delen 2-3-4

Code: Selecteer alles

<html>
<head>
</head>
<body>
...
</body>
</html>
Deel 2 kan je na x aantal seconden laten redirecten naar je eigenlijke homepage

Code: Selecteer alles

<html> 
<head> 
<title>VERZONDEN</title> 
</head> 
<body> 
Het bericht is succesvol verzonden! 
</body> 
</html> 
wordt dan

Code: Selecteer alles

<html> 
<head> 
<title>VERZONDEN</title>
<meta http-equiv="Refresh" content="5; url=http://www.danycalis.com/babysites/"> 
</head> 
<body> 
Het bericht is succesvol verzonden! 
</body> 
</html> 
En nu staat er in deel 4

Code: Selecteer alles

<html> 
<head> 
<title>Contactformulier</title> 
</head> 
<body> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
Naam <input type="text" name="naam"><br> 
E-mailadres <input type="text" name="email"><br> 
<textarea cols="30" rows="10" name="bericht"></textarea><br><br> 
<input type="submit" value="Verzenden"> 
</form> 
</body> 
</html> 
maar zou er zo kunnen uitzien (d.i. enkel een voorbeeld)

Code: Selecteer alles

<html> 
<head> 
<title>Contactformulier</title> 
<style>
body
{
	background-color:gray;
	font-family:Arial, Helvetica, sans-serif;
	color: #FFFFFF;
}
</style>
</head> 
<body> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
Naam<br><input type="text" name="naam"><br> 
E-mailadres<br> <input type="text" name="email"><br> 
Schrijf hieronder je berichtje:<br>
<textarea cols="30" rows="10" name="bericht"></textarea><br><br> 
<input type="submit" value="Verzenden"> 
</form> 
</body> 
</html> 
m.a.w. pas het aan zoals jij het wil.

Succes,

mvg,
Coderunner