Formulier met in en uitschrijven
karel - 23/12/2010 12:23
HTML interesse
Hallo,
Ik heb een formulier waar de bezoekers van mijn website kunnen in of uitschrijven op de nieuwsbrief. Mijn code in php heeft echter maar één subject daar waar ik er graag 2 had gehad. Bv. als iemand inschrijft dan mag het subject inschrijven op de nieuwsbrief zijn. Bij het uitschrijven op de nieuwsbrief wens ik dat het subject uitschrijven op de nieuwsbrief is.
Kan iemand mij hierbij helpen ?
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'])) {
function check_email($address) {
list($local, $host) = explode("@", $address);
$pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
$pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
$match_local = preg_match($pattern_local, $local);
$match_host = preg_match($pattern_host, $host);
if($match_local && $match_host) {
return 1;
} else {
return 0;
}
}
// afhandling radio buttons
if($_POST['actie'] == "aan") {
$actie = "ingeschreven";
}
if($_POST['actie'] == "uit") {
$actie = "uitgeschreven";
}
if($_POST['actie'] == "geen") {
$actie = "geen actie";
}
if (!trim($_POST['inschrijven']))
$error="U moet een e-mail adres invullen!";
if ($error != "") {
echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te keren";
} else {
$to = "nieuwsbrief@mijnwebsite.be";
$subject = "Nieuwsbrief";
$bericht = "U bent ".$actie." op de nieuwsbrief, uw e-mail adres: " . $_POST['inschrijven'] ;
$header = "FROM: ". $_POST['inschrijven'];
mail($to,$subject, $bericht, $header);
echo "".$bericht ."";
}
} else {
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' && isset ( $_POST [ 'verzenden' ] ) ) {
function check_email( $address ) {
$pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$" ;
$pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$" ;
$match_local = preg_match ( $pattern_local , $local ) ; if ( $match_local && $match_host ) {
return 1 ;
} else {
return 0 ;
}
}
// afhandling radio buttons
if ( $_POST [ 'actie' ] == "aan" ) {
$actie = "ingeschreven" ;
}
if ( $_POST [ 'actie' ] == "uit" ) {
$actie = "uitgeschreven" ;
}
if ( $_POST [ 'actie' ] == "geen" ) {
$actie = "geen actie" ;
}
if ( ! trim ( $_POST [ 'inschrijven' ] ) ) $error = "U moet een e-mail adres invullen!" ;
if ( $error != "" ) {
echo $error . "<br><a href=\" javascript:history.go(-1);\" >Klik hier</a> om terug te keren" ; } else {
$to = "nieuwsbrief@mijnwebsite.be" ;
$subject = "Nieuwsbrief" ;
$bericht = "U bent " . $actie . " op de nieuwsbrief, uw e-mail adres: " . $_POST [ 'inschrijven' ] ;
$header = "FROM: " . $_POST [ 'inschrijven' ] ;
mail ( $to , $subject , $bericht , $header ) ; }
} else {
?>
10 antwoorden
Gesponsorde links
valles10 - 23/12/2010 12:26
HTML interesse
$subject = "Nieuwsbrief";
$subject = "Nieuwsbrief" ;
naar
$subject = "Nieuwsbrief ".$actie;
$subject = "Nieuwsbrief " . $actie ;
het is wel makkelijker als je nog een extra variabele maakt, met de tekst die je wilt.
Bedankt door: karel
karel - 23/12/2010 12:34 (laatste wijziging 23/12/2010 12:53)
HTML interesse
Bedankt voor de reactie, het werkt.
Nog een vraagje
Ik wens dit gedeelte in bold en in het rood weergeven, hoe doe ik dat ?
$bericht ="U bent ".$actie." op de nieuwsbrief, uw e-mail adres: " . $_POST['inschrijven'] ;
$bericht = "U bent " . $actie . " op de nieuwsbrief, uw e-mail adres: " . $_POST [ 'inschrijven' ] ;
Realtec - 23/12/2010 13:07
HTML interesse
Headers toevoegen zodat je een html mail verzend en dan kun je gewoon html tags bebruiken.
valles10 - 23/12/2010 13:28 (laatste wijziging 23/12/2010 13:29)
HTML interesse
vervang
$header = "FROM: ". $_POST['inschrijven'];
$header = "FROM: " . $_POST [ 'inschrijven' ] ;
met
$header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header .= "FROM: ". $_POST['inschrijven'];
$header = 'Content-type: text/html; charset=iso-8859-1' . "\r \n " ;
$header .= "FROM: " . $_POST [ 'inschrijven' ] ;
karel - 23/12/2010 16:00 (laatste wijziging 23/12/2010 16:34)
HTML interesse
Ik veranderde de header doch gebeurt er niets ?
Wat doe ik verkeerd ?
Alvast bedank voor uw antwoord.
WouterJ - 23/12/2010 17:10
HTML gevorderde
Misschien nog de html tags toevoegen? Want het gebeurd niet plotseling.
En als je naar de code kijkt zie je ook niks dat hij rood/dik maakt.
karel - 23/12/2010 18:23 (laatste wijziging 28/12/2010 09:11)
HTML interesse
Kan Iemand mij helpen AUB
Ok, het werkt op de .php pagina. Mijn tekst staat in bold, maar op de mail die ik toegestuurd krijg zie je de html tags staan ? Is misschien logisch daar de mail die ik krijg .txt is en geen html.
Zij er misschien andere oplossingen, hier nogmaals mijn code:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'])) {
function check_email($address) {
list($local, $host) = explode("@", $address);
$pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
$pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
$match_local = preg_match($pattern_local, $local);
$match_host = preg_match($pattern_host, $host);
if($match_local && $match_host) {
return 1;
} else {
return 0;
}
}
// afhandling radio buttons
if($_POST['actie'] == "aan") {
$actie = "ingeschreven";
}
if($_POST['actie'] == "uit") {
$actie = "uitgeschreven";
}
if($_POST['actie'] == "geen") {
$actie = "geen actie";
}
if (!trim($_POST['inschrijven']))
$error="U moet een e-mail adres invullen!";
if ($error != "") {
echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te keren";
} else {
$to = "nieuwsbrief@mijn website.be";
$subject = "Nieuwsbrief ".$actie;
$bericht ="U bent ".$actie." op de nieuwsbrief, uw e-mail adres:" . $_POST['inschrijven'] ;
$header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header = "FROM: ". $_POST['inschrijven'];
mail($to,$subject, $bericht, $header);
echo "".$bericht ."";
}
} else {
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' && isset ( $_POST [ 'verzenden' ] ) ) {
function check_email( $address ) {
$pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$" ;
$pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$" ;
$match_local = preg_match ( $pattern_local , $local ) ; if ( $match_local && $match_host ) {
return 1 ;
} else {
return 0 ;
}
}
// afhandling radio buttons
if ( $_POST [ 'actie' ] == "aan" ) {
$actie = "ingeschreven" ;
}
if ( $_POST [ 'actie' ] == "uit" ) {
$actie = "uitgeschreven" ;
}
if ( $_POST [ 'actie' ] == "geen" ) {
$actie = "geen actie" ;
}
if ( ! trim ( $_POST [ 'inschrijven' ] ) ) $error = "U moet een e-mail adres invullen!" ;
if ( $error != "" ) {
echo $error . "<br><a href=\" javascript:history.go(-1);\" >Klik hier</a> om terug te keren" ; } else {
$to = "nieuwsbrief@mijn website.be" ;
$subject = "Nieuwsbrief " . $actie ;
$bericht = "U bent " . $actie . " op de nieuwsbrief, uw e-mail adres:" . $_POST [ 'inschrijven' ] ;
$header = 'Content-type: text/html; charset=iso-8859-1' . "\r \n " ;
$header = "FROM: " . $_POST [ 'inschrijven' ] ;
mail ( $to , $subject , $bericht , $header ) ; }
} else {
?>
Het probleem om de tekst in een kleur te zetten dat kon ik nog niet oplossen ?
Alvast bedankt voor een antwoord
Aar - 28/12/2010 09:51
PHP interesse
Waarom gebruik je niet meteen phpMailer?
Dan weet je zeker dat je volgens de juiste standaard mailt.
Bedankt door: karel
Cylon - 10/01/2011 15:48
Lid
Karel, Kan je code dan weer even laaten zien waar je die tags gebruikt
Anders moeten wij het raden wat er verkeerd zit in je tags
Groetjes,
Cylon
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.