Mogguh,

Ben al een tijdje aan het prutsen maar 't lijkt niet erg te lukken :) Wat ik wil doen is het volgende:

Voor het radiostation waar ik werk wil ik een formuliertje maken die mailt naar een programmamaker. Nou is dat niet zo'n probleem, maar ik wil daar gewoon 1 php scriptje voor maken zodat ik niet voor ieder programma een apart formuliertje hoef te bouwen.

Die pagina wil ik oproepen als volgt: formuliertje.php?programmamaker=joop (bijvoorbeeld)

Het formuliertje moet dan naar [email protected] mailen.

Dus eigenlijk een formulier die mailt naar [email protected] (emailaddy.nl is altijd hetzelfde) ... verder moet ie checken op ingevulde veldjes en correct e-mail adres.

Heb geprobeerd de form-tutorial op deze site aan te passen met in het begin: $naar = '[email protected]' maar dat werkt dus niet, omdat-ie dat dan letterlijk neemt en de variabele $programmamaker niet aanpast.

Iemand die me hiermee kan helpen?
Komt nog wel..
Kun je Bas niet ff een schop geven?
Hij is zo verdraaid langzaam ;)
Hij doet vast weer iets MET de site
Of ligt ie nu OP de site ofzo :s.. of is ie bezig met de andere site ofzo?..
Of slaapt ie IN de site..
zet bovenaan dan eens: <? error_reporting(E_ALL); ?>
en kijk welke foutmelding je krijgt
Geen foutmeldingen na 't versturen. Check even, ik heb nu dit:

<?
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);

if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;

return $valid;
}

// geef e-mail adres op van ontvanger

$mail_ontv = $progcontact."@bladiebla.nl";

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn ";
echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>";
}

// form + tabel
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">";

// naam
echo "<tr><td>Naam:</td></tr>";
echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>";

// space
echo "<tr><td>&nbsp;</td></tr>";

// mail
echo "<tr><td>E-mail adres:</td></tr>";
echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>";

// space
echo "<tr><td>&nbsp;</td></tr>";

// mail
echo "<tr><td>Onderwerp:</td></tr>";
echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>";

// space
echo "<tr><td>&nbsp;</td></tr>";

// mail
echo "<tr><td>Bericht:</td></tr>";
echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>";

// space
echo "<tr><td>&nbsp;</td></tr>";

// button
echo "<tr><td>&nbsp;</td></tr>";
echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>";

// sluit form + tabel
echo "</form>";
echo "</table>";
}
// versturen naar
else
{
// set datum
$datum = date("d.m.Y H:i");

// set ip
$ip = $_SERVER['REMOTE_ADDR'];

$inhoud_mail = "===================================================\n";
$inhoud_mail .= "INGEVULD CONTACT formULIER\n";
$inhoud_mail .= "===================================================\n\n";

$inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= $_POST['msggs'] . "\n\n";

$inhoud_mail .= "Verstuurd op $datum via het ip " . $ip . "\n\n";

$inhoud_mail .= "===================================================\n\n";

$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";

mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);

echo "Bedankt voor het versturen van een e-mail. Je zult snel een antwoord ";
echo "krijgen indien dit nodig is.<p>";

echo "We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie ";
echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden gegeven.";
}
?>

Ik roep de pagina op met formuliertje.php?progcontact=jopie ofzo en dan zou hij dus van deze regel: $mail_ontv = $progcontact."@bladiebla.nl"; moeten maken: [email protected]

Als ik de variabele uitlees doet hij het ook prima, koppelt netjes [email protected] aanelkaar. Maar mailen doet hij niet. Al zegt het script wel dat er gemailed wordt. HELP! ;-)
okido, ik heb een oplossing gevonden.

Wat ik gedaan heb is gewoon 2 files gebruiken:

formpje.php (het formulier) en
mailer.php (het ding dat ook echt mailt)

In formpje.php heb ik een <INPUT TYPE="hidden" NAME="progcontact" VALUE="<?php print "$progcontact"; ?>"> staan.

Nu roep ik formpje.php op met formpje.php?progcontact=jopie en dan vult ie netjes de value.

Dan voert ie het mailer.php script uit en daarbij heb ik gewoon gezegd $to=$_POST['progcontact']."@bladiebla.nl";

En dan mailt ie netjes naar [email protected] ...

M'n files zien er zo uit:

-----
FORM.PHP
-----

<form action="mailer.php" method="post">
Naam: <input type="text" name="name"><br>
E-mail: <input type="text" name = "email"><br><br>
Bericht:<br>
<textarea name="bericht"></textarea><br><br>
<input name="progcontact" type="hidden" value="<?php print "$progcontact"; ?>">
<input type="submit" value="Submit">
</form>

-----
MAILER.PHP
-----
<?
$name=$_POST['name'];
$email=$_POST['email'];
$berichttekst=$_POST['bericht'];
$to=$_POST['progcontact']."@bladiebla.nl";
$message="$name heeft net het formulier ingevuld en schreef:\n$berichttekst\n\nHet e-mail address van de verzender: $email";
if(mail($to,"Formuliertje ingevuld op de site",$message,"From: $email\n")) {
echo "Bedankt voor het invullen.";
} else {
echo "Het bericht is niet verstuurd door problemen.";
}
?>

Reageren