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?
Probeer dan eens:

$naar = $programmamaker.'@mailaddy.nl';

dan werkt het waarschijnlijk wel.
Hoi,

Bedankt voor je snelle reply. Heb het geprobeerd en als ik nu de variabele $naar laat echo-en ofzo, dan klopt het. Enige probleem is dat het script niet mailt. Ik heb als script het contactformulier-script gebruikt uit het scriptarchief hier: http://www.phphulp.nl/php/scripts/2/12/

Ik heb het volgende aangepast:

// geef e-mail adres op van ontvanger
$mail_ontv = $programmamaker.'@bladiebla.nl';

Hij mailt alleen niet :/

Als ik een echo "$mail_ontv"; doe dan staat er keurig [email protected] maar mailen ho maar...
vergeet maar wat hier net stond.. 't werkt dus nog niet :(
ik dacht aan zoiet... inclusief database die bijhoud wat je allemaal mailt...
ik heb het niet getest, maar hij zou het zo moeten doen, zo niet: MELD HET GEWOON :D of verbeter het zelf...

// TABLE //
CREATE TABLE mails (
ID int not null auto_increment primary key,
naam varchar(30) not null,
email varchar(50),
mail varchar(50) not null,
bericht longtext not null
);
// eind table //

//jouwmailpagina.php//
<? /*
Als je het met database wilt...
je kan ook IP enzo opslaan, zodat je dreigbrief verstuurders kan blocken...
*/
$hostname = "mijn_hostname";
$username = "mijn_username";
$password = "mijn_password";
$db = "database";
//verander je database gegevens
$global_dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $global_dbh);

// hieronder je opmaak verbeteren...
?>

<html>
<title>mailaddy.nl</title><body>

<form method="post" action="<?php print($PHP_SELF); ?>">
<table>
<tr>
<th colspan="2"> - @mailaddy - </th>
</tr>
<tr>
<td align="right">Naam:</td>
<td><input type="text" name="naam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Eigen email </td>
<td><input type="text" name="email" size="20" maxlength="30" />(voor antwoord)</td>
</tr>
<tr>
<td align="right">naar:</td>
<td><input type="text" name="mail" size="20" maxlength="30" />@mailaddy.nl</td>
</tr>
<tr>
<td align="right">Bericht:</td>
<td><textarea name="email" cols="50" rows="7" ></textarea></td>
<tr>

<td> <input type="submit" value="sturen" /></td>
</tr>
</table>
</form>

<?php




//niet aankomen...

if($row == 0)
{
$query_2 = "INSERT INTO mails (naam, naar, bericht) values ('$_POST[naam]','$_POST[email]' '$_POST[mail]', '$_POST[bericht]')";
$result_id_2 = mysql_query($query_2) or die(mysql_query($query_2));
$naar = $_POST['mail'] + "@mailaddy.nl";
$_POST['bericht'] = nl2br($_POST['bericht']);
//je kan het bericht dat verstuurd word hier
//bewerken... als je dat wilt
$mailsend = mail($naar, "Bericht van $_POST[naam]", "$_POST[naam] Stuurde dit bericht: \n\n $_POST[bericht]\n\n zijn/haar email = $_POST[email]");
?>

<table>
<tr>
<td>

<?php
if($mailsend && $result_id_2)
{
//als het is gelukt...
print("Je bericht is verzonden. wacht geduldig op antwoord");
}
else
{
//mislukt
print("Mislukt! er is iets misgegaan met invullen of met e-mailen");
}
?>

</td>
</tr>
</table>
<?php
}
?>

</body>
</html>
Geen variabelen tussen quotes!
Het php stukje na het formulier moet dan zoiets worden:

<?php




//niet aankomen...

if($row == 0)
{
$query_2 = "INSERT INTO mails (naam, naar, bericht) values ('".$_POST['naam']."','".$_POST['email']."' '".$_POST['mail']."', '".$_POST['bericht']."')";
$result_id_2 = mysql_query($query_2) or die(mysql_query($query_2));
$naar = $_POST['mail'] + "@mailaddy.nl";
$_POST['bericht'] = nl2br($_POST['bericht']);
//je kan het bericht dat verstuurd word hier
//bewerken... als je dat wilt
$van = "Bericht van ".$_POST['naam'];
$bericht = $_POST['naam']." Stuurde dit bericht: \n\n ".$_POST['bericht']."\n\n zijn/haar email is: ".$_POST['email'];
$mailsend = mail($naar,$van,$bericht);
?>
't Is niet erg noodzakelijk om wat er verstuurd wordt ook nog in een database op te slaan. Sterker nog: Liever niet ;-) 't Gaat om korte berichtjes die tijdens een programma ff snel verstuurd kunnen worden via de site.
Ok dan gebruik je dit:
<html>
<title>mailaddy.nl</title><body>

<form method="post" action="<?php print($PHP_SELF); ?>">
<table>
<tr>
<th colspan="2"> - @mailaddy - </th>
</tr>
<tr>
<td align="right">Naam:</td>
<td><input type="text" name="naam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Eigen email </td>
<td><input type="text" name="email" size="20" maxlength="30" />(voor antwoord)</td>
</tr>
<tr>
<td align="right">naar:</td>
<td><input type="text" name="mail" size="20" maxlength="30" />@mailaddy.nl</td>
</tr>
<tr>
<td align="right">Bericht:</td>
<td><textarea name="email" cols="50" rows="7" ></textarea></td>
<tr>

<td> <input type="submit" value="sturen" name="submit" /></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['submit']))
{
$naar = $_POST['mail'] + "@mailaddy.nl";
$_POST['bericht'] = nl2br($_POST['bericht']);
//je kan het bericht dat verstuurd word hier
//bewerken... als je dat wilt
$van = "Bericht van ".$_POST['naam'];
$bericht = $_POST['naam']." Stuurde dit bericht: \n\n ".$_POST['bericht']."\n\n zijn/haar email is: ".$_POST['email'];
$mailsend = mail($naar,$van,$bericht);
?>
<table>
<tr>
<td>

<?php
if($mailsend)
{
//als het is gelukt...
print("Je bericht is verzonden. wacht geduldig op antwoord");
}
else
{
//mislukt
print("Mislukt! er is iets misgegaan met invullen of met e-mailen");
}
?>

</td>
</tr>
</table>
<?php
}
?>

</body>
</html>
eej kregeler broertje van....?
Het werkt nog niet bij mij,
ik heb @mailaddy.nl vervangen door @hotmail.com
maar er staat steeds dat de gegevens niet verstuurd zijn :S
Broer! van. ;-) Met iets minder PHP ervaring. Veel minder, zelfs.

Reageren