PHP achter formulier in lay-out website

Status
Niet open voor verdere reacties.

Frankos

Gebruiker
Lid geworden
2 mei 2006
Berichten
117
Beste Helpmij'ers,

Ik heb een vraagje over PHP.

Ik heb een website, met daarin een formulier.
Deze word doorgestuurd naar emailformulier.php en verstuurt dan een email naar mijn emailadres.
Werkt allemaal prima, niks aan de hand.
Nu wil ik echter, dat als je op 'verzenden' hebt geklikt, niet op zo'n witte pagina uitkomen met 'U bericht is verzonden', maar die tekst wil ik in dezelfde lay als de verdere website.

Ik zat te denken, aan een IFRAME. Maar dit lukt nog niet helemaal..

Heeft iemand misschien een idee, hoe ik dit het beste kan doen?

Hoop van jullie te horen!

Frank.
 
Hoi,

Ik weet niet hoe je je website nu is gemaakt. Maar je zou kunnen proberen om je layout van je website in de emailformulier.php teplakken.

gr Jeroen
 
En hoe fix je ook alweer HTML en PHP in één pagina?
 
Inprinciepe kun je van al je .html pagina's ook .php maken.
alle php scripts worden geplaats tussen <?php ?> of alleen <? ?> dus tussen deze tags kun je geen html plaatsen. en de rest van de pagina wel.

gr jeroen
 
Ik heb nu in de body van mijn html pagina, eerst een stuk HTML.
Daarna komt een stukje PHP.
Daarna nog een stukje HTML en dan eindigt de body.
Ik heb hem opgeslagen als .php of .html en alle 2 werken ze niet :confused:

wat doe ik fout?
 
De makkelijkste oplossing is idd om de layout ook in je bedankt formulier te steken.

Je kunt ook een header() sturen naar de gebruiker, terug naar de vorige pagina, en dan daar het bedankje op zetten, eventueel.
Let er wel op dat als je een header stuurt je nog GEEN output verstuurd mag hebben; dus zorg dat je als eerste op de pagina de <?php mode opent en zelfs geen spatie echo't; want dan mag je geen headers meer geven.

Een header stuur je zo:
PHP:
header( 'Location: pagina.php?bedankt=true' );

Je zou dan kunnen checken in je andere pagina of $_GET['bedankt'] geset is.

Mgoed; je kunt dus net zo makkelijk je layout kopieren ;)
 
Die lijkt me te moeilijk!
Maar:

Ik heb nu in de body van mijn html pagina, eerst een stuk HTML.
Daarna komt een stukje PHP.
Daarna nog een stukje HTML en dan eindigt de body.
Ik heb hem opgeslagen als .php of .html en alle 2 werken ze niet :confused:

wat doe ik fout?

graag hulp!?
 
Plaats ff die emailformulier.php zoals je hem nu gemaakt hebt met dat php en html als je wilt.

gr Jeroen
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Interkerkelijk koor Song of Joy Kudelstaart</title>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>

<div id="wrap">
<div id="header">
</div>

<div id="right">

<h2>Formulier verzonden.</h2>
<div class="articles">
<p>
PHP:
<?php

$naam = $_POST['name'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];
$persoon = $_POST['menu'];
$onderwerp = $_POST['onderwerp'];

$to = "$persoon";
$onderwerp = "Bestuursformulier Song of Joy.nl; $onderwerp";
$message = "$bericht";
$from = "$email";
$headers = "From: $from";
mail($to,$onderwerp,$message,$headers);
echo "Naam: $naam <br><br> Onderwerp: $onderwerp <br><br> Emailadres: $email <br><br> Uw bericht: $bericht <br><br>";

echo "<a href=index.html target=main>Klik hier om terug te gaan naar de website.</a>";

?></p>
</div>
</div>

<div id="left">

<h3>Categorieën :</h3>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="agenda.html">Agenda</a></li>
<li><a href="hetkoor.html">Het koor</a></li>
<li><a href="wiezijnwij.html">Wie zijn wij</a></li>
<li><a href="repetitors.html">Repetitors</a></li>
<li><a href="gastenboek.html">Gastenboek</a></li>
<li><a href="links.html">Links</a></li>
<li><a href="contact.html">Contact</a>


</li>
</ul>
</div>
<div style="clear: both;"></div>

<div id="footer"><a href="mailto:info@songofjoy.nl" title="Email">Frank Productions 2009</a></div>

</div>


</body>
</html>
 
ja tis lastig maar ook ff de pagina waar je je email formulier op het staan.
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Interkerkelijk koor Song of Joy Kudelstaart</title>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>

<div id="wrap">
<div id="header">
</div>

<div id="right">

<h2>Het bestuur</h2>
<div class="articles">
<p>Voorzitter: Jaap Benschop<br />
Secretaris: Jan Meijer<br />
Vice voorzitter: Martin Rinkel<br />
Penningmeester: Hetty van der Wee<br />
PR: Anton van Dusseldorp<br />
Bibliothecaris: Conny Poesiat<br />
Algemeen: Tiny Baardse
</p>
<form method='post' action='formulier.html'>
<p>Met dit verzendformulier, kunt u contact opnemen met één van onze bestuursleden.</p>
<p>Naam van het bestuurslid die u een bericht wil sturen:<br />
<label>
<select name="menu" id="menu">
<option value="voorzitter@songofjoy.nl">Voorzitter: Jaap Benschop</option>
<option value="secretariaat@songofjoy.nl">Secretaris: Jan Meijer</option>
<option value="penningmeester@songofjoy.nl">Penningmeester: Hetty van der Wee</option>
<option value="boeking@songofjoy.nl">PR: Anton van Dusseldorp</option>
<option value="bibliothecaris@songofjoy.nl">Bibliothecaris: Conny Poesiat</option>
<option value="algemeen@songofjoy.nl">Algemeen: Tiny Baardse</option>
<option value="info@songofjoy.nl">TEST</option>
</select>
</label>
</p>
<p> Naam: <br /> <input type="text" name="name" size=50 maxlength=50><br /><br />

Onderwerp: <br /> <input type="text" name="onderwerp" size=50 maxlength=50><br /><br />

E-mailadres:<br /> <input type="text" name="email" size=50 maxlength=50><br /><br />

Bericht:<br />
<textarea rows="5" cols="38" name="bericht">Bestuursformulier vanaf Song of Joy.nl;

- </textarea>
<br /><br />

<input type="submit" value=" Verstuur ">
</p>
</form>
<p>&nbsp;</p>
</div>
</div>
<div id="left">

<h3>Categorieën :</h3>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="agenda.html">Agenda</a></li>
<li><a href="hetkoor.html">Het koor</a></li>
<li><a href="wiezijnwij.html">Wie zijn wij</a></li>
<li><a href="hetbestuur.html">Het bestuur</a></li>
<li><a href="repetitors.html">Repetitors</a></li>
<li><a href="gastenboek.html">Gastenboek</a></li>
<li><a href="links.html">Links</a></li>
<li><a href="contact.html">Contact</a></li>
<li><br />
</li>
<li>
<!--CheckStat Free 4.2 Begin-->
<!--LET OP: De teller zal worden verwijderd indien-->
<!--aanpassingen zijn gemaakt aan deze code of-->
<!--wanneer het icoon niet zichtbaar is op de site.-->
<script type="text/javascript" language="javascript">
function checkstat(a,v){var set=new Array();if(typeof v=="string")
{set[0]=parseInt(v.substring(0,1))}else{set[0]=(v==3||v==4)?0:1}
var jv,sz,sc,i;js="";var td=new Date();var tm=td.getTime();
var s=screen;var d=document;var l="http://checkstat.nl/cgi-bin/";
var lo=d.URL;var n=navigator;var re=typeof(top.document)=="object"?
top.document.referrer:d.referrer;for(i=0;i<=5;i++)
{d.write('<script language="javascript1.'+i+'">js="'+i+'"<\/script>')}
if(js>=1){jv=n.javaEnabled()?"y":"n"}if(js>=2){sz=s.width+"*"+s.height;
sc=n.appName.substring(0,9)=="Microsoft"?s.colorDepth:s.pixelDepth;}
var ar="&location="+escape(lo)+"&screensize="+sz+"&screencolors="+sc+
"&javascript=1."+js+"&java="+jv+"&referrer="+escape(re)+"&time="+tm;
if(set[0]){d.write('<a target=_blank href="'+l+'show.cgi?'+a+
'"><img nosave name=icon width=19 height=19 border=0 alt="CheckStat" '+
'src="'+l+'count.cgi?'+a+ar+'"><\/a>')}else{d.write('<img width=1 '+
'height=1 src="'+l+'count.cgi?'+a+ar+'">')}}checkstat('songofjoy1','110')
</script>
<noscript>
</noscript>
<noscript>
<a href="http://checkstat.nl/cgi-bin/show.cgi?songofjoy1"
target=_blank><img
src="http://checkstat.nl/cgi-bin/count.cgi?songofjoy1" alt=CheckStat name=icon width=19 height=19
border=0 align="left" /></a>
</noscript>
<!--CheckStat Free 4.2 End-->
</li>
</ul>
</div>
<div style="clear: both;"></div>

<div id="footer"><a href="mailto:info@songofjoy.nl" title="Email">Frank Productions 2009</a></div>

</div>


</body>
</html>
 
HTML:
<form method='post' action='formulier.html'>

Daar moet je in iedergeval ff emailformulier.php of wat je pagina ook mag zijn van maken.
dus
HTML:
<form method='post' action='emailformulier.php'>
 
Ja klopt, dit stond nog fout.
Zo doet ie het iig, maar dan wil ik:

Naam:*

Onderwerp: Bestuursformulier Song of Joy.nl; *

Emailadres: *

Uw bericht: Bestuursformulier vanaf Song of Joy.nl; - *

Klik hier om terug te gaan naar de website.


In dezelfde lay-out hangen, als mijn verdere website.
En niet alleen op een witte pagina, zoals standaard php.

Hoe doe ik dat?
 
Zo hij het moeten doen.....
als je deze opslaat als emailformulier.php en op de pagina van je formulier dit
HTML:
<form method='post' action='formulier.html'>
veranderd naar
HTML:
 <form method='post' action='emailformulier.php'>
zou hij moeten werken.

emailformulier.php

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Interkerkelijk koor Song of Joy Kudelstaart</title>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>

<div id="wrap">
<div id="header">
</div>

<div id="right">

<h2>Formulier verzonden.</h2>
<div class="articles">
<p>

<?php 

$naam = $_POST['name']; 
$email = $_POST['email']; 
$bericht = $_POST['bericht']; 
$persoon = $_POST['menu']; 
$onderwerp = $_POST['onderwerp']; 

$to = "$persoon"; 
$onderwerp = "Bestuursformulier Song of Joy.nl; $onderwerp"; 
$message = "$bericht"; 
$from = "$email"; 
$headers = "From: $from"; 
mail($to,$onderwerp,$message,$headers); 
echo "Naam: $naam <br><br> Onderwerp: $onderwerp <br><br> Emailadres: $email <br><br> Uw bericht: $bericht <br><br>"; 

echo "<a href=index.html target=main>Klik hier om terug te gaan naar de website.</a>"; 

?></p> 
</div>
</div>

<div id="left"> 

<h3>Categorieën :</h3>
<ul>
<li><a href="index.html">Home</a></li> 
<li><a href="agenda.html">Agenda</a></li> 
<li><a href="hetkoor.html">Het koor</a></li> 
<li><a href="wiezijnwij.html">Wie zijn wij</a></li>
<li><a href="repetitors.html">Repetitors</a></li>
<li><a href="gastenboek.html">Gastenboek</a></li> 
<li><a href="links.html">Links</a></li>
<li><a href="contact.html">Contact</a>


</li>
</ul>
</div>
<div style="clear: both;"></div>

<div id="footer"><a href="mailto:info@songofjoy.nl" title="Email">Frank Productions 2009</a></div>

</div>


</body>
</html>
 
Nice! Hij werkt!

Hartelijk bedankt! :thumb::thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan