Avatar billede hans01 Nybegynder
14. marts 2007 - 18:19 Der er 15 kommentarer og
1 løsning

Formmail newbie

Jeg har rodet lidt med PHP og vil gerne have tilsendt en formmail hver gang nogen har udfyldt min formular, her er scriptet som jeg ikke kan få til at køre. Hvad gør jeg forkert.

<form action="redirect.php" method="POST"><p align="left">
   
   
  <p>Full Name: </p><p><input name="name" type="text" onblur="MM_validateForm('name','','R');return document.MM_returnValue" size="41" maxlength="30">
  <font color="#FF0000"> *</font></p>
      <p>
 
<p>Street and no.:</p><p><input name="streetno" type="text" onblur="MM_validateForm('name','','R');return document.MM_returnValue" size="41">
<font color="#FF0000"> *</font></p>
<p>
 
  <p>ZIP code/City: </p><p><input name="zip" type="text" onblur="MM_validateForm('zip','','R');return document.MM_returnValue" size="9" maxlength="41">
  <font color="#FF0000"> *</font>
  <input name="city" type="text" onblur="MM_validateForm('name','','R');return document.MM_returnValue" size="29">
  <font color="#FF0000"> *</font></p>
  <p>
 
 
  Country: </p><p><input name="country" type="text" onblur="MM_validateForm('country','','R');return document.MM_returnValue" size="22">
  <font color="#FF0000"> *</font></p>
  <p>
 
  Telephone: </p><p><input type="text" name="telephone" size="22"></p>
  <p>
 
  EMail address:
    </p><p><input name="mail" type="text" onblur="MM_validateForm('name','','NisEmail');return document.MM_returnValue" size="22" >
    <font color="#FF0000">*</font></p>
    <p>
 
  Number of weeks   
    <select size="1" name="weeks">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
 
  </select></p><p>
  Number of persons
  <select size="1" name="nopeople">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
 
  </select></p><p>
  Number adults/Children </p><p><select size="1" name="noadults">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>

  </select>/ <select size="1" name="nochildren">
  <option>0</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
 
  </select></p><p>
  Start date (Saturday): the </p><p><select size="1" name="startdate">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
  <option>13</option>
  <option>14</option>
  <option>15</option>
  <option>16</option>
  <option>17</option>
  <option>18</option>
  <option>19</option>
  <option>20</option>
  <option>21</option>
  <option>22</option>
  <option>23</option>
  <option>24</option>
  <option>25</option>
  <option>26</option>
  <option>27</option>
  <option>28</option>
  <option>29</option>
  <option>30</option>
  <option>31</option>
 
  </select>/ <select size="1" name="startmonth">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
 
  </select>  - <select size="1" name="startyear">
  <option>2006</option>
  <option>2007</option>
  <option>2008</option>
  <option>2009</option>
  <option>2010</option>
 
  </select></p><p>
  End date (Saturday): the</p><p><select size="1" name="enddate">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
  <option>13</option>
  <option>14</option>
  <option>15</option>
  <option>16</option>
  <option>17</option>
  <option>18</option>
  <option>19</option>
  <option>20</option>
  <option>21</option>
  <option>22</option>
  <option>23</option>
  <option>24</option>
  <option>25</option>
  <option>26</option>
  <option>27</option>
  <option>28</option>
  <option>29</option>
  <option>30</option>
  <option>31</option>
 
  </select>/<select size="1" name="endmonth">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
 
  </select>  - <select size="1" name="endyear">
  <option>2006</option>
  <option>2007</option>
  <option>2008</option>
  <option>2009</option>
  <option>2010</option>

  </select>
  </p><p>
    Remarks:</p><p><input type="text" name="remarks" size="40"></p>
  <p>
  $modtager = "Hans Lundqvist<hans@e-and-l.com>"; $emne = "Booking af hus"; $indhold = "Der er en forespørgsel på huset";
  <input type="submit" value="Submit form" name="submit"><input type="reset" value="Reset" name="reset">
Avatar billede jakobdo Ekspert
14. marts 2007 - 19:05 #1
Du skal huske at lukke din form med: </form>
Avatar billede jakobdo Ekspert
14. marts 2007 - 19:07 #2
Og derefter synes jeg du skal kigge på filen: redirect.php og evt. starte med at smide følgende i toppen:

<?php
//TIL DEBUG
echo '<pre>';
print_r($_POST)
echo '</pre>';
exit(); //STOPPER SCRIPTET HER
//DIN KODE HERUNDER...
Avatar billede hans01 Nybegynder
14. marts 2007 - 19:33 #3
Hej jakobdo

Jeg havde lukket scriptet med </form>, jeg havde bare ikke fået det med. Jeg har smidt dit forslag ind i redirect.php

Men løser det mit problem?
Avatar billede jakobdo Ekspert
14. marts 2007 - 19:58 #4
Nej, det giver bare nogle info!
De informationer skal du så have ind i en variabel, og efterfølgende indsat som $message og sendt via mail()
Avatar billede hans01 Nybegynder
15. marts 2007 - 07:51 #5
You lost me!, nu er jeg ikke helt med, hvad skal jeg gøre for at få¨form mailen til at spille?, please help
Avatar billede jakobdo Ekspert
15. marts 2007 - 08:22 #6
Du kan ganske kort prøve at oprette redirect.php og smide dette indhold i:

<?php
//redirect.php

  $modtager = "Hans Lundqvist<hans@e-and-l.com>";
  $emne = "Booking af hus";
  $indhold = "Der er en forespørgsel på huset";
 
  foreach($_POST AS $key => $value)
  {
      $indhold .= $key . " = " .  $value . "\n";
  }
 
  mail($modtager,$emne,$indhold);
 
?>
Avatar billede hans01 Nybegynder
15. marts 2007 - 09:14 #7
Hej Jakobdo

Her er min redirect.php fil. Er det rigtigt?

<?php
//TIL DEBUG
echo '<pre>';
print_r($_POST)
echo '</pre>';
exit(); //STOPPER SCRIPTET HER
//DIN KODE HERUNDER...
$modtager = "Hans Lundqvist<hans@e-and-l.com>";
  $emne = "Booking af hus";
  $indhold = "Der er en forespørgsel på huset";

  foreach($_POST AS $key => $value)
  {
      $indhold .= $key . " = " .  $value . "\n";
  }

  mail($modtager,$emne,$indhold);
require("connect.php");
if(isset($_POST['submit'])){
$name = $_REQUEST["name"];
$streetno = $_REQUEST["streetno"];
$zip = $_REQUEST["zip"];
$city = $_REQUEST["city"];
$country = $_REQUEST["country"];
$telephone = $_REQUEST["telephone"];
$weeks = $_REQUEST["weeks"];
$nopeople = $_REQUEST["nopeople"];
$noadults = $_REQUEST["noadults"];
$nochildren = $_REQUEST["nochildren"];
$startdate = $_REQUEST["startdate"];
$startmonth = $_REQUEST["startmonth"];
$startyear = $_REQUEST["startyear"];
$enddate = $_REQUEST["enddate"];
$endmonth = $_REQUEST["endmonth"];
$endyear = $_REQUEST["endyear"];
$remarks = $_REQUEST["remarks"];
mysql_query("insert into mindb(kundeID, name, streetno, zip, city, country, telephone, weeks, nopeople, noadults, nochildren, startdate, startmonth, startyear, enddate, endmonth, endyear, remarks)values(0, '$name', '$streetno','$zip','$city','$country','$telephone','$weeks','$nopeople','$noadults','$nochildren','$startdate','$startmonth','$startyear','$enddate','$endmonth','$endyear','$remarks')")or die(mysql_error());
header("Location: application.php");
}
?>
Avatar billede jakobdo Ekspert
15. marts 2007 - 11:00 #8
Du skal fjerne toppen:
cho '<pre>';
print_r($_POST)
echo '</pre>';
exit(); //STOPPER SCRIPTET HER

Og som koden er der nu, så gemmer du data i en database og sender en email.
Der skal du jo tage stilling til hvad du vil.
Avatar billede hans01 Nybegynder
15. marts 2007 - 15:22 #9
Hej igen jakobdo, jeg har slettet den øverste del. jeg ved ikke rigtigt om det er en ide at gemme mail data i databasen, min ide var sådan set at hvergang en person havde udfyldt formularen og klikket send, så går der automatisk en mail til mig om der er sendt en formular. Når jeg bruge $modtager er det så ikke en variabel, og derfor skal der oprettes en post i databasen?. jeg er sådan set ikke nogen ørn til PHP men det har du vel opdaget.
Avatar billede hans01 Nybegynder
15. marts 2007 - 15:38 #10
Ja nu har jeg lige oploaded scriptet, og det hele spiller. tusind tak smid lige et svar
Avatar billede jakobdo Ekspert
15. marts 2007 - 17:01 #11
Du får et svar her!
Avatar billede hans01 Nybegynder
15. marts 2007 - 17:47 #12
Endnu engang tak for hjælpen, lige et tillægs sp. er min formular spam/hacker sikker?
Avatar billede jakobdo Ekspert
15. marts 2007 - 17:49 #13
Nej, det er den ikke! :o)
Avatar billede hans01 Nybegynder
15. marts 2007 - 18:02 #14
Er det svært at gøre den sikker?, er det noget du kan hjælpe med?
Avatar billede jakobdo Ekspert
15. marts 2007 - 18:54 #15
Det er ikke svært, men ikke noget jeg lige kan løse for dig.
Avatar billede hans01 Nybegynder
15. marts 2007 - 19:06 #16
OK men endnu engang tak jeg prøver lige et andet sted
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