Avatar billede weblance Nybegynder
20. juli 2006 - 14:17 Der er 10 kommentarer og
1 løsning

Hvordan laver jeg formular om til "besked sendt"?

Jeg har en kontaktformular hvor der vises en linie med teksten "Beskeden er sendt" efter at brugeren har trykket på send. Hvordan kan jeg lave det sådan at kontaktformularen bliver erstattet med teksten "Beskeden er sendt" i stedet for, altså bliver formularen fjernet fra siden efter at der er trykket på send?

Formularen ser således ud:

<form name="formular" method="post" action="send.php" onSubmit="validering();return false;">
                  <div align="left">
                    <?=$msgTxt?>
                    <img src="images/tom.gif" width="0" height="0"></div>
                  <table width="265" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td align="right" valign="middle"><table width="260" border="0" cellspacing="0" cellpadding="0">
                                <tr class="text">
                                  <td width="141"><div align="left">Navn:</div></td>
                                  <td width="122"><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <input name="navn" type="text" class="textfelt" id="navn" size="48">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Adresse</div></td>
                                  <td><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <input name="adresse" type="text" class="textfelt" id="adresse" size="48">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Postnr.</div></td>
                                  <td><div align="left">By</div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">
                                      <input name="postnr" type="text" class="textfelt" id="postnr">
                                  </div></td>
                                  <td><div align="left">
                                      <input name="by" type="text" class="textfelt" id="by">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Telefon</div></td>
                                  <td><div align="left">Email</div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">
                                      <input name="telefon" type="text" class="textfelt" id="telefon">
                                  </div></td>
                                  <td><div align="left">
                                      <input name="email" type="text" class="textfelt" id="email">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Besked</div></td>
                                  <td><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <textarea name="besked" cols="46" rows="4" class="textfelt" id="besked"></textarea>
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td height="5" colspan="2"><img src="images/tom.gif" width="10" height="5"></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="center">
                                      <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                                        <tr>
                                          <td width="50%" height="22"><div align="center">
                                              <input name="Submit" type="submit" class="knap" value="Send">
                                          </div></td>
                                          <td width="50%"><div align="center">
                                              <input name="Reset" type="reset" class="knap" value="Nulstil">
                                              <input type="hidden" name="retPage" value="<?=$_SERVER["PHP_SELF"]?>">
                                          </div></td>
                                        </tr>
                                      </table>
                                  </div></td>
                                </tr>
                            </table></td>
                          </tr>
                          </table>
                  </form>
Avatar billede weblance Nybegynder
20. juli 2006 - 14:19 #1
Og filen send.php ser således ud:

<?
// Receiving variables
@$navn = addslashes($_POST['navn']);
@$adresse = addslashes($_POST['adresse']);
@$postnr = addslashes($_POST['postnr']);
@$by = addslashes($_POST['by']);
@$telefon = addslashes($_POST['telefon']);
@$email = addslashes($_POST['email']);
@$besked = addslashes($_POST['besked']);

//Sending Email to form owner
$pfw_header = "From: $email\n"
  . "Reply-To: $email\n" . "X-Priority: 1\n";
$pfw_subject = "Kontaktformular";
$pfw_email_to = "mail@adresse.dk";
$pfw_message = "Følgende er blevet udfyldt i kontaktformularen:\n"
. "\n"
. "Navn: $navn\n"
. "Adresse: $adresse\n"
. "Postnr: $postnr\n"
. "By: $by\n"
. "Telefon: $telefon\n"
. "Email: $email\n"
. "\n"
. "Besked:"
. "\n"
. "$besked\n";
@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;

//saving record in a text file
$pfw_file_name = "kontaktformular.csv";
$pfw_first_raw = "navn,adresse,postnr,by,telefon,email,besked\r\n";
$pfw_values = "$navn,$adresse,$postnr,$by,$telefon,$email,".str_replace ("\r\n","<BR>",$besked )."\r\n";
$pfw_is_first_row = false;
if(!file_exists($pfw_file_name))
{
$pfw_is_first_row = true ;
}
if (!$pfw_handle = fopen($pfw_file_name, 'a+')) {
die("Cannot open file ($pfw_file_name)");
exit;
}
if ($pfw_is_first_row)
{
  if (fwrite($pfw_handle, $pfw_first_raw ) === FALSE) {
  die("Cannot write to file ($pfw_filename)");
  exit;
  }
}
if (fwrite($pfw_handle, $pfw_values) === FALSE) {
  die("Cannot write to file ($pfw_filename)");
  exit;
}
fclose($pfw_handle);

// Returnér til forrige side
Header("Location: ".$_POST["retPage"]."?sent=OK");
?>
Avatar billede jaw Nybegynder
20. juli 2006 - 14:21 #2
F.eks.:

<?
if(isset($_GET['sent']) && $_GET['sent'] == "OK")) {
  echo "Beskeden er sendt.";
} else {
?>
-- DIN FORM HER --
<?
}
?>
Avatar billede weblance Nybegynder
20. juli 2006 - 14:22 #3
Der er jo selvfølgelig osse denne tekst i toppen af kontaktsiden:

<?
if (isset($_GET["sent"]) && $_GET["sent"]=="OK") $msgTxt = "<div style='color:red;font-weight:bold'>Din besked er nu sendt!</div>";
?>
Avatar billede jaw Nybegynder
20. juli 2006 - 14:26 #4
Det er ret det samme princip, så skal du bare bytte lidt rundt på det og lave en "else".
Avatar billede weblance Nybegynder
20. juli 2006 - 14:34 #5
Nu har jeg prøvet og det giver bare en blank side :(
Avatar billede jaw Nybegynder
20. juli 2006 - 14:35 #6
Så gør du det forkert. Gider du paste det du har lavet?
Avatar billede weblance Nybegynder
20. juli 2006 - 14:38 #7
<?
if(isset($_GET['sent']) && $_GET['sent'] == "OK")) {
  echo "Beskeden er sendt.";
} else {
?>
<p>Benyt denne online formular - alle felter skal udfyldes!</p>
                  <form name="formular" method="post" action="send.php" onSubmit="validering();return false;">
                  <div align="left">
                   
                    <img src="images/tom.gif" width="0" height="0"></div>
                  <table width="265" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td align="right" valign="middle"><table width="260" border="0" cellspacing="0" cellpadding="0">
                                <tr class="text">
                                  <td width="141"><div align="left">Navn:</div></td>
                                  <td width="122"><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <input name="navn" type="text" class="textfelt" id="navn" size="48">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Adresse</div></td>
                                  <td><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <input name="adresse" type="text" class="textfelt" id="adresse" size="48">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Postnr.</div></td>
                                  <td><div align="left">By</div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">
                                      <input name="postnr" type="text" class="textfelt" id="postnr">
                                  </div></td>
                                  <td><div align="left">
                                      <input name="by" type="text" class="textfelt" id="by">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Telefon</div></td>
                                  <td><div align="left">Email</div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">
                                      <input name="telefon" type="text" class="textfelt" id="telefon">
                                  </div></td>
                                  <td><div align="left">
                                      <input name="email" type="text" class="textfelt" id="email">
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td width="141"><div align="left">Besked</div></td>
                                  <td><div align="left"></div></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="left">
                                      <textarea name="besked" cols="46" rows="4" class="textfelt" id="besked"></textarea>
                                  </div></td>
                                </tr>
                                <tr class="text">
                                  <td height="5" colspan="2"><img src="images/tom.gif" width="10" height="5"></td>
                                </tr>
                                <tr class="text">
                                  <td colspan="2"><div align="center">
                                      <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                                        <tr>
                                          <td width="50%" height="22"><div align="center">
                                              <input name="Submit" type="submit" class="knap" value="Send">
                                          </div></td>
                                          <td width="50%"><div align="center">
                                              <input name="Reset" type="reset" class="knap" value="Nulstil">
                                              <input type="hidden" name="retPage" value="<?=$_SERVER["PHP_SELF"]?>">
                                          </div></td>
                                        </tr>
                                      </table>
                                  </div></td>
                                </tr>
                            </table></td>
                          </tr>
                          </table>
                  </form>
<?
}
?>
Avatar billede jaw Nybegynder
20. juli 2006 - 14:40 #8
Du har lige en ) for meget, sådan her skal toppen være (har også indsat, så din tekst kommer til at se ud som den hele tiden har været):

<?
if(isset($_GET['sent']) && $_GET['sent'] == "OK") {
  "<div style='color:red;font-weight:bold'>Din besked er nu sendt!</div>";
} else {
?>
<p>Benyt denne online formular - alle felter skal udfyldes!</p>
...
Avatar billede jaw Nybegynder
20. juli 2006 - 14:41 #9
Hov, nej - sådan her selvf. (der manglede et echo):

<?
if(isset($_GET['sent']) && $_GET['sent'] == "OK") {
  echo "<div style='color:red;font-weight:bold'>Din besked er nu sendt!</div>";
} else {
?>
<p>Benyt denne online formular - alle felter skal udfyldes!</p>
Avatar billede weblance Nybegynder
20. juli 2006 - 14:48 #10
Tak - det var lige det der skulle gøres!!

Send et svar, så skal du da havde nogle pt's!
Avatar billede jaw Nybegynder
20. juli 2006 - 14:49 #11
Selv tak :)
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