Avatar billede oersted Novice
03. marts 2010 - 14:53 Der er 12 kommentarer

Felt til email i form

hvordan sætter jeg denne til OGSÅ at sende til den mail adresse som er indtastet i formen ?

Den sender fint til den foruddefinere adresse.




        $MyName = "Bestilling fra xxx.dk";
        $MyEmail = "jesper@stevnhoved.eu";
        $Subject = "$name har bestilt ophold på hindsgavlfestival.dk.";
        $EmailBody = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
       
        $EmailFooter = "";
       
        $Message = $EmailBody.$EmailFooter;
       
        mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
   
       
        // Email Script End
       
        print "&gb_status=Tak for bestillingen. Vi har sendt en mail til dig. Bekræftelse og info vedr. betaling følger indenfor 48 timer. &done=yes&";
        return;
        }
        print "&_root.write.gb_status=Bestilling blev IKKE sendt!&";
        break;
  }
Avatar billede repox Seniormester
03. marts 2010 - 14:57 #1
efter den første
mail(...

skriver du dette:
mail($name." <".$email.">",$Subject, $Message, "From: ".$MyName." <".$MyEmail.">");
Avatar billede oersted Novice
03. marts 2010 - 15:52 #2
så simpelt, tak

Men egentlig vil jeg gerne ha en anden besked i den mail som sendes til den der har sendt formen, men fgl. virker ikke:

$MyName = "Bekræftelse af bestilling fra xxx.dk";
        $MyEmail = "jesper@stevnhoved.eu";
        $Subject = "$name har bestilt ophold på xxx.dk.";
        $Subject2 = "Kære $name - Vi har modtaget din bestilling på hindsgavlfestival.dk.";
        $EmailBody = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
        $EmailBody2 = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
       
        $EmailFooter2 = "Du modtager snarest en mail fra os med endelig bekræftelse og info om betaling.";
       
        $Message = $EmailBody.$EmailFooter;
        $Message2 = $EmailBody2.$EmailFooter2;
       
        mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
        mail($name." <".$email.">",$Subject2, $Message2, "From: ".$MyName." <".$MyEmail.">");


--

hmm
Avatar billede repox Seniormester
03. marts 2010 - 16:02 #3
...
Du har ikke en $EmailFooter, kun en $EmailFooter2.
Men udover det, så kan jeg jo kun gætte på hvad du mener med at det 'ikke virker'...
Avatar billede oersted Novice
03. marts 2010 - 16:12 #4
ja ok

der skulle gerne to forskellige mails ud - en til websites email
og en til den der har sendt formular:


$MyName = "Bekræftelse af bestilling fra hindsgavlfestival.dk";
        $MyEmail = "jesper@stevnhoved.eu";
        $Subject = "$name har bestilt ophold på hindsgavlfestival.dk.";
        $Subject2 = "Kære $name - Vi har modtaget din bestilling på hindsgavlfestival.dk.";
        $EmailBody = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
        $EmailBody2 = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
        $EmailFooter = "";
        $EmailFooter2 = "Du modtager snarest en mail fra os med endelig bekræftelse og info om betaling.";
       
        $Message = $EmailBody.$EmailFooter;
        $Message2 = $EmailBody2.$EmailFooter2;
       
        mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
        mail($name." <".$email.">", $Message2 ">");
Avatar billede repox Seniormester
03. marts 2010 - 16:17 #5
Nu mangler der jo også resten i den anden mail(... ?
Der har du kun to parametre med?
Den kræver som udgangspunkt tre.
Avatar billede Slettet bruger
03. marts 2010 - 17:33 #6
Som sagt, du skal vel have parametrene med, ligesom i den øverste mail-funktion:

mail($name." <".$email.">", $Subject, $Message2, "From: ".$MyName." <".$MyEmail.">");
Avatar billede oersted Novice
03. marts 2010 - 21:19 #7
der sendes ikke en hat.
Måske skal der være et "&send" eller hvad det hedder
Avatar billede repox Seniormester
04. marts 2010 - 10:15 #8
Prøv lige at sende hele dit script igen.
Avatar billede oersted Novice
06. marts 2010 - 13:11 #9
<?php
/*
-----
Application: Flash-dB GuestBook Version 2.0
Details:    mySQL and PHP powered GuestBook
Author:      Mohsin Sumar
Website:    http://www.flash-db.com
Support:    http://www.flash-db.com/Board
Notes:      Coments are marked by using comment entries symbols. Eg: // Comment
-----
*/

// Part One - Initiate a mySQL Database Connection
// Database Connectivity Variables and other Variables
  $DBhost = "localhost";  // Database Server
  $DBuser = "hindsgavlfestiv";            // Database User
  $DBpass = "gvGeUhn2";            // Database Pass
  $DBName = "hindsgavlfestiv";            // Database Name
  $table = "ophold";            // Database Table
  $numComments = 10;      // Number of Comments per page
 
// Connect to mySQL Server
  $DBConn = mysql_connect($DBhost,$DBuser,$DBpass) or die("Fejl: " . mysql_error());
  // Select mySQL Database
  mysql_select_db($DBName, $DBConn) or die("Fejl: " . mysql_error());

// Part Two - Choose what action to perform
  $action = $_GET['action'];
 
  switch($action) {
      case 'read' :
        // Fetch all comments from database table
        $sql = 'SELECT * FROM `' . $table . '`';
        $allComments = mysql_query($sql, $DBConn) or die("Fejl: " . mysql_error());
        $numallComments = mysql_num_rows($allComments);
        // Fetch page-wise comments from database table
        $sql .= ' ORDER BY `time` DESC LIMIT ' . $_GET['NumLow'] . ', ' . $numComments;
        $fewComments = mysql_query($sql, $DBConn) or die("Fejl: " . mysql_error());
        $numfewComments = mysql_num_rows($fewComments);
        // Generate Output for Flash to Read
        print '&totalEntries=' . $numallComments . '&';
        print "<br>&entries=";   
       
        if($numallComments == 0) {
            print "No entries in the guestbook, as yet..";
        } else {
            while ($array = mysql_fetch_array($fewComments)) {
              $navn = mysql_result($fewComments, $i, 'navn');
              $email = mysql_result($fewComments, $i, 'email');
              $kommentar = mysql_result($fewComments, $i, 'kommentar');
              $time = mysql_result($fewComments, $i, 'time');
             
              print '<b>Name: </b>' . $navn . '<br><b>Email: </b>' . $email . '<br><b>Comments: </b>' . $kommentar . '<br><i>Date: ' . $time . '</i><br><br>';
              $i++;
            }
        }
        // Print this only when there aren't any more entries..
        if($_GET['NumLow'] > $numallComments) {
          print 'No More Entries!&';
        }
        break;
       
      case 'write' :
        // Recieve Variables From Flash
        $navn = ereg_replace("&", "%26", $_POST['navn']);
        $email = ereg_replace("&", "%26", $_POST['email']);
        $adresse = ereg_replace("&", "%26", $_POST['adresse']);
        $enkelt = ereg_replace("&", "%26", $_POST['enkelt']);
        $dobbelt = ereg_replace("&", "%26", $_POST['dobbelt']);
        $ankomst = ereg_replace("&", "%26", $_POST['ankomst']);
        $afrejse = ereg_replace("&", "%26", $_POST['afrejse']);
        $boern = ereg_replace("&", "%26", $_POST['boern']);
        $festivalbord = ereg_replace("&", "%26", $_POST['festivalbord']);
        $kommentar = ereg_replace("&", "%26", $_POST['kommentar']);
        $submit = $_POST['submit'];
           
        // Current system date in yyyy-mm-dd format
        $submitted_on = date ("Y-m-d H:i:s",time());
               
        // Check if its submitted from Flash
        if($submit == 'Yes'){
        // Insert the data into the mysql table
        $sql = 'INSERT INTO ' . $table .
          ' (`ID`,
                  `navn`,
                  `email`,
                  `adresse`,
                  `enkelt`,
                  `dobbelt`,
                  `ankomst`,
                  `afrejse`,
                  `boern`,
                  `festivalbord`,
                  `kommentar`,
                  `time`
                  )
                  VALUES
                  (\'\','
                  . '\'' . $navn . '\','
                  . '\'' . $email . '\','
                  . '\'' . $adresse . '\','
                  . '\'' . $enkelt . '\','
                  . '\'' . $dobbelt . '\','
                  . '\'' . $ankomst . '\','
                  . '\'' . $afrejse . '\','
                  . '\'' . $boern . '\','
                  . '\'' . $festivalbord . '\','
                  . '\'' . $kommentar . '\','
                  . '\'' . $submitted_on . '\'
                  )';
        $insert = mysql_query($sql, $DBConn) or die("Fejl: " . mysql_error());
       
        // If you want your script to send email to both you and the guest, uncomment the following lines of code
        // Email Script Begin
       
       
        $MyName = "Bekræftelse af bestilling fra hindsgavlfestival.dk";
        $MyEmail = "jesper@stevnhoved.eu";
        $Subject = "$name har bestilt ophold på hindsgavlfestival.dk.";
        $Subject2 = "Kære $name - Vi har modtaget din bestilling på hindsgavlfestival.dk.";
        $EmailBody = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
        $EmailBody2 = "$navn\n$email\n$adresse\n$enkelt\n$dobbelt\n$ankomst\n$afrejse\n$boern\n$festivalbord\n$kommentar";
        $EmailFooter = "";
        $EmailFooter2 = "Du modtager snarest en mail fra os med endelig bekræftelse og info om betaling.";
       
        $Message = $EmailBody.$EmailFooter;
        $Message2 = $EmailBody2.$EmailFooter2;
       
        mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
        mail($name." <".$email.">", $Subject, $Message2, "From: ".$MyName." <".$MyEmail.">"); 
       
        // Email Script End
       
        print "&gb_status=Tak for bestillingen. Vi har sendt en mail til dig. Bekræftelse og info vedr. betaling følger indenfor 48 timer. &done=yes&";
        return;
        }
        print "&_root.write.gb_status=Bestilling blev IKKE sendt!&";
        break;
  }
 
 
 
       
   
?>
Avatar billede Slettet bruger
06. marts 2010 - 19:23 #10
1) Advarsel, SQL Injection forude
$sql .= ' ORDER BY `time` DESC LIMIT ' . $_GET['NumLow'] . ', ' . $numComments;

2) ereg_replace, både forældet og langsom. Brug str_replace i stedet.

3) $name defineres aldrig. Til gengæld defineres $navn lidt længere oppe i teksten.
mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
mail($name." <".$email.">", $Subject, $Message2, "From: ".$MyName." <".$MyEmail.">");

4) Desuden, husk også lige at skifte kodeordet til databasen, nu hvor hele Eksperten.dk's brugerstab kan se det.
Avatar billede oersted Novice
06. marts 2010 - 20:29 #11
tak (især for 4...)
Avatar billede Slettet bruger
07. marts 2010 - 01:09 #12
Tak hellere for 1. Chancen for at en ondsindet hacker tilfældigvis finder kodeordet her er vædentligt mindre, end chancen for at han udnytter et hul til SQL Injection. Og resultatet er jo det samme: fri adgang til databasen.

Klar til at lukke?

Hvordan gik det i øvrigt med Strømbergs side?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester