Ik snap de logica van Smarty even niet.

contact.php
<?php
session_start();
include('libs/Smarty.class.php');

// create object
$smarty = new Smarty;

// assign some content. This would typically come from
// a database or other source, but we'll use static
// values for the purpose of this example.
//$smarty->assign('title', 'Contact');

// display it
$smarty->display('extends:layout.tpl|header.tpl|contact.tpl|footer.tpl'); 

// contact
if (isset($_POST['Submit]'])) {
	$to = "[email protected]";
	$subject = "Nieuw bericht";
	$message = $_POST['bericht'];
	
	if (mail($to, $subject, $message)) {
		echo "<p>Bericht verzonden!</p>";
	} else {
		echo "<p><strong>Mislukt!</strong> Probeer het opnieuw!</p>";
	}
}
?>

contact.tpl
{extends file="layout.tpl"}
{block name=title}Contact{/block}
{block name=content}
<form id="contact" name="contact" method="post" action="contact.php">
  <table width="450" border="0" cellpadding="3" cellspacing="0">
    <tr>
      <td width="83" align="right" valign="top">Van:</td>
      <td width="355"><input name="van" type="text" id="van" /></td>
    </tr>
    <tr>
      <td align="right" valign="top">Body:</td>
      <td><textarea name="bericht" id="bericht"></textarea></td>
    </tr>
    <tr>
      <td><input name="Submit" type="submit" value="Zenden" /></td>
    </tr>
  </table>
</form>
{/block}


Werkt niet. Hoe moet het eigenlijk ?

[size=xsmall]Toevoeging op 18/05/2011 16:38:03:[/size]

Misschien ook opmerkingen over mijn tree ?
1) Gebruik geen: if (isset($_POST['Submit]'])) {

maar wel:

if($_SERVER['REQUEST_METHOD']=="POST") {

Verder weet ik weinig van extenden, heb je al gekeken naar je debug-console?
Dankje, Aar!

Debug console laat weinig zien. Ik krijg die formulier echt niet aan de praat.
Wat werkt er precies niet? Ontvang je geen mail (dan kan het aan iets anders liggen) of word je formulier niet gesubmit?

Wat meer info zal handig zijn.

Edit: Ik heb ook nog nooit een extends binnen je display gezien. Klopt dit wel?
Mijn template werkt perfect, ik heb het van de Smarty site gehaald, dus ik denk niet dat het daaraan zal liggen ? Suggesties zijn welkom :)

Ik ontvang geen mail én mijn formulier wordt niet gesubmit.
$_POST['Submit]'] moet $_POST['Submit'] zijn. En gebruik de methode van Aar.

En het lijkt mij het handigst om display altijd onderaan je pagina te definiëren aangezien het dan handiger is om meldingen weer te geven wanneer een formulier gesubmit is.
Arjan - op 18/05/2011 17:14:24

$_POST['Submit]'] moet $_POST['Submit'] zijn. En gebruik de methode van Aar.

En het lijkt mij het handigst om display altijd onderaan je pagina te definiëren aangezien het dan handiger is om meldingen weer te geven wanneer een formulier gesubmit is.


LOL! Dat was het!

Nu nog uitzoeken hoe ik die tekst correct plaats :D

Reageren