Avatar billede starbotz Praktikant
25. juni 2005 - 11:52 Der er 15 kommentarer og
1 løsning

Redirect til "Tak for din henvendelse" side

Hej med jer.
Jeg er ved at lave en hjemmeside for en ven og der skal være en kontaktformular, som sender en mail til min ven. Selve kontaktformularen og den mail, som sendes fungerer fint nok.

Når brugeren af kontaktformularen har indtastet sine oplysninger og trykker "Send" vil jeg redirecte ham til en "Tak for din henvendelse" side.

Dette fungerer i princippet også, bortset fra at der er noget med PHP scriptet som gør, at brugerens indtastede oplysninger først bliver vist i siden, som indeholdt kontaktformularen. Et sekund or so herefter redirectes til "Tak for din henvendelse siden".

Jeg tror, at det er nede i den sidste del af scriptet der er noget galt.

I kan se scriptet her:
http://www.starwarsboots.com/eksempel.txt

Håber I kan hjælpe.

Mvh,
Starwarsboots
Avatar billede Slettet bruger
25. juni 2005 - 11:58 #1
Prøv at ændre dette:

if (isset($HTTP_POST_VARS["sent"]) and ($checked) ) {
  mail($emailadd, $subject, $msg, 'From: '.$HTTP_POST_VARS["fld_navn"].' <'.$HTTP_POST_VARS["fld_email"].'>');
  echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
  $msg = "Følgende person har henvendt sig via kontaktformular:\n\n";
  $msg .= "Navn: ".$HTTP_POST_VARS["fld_navn"]."\n";
  $msg .= "Evt. firmanavn: ".$HTTP_POST_VARS["fld_firmanavn"]."\n";
  $msg .= "Adresse: ".$HTTP_POST_VARS["fld_adresse"]."\n";
  $msg .= "Postnr./By: ".$HTTP_POST_VARS["fld_postnr"]." ".$HTTP_POST_VARS["fld_by"]."\n";
  $msg .= "Telefonnr: ".$HTTP_POST_VARS["fld_telefonnr"]."\n";
  $msg .= "E-mail adresse: ".$HTTP_POST_VARS["fld_email"]."\n\n";
  $msg .= "Besked: ".$HTTP_POST_VARS["fld_message"]."\n";
}

til
if (isset($HTTP_POST_VARS["sent"]) and ($checked) ) {
  mail($emailadd, $subject, $msg, 'From: '.$HTTP_POST_VARS["fld_navn"].' <'.$HTTP_POST_VARS["fld_email"].'>');
  header("Location: $url");
  exit;
}
Avatar billede starbotz Praktikant
25. juni 2005 - 12:49 #2
Hej cypermann

Jeg får denne fejlmeddelelse, når jeg sender formularen afsted:

Warning: Cannot modify header information - headers already sent

Og den står i kontakt-siden. Jeg får godt nok en mail, men den har intet indhold.
Avatar billede Slettet bruger
25. juni 2005 - 13:48 #3
du kan prøve i første linje af dit script efter du har startet php at smide dette ind:
ob_start();

Så skulle du slippe for fejlen.
Avatar billede starbotz Praktikant
25. juni 2005 - 15:20 #4
Jeg får stadig denne fejl:

Warning: Cannot modify header information - headers already sent

på en linie, som i mit script svarer til denne:
header ("Location: $url");
Avatar billede Slettet bruger
25. juni 2005 - 16:29 #5
Hmm... du starter dit script sådan?

<?php
ob_start();
$subject = 'Besked til firmanavn';        // Subject of email sent to you.

Så burde du ikke få den.
Avatar billede starbotz Praktikant
25. juni 2005 - 17:06 #6
Yeps, mit script starter sådan her:

<?php
ob_start();

$subject = 'Besked til firmanavn';  // Subject of email sent to you.
Avatar billede Slettet bruger
25. juni 2005 - 17:09 #7
det lyder underligt.
Well du kan jo prøve således:


if (isset($HTTP_POST_VARS["sent"]) and ($checked) ) {
  mail($emailadd, $subject, $msg, 'From: '.$HTTP_POST_VARS["fld_navn"].' <'.$HTTP_POST_VARS["fld_email"].'>');
  echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
}
Avatar billede starbotz Praktikant
25. juni 2005 - 17:11 #8
Vent ... kommer lige i tanke om, at jeg inkluderer en HTML-fil i toppen af siden sådan her:

<?php include("toppiece.htm"); ?>

Når jeg får fejlmeddelelsen i kontaktsiden får jeg følgende fejlmeddelelse:

Warning: Cannot modify header information - headers already sent by (output started at "her kommer stien til php-siden"/kontakt.php:9)
in "her stien til php-siden"/kontakt.php on line 245

kontakt.php:9 regner jeg med refererer til linie 9 i php-siden og det er dér, hvor jeg inkluderer HTML-siden.

Og som sagt før, på linie 245 står

header ("Location: $url");
Avatar billede starbotz Praktikant
25. juni 2005 - 17:15 #9
Jeg har prøvet med

echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';

som du skrev.

Jeg får en mail, men den har intet indhold.
Og jeg ser lige et kort glimt af kontaktsiden inden jeg redirectes til "Tak for din henvendelse" siden.
Avatar billede starbotz Praktikant
25. juni 2005 - 17:24 #10
Okay, hvis jeg skriver

<?php include("toppiece.htm");
ob_start();
?>

får jeg ingen fejlmeddelelse.
Jeg får stadig en mail, men stadig uden indhold
Avatar billede Slettet bruger
25. juni 2005 - 17:28 #11
Godt så :)

I bunden kan jeg se du skal bruge $msg til mailen, så du skal gøre sådan:

  $msg = "Følgende person har henvendt sig via kontaktformular:\n\n";
  $msg .= "Navn: ".$HTTP_POST_VARS["fld_navn"]."\n";
  $msg .= "Evt. firmanavn: ".$HTTP_POST_VARS["fld_firmanavn"]."\n";
  $msg .= "Adresse: ".$HTTP_POST_VARS["fld_adresse"]."\n";
  $msg .= "Postnr./By: ".$HTTP_POST_VARS["fld_postnr"]." ".$HTTP_POST_VARS["fld_by"]."\n";
  $msg .= "Telefonnr: ".$HTTP_POST_VARS["fld_telefonnr"]."\n";
  $msg .= "E-mail adresse: ".$HTTP_POST_VARS["fld_email"]."\n\n";
  $msg .= "Besked: ".$HTTP_POST_VARS["fld_message"]."\n";

mail($emailadd, $subject, $msg, 'From: '.$HTTP_POST_VARS["fld_navn"].' <'.$HTTP_POST_VARS["fld_email"].'>');
Avatar billede starbotz Praktikant
25. juni 2005 - 17:32 #12
Altså sådan her:

if (isset($HTTP_POST_VARS["sent"]) and ($checked) ) {
  $msg = "Følgende person har henvendt sig via kontaktformular:\n\n";
  $msg .= "Navn: ".$HTTP_POST_VARS["fld_navn"]."\n";
  $msg .= "Evt. firmanavn: ".$HTTP_POST_VARS["fld_firmanavn"]."\n";
  $msg .= "Adresse: ".$HTTP_POST_VARS["fld_adresse"]."\n";
  $msg .= "Postnr./By: ".$HTTP_POST_VARS["fld_postnr"]." ".$HTTP_POST_VARS["fld_by"]."\n";
  $msg .= "Telefonnr: ".$HTTP_POST_VARS["fld_telefonnr"]."\n";
  $msg .= "E-mail adresse: ".$HTTP_POST_VARS["fld_email"]."\n\n";
  $msg .= "Besked: ".$HTTP_POST_VARS["fld_message"]."\n";
  mail($emailadd, $subject, $msg, 'From: '.$HTTP_POST_VARS["fld_navn"].' <'.$HTTP_POST_VARS["fld_email"].'>');
  echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';

??
Avatar billede starbotz Praktikant
25. juni 2005 - 17:47 #13
Hvis jeg skriver ovenstående får jeg mailen helt fint og ingen fejlmeddelelser.
Jeg får dog stadig et kort glimt af kontaktsiden inden der redirectes til "Tak ..." siden.
Avatar billede Slettet bruger
25. juni 2005 - 20:50 #14
Du kan prøve at ligge ovenstående kode ind lige efter du starter siden.
altså lige efter <?php
Avatar billede starbotz Praktikant
25. juni 2005 - 23:30 #15
Hej igen.

Det virker slet ikke. Jeg bliver stående i kontaktsiden, bliver ikke redirected og får heller ingen mail.
Avatar billede starbotz Praktikant
26. juni 2005 - 17:49 #16
Hej igen.
Det var mig der var en kegle. Havde ikke lige fattet hvad du mente med din sidste kommentar, men nu virker det.
Points til dig.
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

IT-JOB