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)
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.
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...
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);
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");
}
?>
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.
<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");
}
?>