Avatar billede jokeren25 Nybegynder
03. oktober 2005 - 22:30 Der er 7 kommentarer og
1 løsning

Mailform redirect

Hejsa,

jeg har et problem med at efter min mailformular er udfyldt korrekt vil jeg gerne videresende min brugere til en url. Jeg har forsøgt mig med "header("Location: tak_for_mail.php");" men det virker ikke.

Her er min kode:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body topmargin="0">
<?php
include_once('inc.config.php');

mysql_connect($cfg['mysql']['host'],$cfg['mysql']['username'],$cfg['mysql']['password']);
mysql_select_db($cfg['mysql']['database']);
$query = mysql_query("SELECT *,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM news WHERE id=".$_GET['id']."");
$row = mysql_fetch_assoc($query);
echo '<h1>'.$row['title'].'</h1>';
echo empty($row['image']) ? '' : '<img src="files/'.$row['image'].'" class="imageleft">';
echo '<div class="hr1"></div>';
echo '<b>'.$row['synopsis'].'</b></p>';
echo nl2br($row['text']);
echo '<p><strong>Varenummer:&nbsp;</strong>'.$row['id'].'</p>';
echo '<div class="hr"></div>';
?>
K&oslash;b denne vare:<br>
<br>
<?php
if ($name && $email && $adresse && $by && $betaling && $postnr && $tlf) {
    mail("min@mail.dk", "Bestilling fra hjemmeside", "
Email: $email\n
Telefon nr: $tlf\n
\n
Adresse: \n
$name\n
$adresse\n
$by\n
$postnr\n
\n
Bestilte vare:\n
Vare: $varenr1\n
Stk: $antal1\n
\n
Vare: $varenr2\n
Stk: $antal2\n
\n
Betalingsform: $betaling\n", "From: $name <$email>");
header("Location: tak_for_mail.php");"

    //echo "<h1>Tak $name for din bestilling.\n</h1>";
    //echo  "Vi behandler din bestilling hurtigst muligt.";

   
} else {
    echo "Alle felter skal udfyldes, tak.<br>";
    header("Location: tak_for_mail.php");
?>
<br>
<form method="post" action="<?php $PHP_SELF ;?>">
  <table border="0" cellpadding="0" cellspacing="0" width="554">
    <tr>
      <td width="98">Navn:</td>
      <td colspan="2"><input type="text" name="name" size="25"></td>
    </tr>
    <tr>
      <td width="98" height="24">Email:</td>
      <td colspan="2"><input type="text" name="email" size="25"></td>
    </tr>
    <tr>
      <td width="98">Adresse:</td>
      <td colspan="2"><input type="text" name="adresse" size="25"></td>
    </tr>
    <tr>
      <td width="98">Post nr:</td>
      <td colspan="2"><input name="postnr" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td width="98">By:</td>
      <td colspan="2"><input name="by" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td width="98">Telefon nr:</td>
      <td colspan="2"><input name="tlf" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2"><input type="hidden" name="varenr1" value="<?php echo $_GET['id']; ?>">&nbsp;</td>
    </tr>
    <tr>
      <td width="98">Vare nummer:</td>
      <td width="72"><input name="varenr12" type="text" size="10" value="<?php echo $_GET['id']; ?>">
      </td>
      <td width="364">Antal:
        <input name="antal1" type="text" value="" size="2"> </td>
    </tr></tr>
    <tr>
      <td width="98">Betalingsform:</td>
      <td colspan="2"> <input type="checkbox" name="betaling" value="Netbank">
        Netbank (bank oplysningerne sendes via mail)</td>
    </tr>
    <tr>
      <td></td>
      <td colspan="2"><input type="checkbox" name="betaling" value="Efterkrav">
        Pr efterkrav (30 kr. bla bla.)</td>
    </tr>
    <tr>
      <td></td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td width="98"></td>
      <td colspan="2"><input type=submit value="Send bestilling"></td>
    </tr>
  </table>
</form>
<?php
}
?>
</body>
</html>

På forhånd tak!
Avatar billede jaw Nybegynder
03. oktober 2005 - 22:31 #1
Hvis du fjerner al html-output (også <html> <title> og hvad der ellers er "usynligt"), så vil din header garanteret virke...
Avatar billede jokeren25 Nybegynder
03. oktober 2005 - 22:44 #2
Har fjernet html'en men det virker stadig ikk!

<?php
include_once('inc.config.php');

mysql_connect($cfg['mysql']['host'],$cfg['mysql']['username'],$cfg['mysql']['password']);
mysql_select_db($cfg['mysql']['database']);
$query = mysql_query("SELECT *,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM news WHERE id=".$_GET['id']."");
$row = mysql_fetch_assoc($query);
echo '<h1>'.$row['title'].'</h1>';
echo empty($row['image']) ? '' : '<img src="files/'.$row['image'].'" class="imageleft">';
echo '<div class="hr1"></div>';
echo '<b>'.$row['synopsis'].'</b></p>';
echo nl2br($row['text']);
echo '<p><strong>Varenummer:&nbsp;</strong>'.$row['id'].'</p>';
echo '<div class="hr"></div>';
?>
K&oslash;b denne vare:<br>
<br>
<?php
$tplmailsent = "email.html";
if ($name && $email && $adresse && $by && $betaling && $postnr && $tlf) {
    mail("janus@metrostars.dk", "Bestilling fra hjemmeside", "
Email: $email\n
Telefon nr: $tlf\n
\n
Adresse: \n
$name\n
$adresse\n
$by\n
$postnr\n
\n
Bestilte vare:\n
Vare: $varenr1\n
Stk: $antal1\n
\n
Vare: $varenr2\n
Stk: $antal2\n
\n
Betalingsform: $betaling\n", "From: $name <$email>");
header("Location: tak_for_mail.php");
  echo "<h1>Tak $name for din bestilling.\n</h1>";
    //echo  "Vi behandler din bestilling hurtigst muligt.";
   
} else {
    echo "Alle felter skal udfyldes, tak.<br>";
?>
<br>
<form method="post" action="<?php $PHP_SELF ;?>">
  <table border="0" cellpadding="0" cellspacing="0" width="554">
    <tr>
      <td width="98">Navn:</td>
      <td colspan="2"><input type="text" name="name" size="25"></td>
    </tr>
    <tr>
      <td width="98" height="24">Email:</td>
      <td colspan="2"><input type="text" name="email" size="25"></td>
    </tr>
    <tr>
      <td width="98">Adresse:</td>
      <td colspan="2"><input type="text" name="adresse" size="25"></td>
    </tr>
    <tr>
      <td width="98">Post nr:</td>
      <td colspan="2"><input name="postnr" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td width="98">By:</td>
      <td colspan="2"><input name="by" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td width="98">Telefon nr:</td>
      <td colspan="2"><input name="tlf" type="text" value="" size="25"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2"><input type="hidden" name="varenr1" value="<?php echo $_GET['id']; ?>">&nbsp;</td>
    </tr>
    <tr>
      <td width="98">Vare nummer:</td>
      <td width="72"><input name="varenr12" type="text" size="10" value="<?php echo $_GET['id']; ?>">
      </td>
      <td width="364">Antal:
        <input name="antal1" type="text" value="" size="2"> </td>
    </tr></tr>
    <tr>
      <td width="98">Betalingsform:</td>
      <td colspan="2"> <input type="checkbox" name="betaling" value="Netbank">
        Netbank (bank oplysningerne sendes via mail)</td>
    </tr>
    <tr>
      <td></td>
      <td colspan="2"><input type="checkbox" name="betaling" value="Efterkrav">
        Pr efterkrav (30 kr. bla bla.)</td>
    </tr>
    <tr>
      <td></td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td width="98"></td>
      <td colspan="2"><input type=submit value="Send bestilling"></td>
    </tr>
  </table>
</form>
<?php
}
?>
Avatar billede jaw Nybegynder
03. oktober 2005 - 22:46 #3
Du har da en masse echo-linier der vil blive vist i browseren, og det duer ikke. Du kan omgå det ved at sætte ob_start(); i toppen af filen, men det er ikke nogen særlig køn løsning.
Avatar billede jokeren25 Nybegynder
03. oktober 2005 - 23:00 #4
ob_start(); ?

Jeg er ikke helt med?
Avatar billede jaw Nybegynder
03. oktober 2005 - 23:03 #5
Nah, jeg ved ikke hvordan jeg kan forklare det bedre, end at den funktion vil klare dit problem. Den vil gemme outputtet indtil din header er sendt, og derved tillade at din header bliver sendt.

Mere brugelig info kan du måske få her: http://dk.php.net/ob_start
Avatar billede jaw Nybegynder
03. oktober 2005 - 23:03 #6
Eller den burde. Får du ikke en error når du prøvet at køre din session?
Avatar billede jokeren25 Nybegynder
03. oktober 2005 - 23:18 #7
Jeg får ingen error når jeg køre den.

Kigger lige på funktionen ob_start. Tak for hjælpen ind til videre!
Avatar billede jokeren25 Nybegynder
21. februar 2006 - 12:44 #8
Lukker
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