login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Formulier met in en uitschrijven

Offline karel - 23/12/2010 12:23
Avatar van karelHTML 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 ?

  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'])) {
  3.  
  4. function check_email($address) {
  5. list($local, $host) = explode("@", $address);
  6. $pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
  7. $pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
  8. $match_local = preg_match($pattern_local, $local);
  9. $match_host = preg_match($pattern_host, $host);
  10. if($match_local && $match_host) {
  11. return 1;
  12. } else {
  13. return 0;
  14. }
  15. }
  16.  
  17. // afhandling radio buttons
  18. if($_POST['actie'] == "aan") {
  19. $actie = "ingeschreven";
  20. }
  21.  
  22. if($_POST['actie'] == "uit") {
  23. $actie = "uitgeschreven";
  24. }
  25.  
  26. if($_POST['actie'] == "geen") {
  27. $actie = "geen actie";
  28. }
  29. if (!trim($_POST['inschrijven']))
  30. $error="U moet een e-mail adres invullen!";
  31. if ($error != "") {
  32. echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te keren";
  33. } else {
  34. $to = "nieuwsbrief@mijnwebsite.be";
  35. $subject = "Nieuwsbrief";
  36. $bericht = "U bent ".$actie." op de nieuwsbrief, uw e-mail adres: " . $_POST['inschrijven'] ;
  37. $header = "FROM: ". $_POST['inschrijven'];
  38. mail($to,$subject, $bericht, $header);
  39. echo "".$bericht ."";
  40. }
  41. } else {
  42. ?>

10 antwoorden

Gesponsorde links
Offline valles10 - 23/12/2010 12:26
Avatar van valles10 HTML interesse
  1. $subject = "Nieuwsbrief";

naar
  1. $subject = "Nieuwsbrief ".$actie;

het is wel makkelijker als je nog een extra variabele maakt, met de tekst die je wilt.
Bedankt door: karel
Offline karel - 23/12/2010 12:34 (laatste wijziging 23/12/2010 12:53)
Avatar van karel 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 ?
  1. $bericht ="U bent ".$actie." op de nieuwsbrief, uw e-mail adres: " . $_POST['inschrijven'] ;
Offline Realtec - 23/12/2010 13:07
Avatar van Realtec HTML interesse Headers toevoegen zodat je een html mail verzend en dan kun je gewoon html tags bebruiken.
Offline valles10 - 23/12/2010 13:28 (laatste wijziging 23/12/2010 13:29)
Avatar van valles10 HTML interesse vervang
  1. $header = "FROM: ". $_POST['inschrijven'];
met
  1. $header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  2. $header .= "FROM: ". $_POST['inschrijven'];
Offline karel - 23/12/2010 16:00 (laatste wijziging 23/12/2010 16:34)
Avatar van karel HTML interesse Ik veranderde de header doch gebeurt er niets ?
Wat doe ik verkeerd ?

Alvast bedank voor uw antwoord.
Offline WouterJ - 23/12/2010 17:10
Avatar van WouterJ 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.
Offline karel - 23/12/2010 18:23 (laatste wijziging 28/12/2010 09:11)
Avatar van karel 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:
  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'])) {
  3.  
  4. function check_email($address) {
  5. list($local, $host) = explode("@", $address);
  6. $pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
  7. $pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
  8. $match_local = preg_match($pattern_local, $local);
  9. $match_host = preg_match($pattern_host, $host);
  10. if($match_local && $match_host) {
  11. return 1;
  12. } else {
  13. return 0;
  14. }
  15. }
  16.  
  17. // afhandling radio buttons
  18. if($_POST['actie'] == "aan") {
  19. $actie = "ingeschreven";
  20. }
  21.  
  22. if($_POST['actie'] == "uit") {
  23. $actie = "uitgeschreven";
  24. }
  25.  
  26. if($_POST['actie'] == "geen") {
  27. $actie = "geen actie";
  28. }
  29. if (!trim($_POST['inschrijven']))
  30. $error="U moet een e-mail adres invullen!";
  31. if ($error != "") {
  32. echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te keren";
  33. } else {
  34. $to = "nieuwsbrief@mijn website.be";
  35. $subject = "Nieuwsbrief ".$actie;
  36. $bericht ="U bent ".$actie." op de nieuwsbrief, uw e-mail adres:" . $_POST['inschrijven'] ;
  37. $header = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  38. $header = "FROM: ". $_POST['inschrijven'];
  39. mail($to,$subject, $bericht, $header);
  40. echo "".$bericht ."";
  41. }
  42. } else {
  43. ?>


Het probleem om de tekst in een kleur te zetten dat kon ik nog niet oplossen ?

Alvast bedankt voor een antwoord
Offline Aar - 28/12/2010 09:51
Avatar van Aar PHP interesse Waarom gebruik je niet meteen phpMailer?
Dan weet je zeker dat je volgens de juiste standaard mailt.
Bedankt door: karel
Offline karel - 29/12/2010 08:44
Avatar van karel HTML interesse Misschien is dat een oplossing, doch moet ik dan een volledige nieuwe pagina maken .
Verder heb ik geen ervaring met phpMailer, dus ik zou niet weten hoe er aan te beginnen.

Er is dus geen oplossing om verder te werken met mijn eigen script ?
Misschien toch nog even resumeren.

De bedoeling is dat de text in het rood en vet komt op mijn php document van mijn website en dit bij het inschrijven of et uitschrijven. Het is niet de bedoeling dat deze op de mail die verzonden word in het vet of rood staat,dat is voor mij geen probleem.

Ik probeerde met html tags toe te voegen doch worden deze tags mee verstuurd en worden deze zichtbaar wanneer de mail toekomt bij de in of uitschrijven = .txt bestand.
Misschien plaatst ik de tags verkeerd in het php script, ik weet het niet ?
Offline Cylon - 10/01/2011 15:48
Avatar van Cylon 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.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.279s