Avatar billede peder77 Nybegynder
23. juni 2006 - 10:49 Der er 6 kommentarer og
1 løsning

Form på en side

Hej eksperter.

Jeg har lavet en simpel PHP form ud fra et ekempel i en bog.
I formen skal brugene indtaste sine oplysninger, som så sendes som email til mig.

Formen virker perfekt.
Men den ligger i to dokumenter. Og når man har trykket send, sendes man videre til en anden side, hvor "print" teksten står.
Jeg ønsker at man skal blive på siden hvor indtastningen er forgået, men at formen bliver udskiftet af "print" teksten.

Jeg håber i kan hjælpe med at få intigreret mit php script rigtigt.

her er php scriptet:

<?php
print "Tak for din henvendelse.
<br><br>\n\n";

$msg = "Navn:    $_POST[navn]\n";
$msg .= "Adresse:    $_POST[adresse]\n";
$msg .= "Postnr:    $_POST[postnr]\n";
$msg .= "By:         $_POST[by]\n";
$msg .= "Telefon:     $_POST[telefon]\n";
$msg .= "Email:        $_POST[email]\n";

$recipient = "peter@xx.dk";
$subject = "Kontakt";
$mailheaders = "xx <x> \n";
$mailheaders .= "Reply-To: $_POST[email]";

mail($recipient, $subject, $msg, $mailheaders);


?>

og her er form filen

    <table width="550" height="450" border="0">
  <tr>
    <td width="28">&nbsp;</td>
    <td  valign="bottom">
      <form id="kontaktForm" name="kontaktForm" method="post" action="mailsender.php">
        <p onfocus="MM_validateForm('navn','','R','adresse','','R','postnr','','RisNum','by','','R','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue"></p>
        <table width="258" border="0">
          <tr>
            <td>Navn:</td>
            <td>&nbsp;</td>
            <td><input name="navn" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Adresse:</td>
            <td>&nbsp;</td>
            <td><input name="adresse" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Postnr.:</td>
            <td>&nbsp;</td>
            <td><input name="postnr" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>By:</td>
            <td>&nbsp;</td>
            <td><input name="by" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Telefon nr.: </td>
            <td>&nbsp;</td>
            <td><input name="telefon" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>E-mail:</td>
            <td>&nbsp;</td>
            <td><input name="email" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td align="left"><input name="submit" type="submit" value="Send" />

            </td>
          </tr>
        </table>
        <p onfocus="MM_validateForm('navn','','R','adresse','','R','postnr','','RisNum','by','','R','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue">
    </form>    </td>
    <td width="250">&nbsp;</td>
  </tr>
</table>
Avatar billede simm Nybegynder
23. juni 2006 - 12:40 #1
I samme fil? Så gør du blot sådan (læg mærke til attributten action i <form>):

<?php
print "Tak for din henvendelse.
<br><br>\n\n";

$msg = "Navn:    $_POST[navn]\n";
$msg .= "Adresse:    $_POST[adresse]\n";
$msg .= "Postnr:    $_POST[postnr]\n";
$msg .= "By:        $_POST[by]\n";
$msg .= "Telefon:    $_POST[telefon]\n";
$msg .= "Email:        $_POST[email]\n";

$recipient = "peter@xx.dk";
$subject = "Kontakt";
$mailheaders = "xx <x> \n";
$mailheaders .= "Reply-To: $_POST[email]";

mail($recipient, $subject, $msg, $mailheaders);
?>

<html>
<body>
<table width="550" height="450" border="0">
  <tr>
    <td width="28">&nbsp;</td>
    <td  valign="bottom">
      <form id="kontaktForm" name="kontaktForm" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <p onfocus="MM_validateForm('navn','','R','adresse','','R','postnr','','RisNum','by','','R','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue"></p>
        <table width="258" border="0">
          <tr>
            <td>Navn:</td>
            <td>&nbsp;</td>
            <td><input name="navn" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Adresse:</td>
            <td>&nbsp;</td>
            <td><input name="adresse" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Postnr.:</td>
            <td>&nbsp;</td>
            <td><input name="postnr" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>By:</td>
            <td>&nbsp;</td>
            <td><input name="by" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>Telefon nr.: </td>
            <td>&nbsp;</td>
            <td><input name="telefon" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>E-mail:</td>
            <td>&nbsp;</td>
            <td><input name="email" type="text" size="25" /></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td align="left"><input name="submit" type="submit" value="Send" />

            </td>
          </tr>
        </table>
        <p onfocus="MM_validateForm('navn','','R','adresse','','R','postnr','','RisNum','by','','R','telefon','','RisNum','email','','RisEmail');return document.MM_returnValue">
    </form>    </td>
    <td width="250">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Avatar billede iss Novice
23. juni 2006 - 12:42 #2
Nok dumt at sende tomme mails...

Sæt lige en kontrol på at der er submittet noget.
Avatar billede peder77 Nybegynder
23. juni 2006 - 13:37 #3
ja. Den sender mailen lige så snart man kommer ind på siden.
Avatar billede simm Nybegynder
23. juni 2006 - 14:04 #4
my bad - var lige for hurtig :)

<?php
if ($_POST['submit']) {
print "Tak for din henvendelse.
<br><br>\n\n";

$msg = "Navn:    $_POST[navn]\n";
$msg .= "Adresse:    $_POST[adresse]\n";
$msg .= "Postnr:    $_POST[postnr]\n";
$msg .= "By:        $_POST[by]\n";
$msg .= "Telefon:    $_POST[telefon]\n";
$msg .= "Email:        $_POST[email]\n";

$recipient = "peter@xx.dk";
$subject = "Kontakt";
$mailheaders = "xx <x> \n";
$mailheaders .= "Reply-To: $_POST[email]";

mail($recipient, $subject, $msg, $mailheaders);
}
?>
Avatar billede peder77 Nybegynder
02. august 2006 - 12:56 #5
Jeg kan ikke få det til at virke.
Jeg lukker her.
Avatar billede simm Nybegynder
02. august 2006 - 23:33 #6
Hm? Det findes der da råd for ;)
Avatar billede iss Novice
02. august 2006 - 23:47 #7
Lad være med at hjælpe ham, han lukker altid med at han ikke kan få det til at virke eller han selv har fundet en anden løsning...
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