ik heb een probleem, ik een formulier gemaakt in html, het formulier wordt verzonden door een mail.php zonder database!! hij komt nu wel in mijn mailbox maar de velden zijn leeg!! wie kan me vertellen hoe deze velden wel in de mail worden weer gegeven.

<div id="form">
<h2>Stuur een bericht</h2>
<form action="mail.php" form method="post">
<table id="userData">
<tr><th>Naar:</th>
<td><input type="text" name="to" value="[email protected]"></td>
</tr>
<tr><th>Van:</th>
<td><input type="text" name="from" value="">
</td>
</tr>
<tr>
<th>Onderwerp:</th>
<td><input type="subject" name="">
</td>
</tr>
<tr>
<th>Text:</th>
<td>
<textarea name="text"></textarea>
</td>
</tr>
<tr><td>
<input type=submit value="Verstuur">
<td><tr>
</table>
</FORM>

en mij mail.php is zo.

<?php

$x = mail( $_POST['to'], $_POST['subject'], $_POST['tekst'] ,
'From: ' . $_POST['from'] . "\r\n". "Reply-to: " . $_POST['from']);

if ($x == 1){echo ("Uw email is verstuurt.") ;
} else {
echo ("\nUw email is niet verstuurt !") ;
}
?>
<th>Onderwerp:</th>
<td><input type="subject" name="">
</td>
</tr>
<tr>
<th>Text:</th>
<td>
<textarea name="text"></textarea>
</td>


Door je namen juist te zetten...
De tekstveld namen moeten overeen komen met de POSTS die je gebruikt...
Zo moet het formulier worden:

<div id="form">
<h2>Stuur een bericht</h2>
<form action="mail.php" form method="post">
<table id="userData">
<tr><th>Naar:</th>
<td><input type="text" name="to" value="[email protected]"></td>
</tr>
<tr><th>Van:</th>
<td><input type="text" name="from" value="">
</td>
</tr>
<tr>
<th>Onderwerp:</th>
<td><input type="text" name="subject">
</td>
</tr>
<tr>
<th>Text:</th>
<td>
<textarea name="tekst"></textarea>
</td>
</tr>
<tr><td>
<input type=submit value="Verstuur">
<td><tr>
</table>
</FORM>

En het php stuk kan ook gewoon zo:

<?
if (mail( $_POST['to'], $_POST['subject'], $_POST['tekst'] ,
'From: ' . $_POST['from'] . "\r\n". "Reply-to: " . $_POST['from'])) {
echo 'Uw email is verstuurd.';
}
else {
echo 'Uw email is niet verstuurd';
}
?>

Verder is verstuurd dus met een D ipv met een T.

Je moet de variabelen wel goed noemen anders zijn ze idd niet op te halen. Ik raad je eigenlijk best wel aan om eerst eens de basis van HTML formulieren te gaan leren (voor zover er heel uitgebreide dingen mee te doen zijn...maar goed). En als je dat goed begrijpt verder te gaan met PHP. Want als je een variabele $_POST['text'] noemt en met $_POST['tekst'] op wil halen kom je niet ver..
bedankt! id ik was wat slordig met me taal. Ik heb geen ervaring met php maar zo komt het wel oke. hij doet het!! dank u
miky schreef op 28.09.2004 20:28
<form action="mail.php" form method="post">

Waarom verwerk je het niet in 1 bestand? bijv. mail.php
dan heb je alles overzichtelijk bij elkaar, en kun je het volgende gebruiken:

<form name="mailform" action="<?= $_SERVER['$PHP_SELF']; ?>" method="post">

het blijft jouw keuze natuurlijk :P

Reageren