Avatar billede krk Nybegynder
30. august 2004 - 20:23 Der er 14 kommentarer og
1 løsning

redirect fra php doc

Hej
Jeg er ved at lave en redirect i mit php document men jeg kan ikke få det til at virke.
Min kode ser ud som følgende:
<?php
header ("Location: http://www.dr.dk");

if ($_POST['send']) {
    $skjultnavn = $_POST['skjultnavn'];
    $navn = $_POST['navn'];
    $skjultmail = $_POST['skjultmail'];

    $email = $_POST['email'];
    $skjultbesked = $_POST['skjultbesked'];
    $besked = $_POST['besked'];
        $mailtil = "am@test.dk";
    $mailfra = "$email";
            mail($mailtil,"Mail fra frivillig","$skjultnavn $navn - $skjultmail $email\n\n$skjultbesked $besked","From: $mailfra");
            echo "Tak for din interesse - du vil blive kontakte af en koordinator
snarest:)";
}
?>


er der nogen der kan hjælpe??
Avatar billede wickedd Juniormester
30. august 2004 - 20:24 #1
<?php
if ($_POST['send']) {
    $skjultnavn = $_POST['skjultnavn'];
    $navn = $_POST['navn'];
    $skjultmail = $_POST['skjultmail'];

    $email = $_POST['email'];
    $skjultbesked = $_POST['skjultbesked'];
    $besked = $_POST['besked'];
        $mailtil = "am@test.dk";
    $mailfra = "$email";
            mail($mailtil,"Mail fra frivillig","$skjultnavn $navn - $skjultmail $email\n\n$skjultbesked $besked","From: $mailfra");
            echo "Tak for din interesse - du vil blive kontakte af en koordinator
snarest:)";
header ("Location: http://www.dr.dk");
}
?>
Avatar billede krk Nybegynder
30. august 2004 - 20:41 #2
Det virker ikke. Jeg får en fejlmelding der lyder:
Tak for din interesse - du vil blive kontakte af en koordinator snarest:)
Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/test/kryt.dk/fri/mailscript4.php:7) in /hsphere/local/home/boris/kryt.dk/fri/mailscript4.php on line 30
test

Giver det mening for dig
Avatar billede wickedd Juniormester
30. august 2004 - 20:44 #3
Ok. Istedet for header ("Location: http://www.dr.dk"); så prøv
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=http://www.dr.dk'>
Avatar billede wickedd Juniormester
30. august 2004 - 20:44 #4
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=http://www.dr.dk'>";
Avatar billede krk Nybegynder
30. august 2004 - 20:45 #5
Altså skrive din sætninge der hvor der nu står:
echo "Tak for din interesse - du vil blive kontakte af en koordinator
snarest:)";
Avatar billede morteeart Nybegynder
30. august 2004 - 20:47 #6
meta er ikke php, men et alm. html redirect, som nok er smartest vil i vil vise en besked, da header sender med det samme, så brugeren ikke når at se beskeden.

problemet er pga. du har flere headeres, dette kan da *hackes* ved at bruge ob_start(); i toppen af dit dokument.

<META HTTP-EQUIV='Refresh' CONTENT='0;URL=http://www.dr.dk'>

0 er antal sekunder før redirect
Avatar billede krk Nybegynder
30. august 2004 - 20:48 #7
Nu får jeg følgende fejl:
Parse error: parse error, unexpected ':' in /hsphere/local/home/test/kryt.dk/fri/mailscript4.php on line 29
Avatar billede wickedd Juniormester
30. august 2004 - 20:48 #8
Sådan her:

<?php
if ($_POST['send']) {
    $skjultnavn = $_POST['skjultnavn'];
    $navn = $_POST['navn'];
    $skjultmail = $_POST['skjultmail'];

    $email = $_POST['email'];
    $skjultbesked = $_POST['skjultbesked'];
    $besked = $_POST['besked'];
        $mailtil = "am@test.dk";
    $mailfra = "$email";
            mail($mailtil,"Mail fra frivillig","$skjultnavn $navn - $skjultmail $email\n\n$skjultbesked $besked","From: $mailfra");
            echo "Tak for din interesse - du vil blive kontakte af en koordinator snarest :)";
echo "<META HTTP-EQUIV='Refresh' CONTENT='3;URL=http://www.dr.dk'>";
}
?>
Avatar billede krk Nybegynder
30. august 2004 - 20:49 #9
jeg forstår simplehen ikke hvad du siger. Det er ikke min stærke side det her ;-)
Avatar billede krk Nybegynder
30. august 2004 - 20:52 #10
Ok, fint nok nu virker det. Men jeg kan se at brugeren ikke behøver at se beskeden, den skriver jeg bare på den side som jeg redirecter til.
Men kan jeg så bare slette denne linje:  echo "Tak for din interesse - du vil blive kontakte af en koordinator snarest :)";
Avatar billede morteeart Nybegynder
30. august 2004 - 20:52 #11
nej, gør det dog på den nemme måde:


<?php
if ($_POST['send']) {
    $skjultnavn = $_POST['skjultnavn'];
    $navn = $_POST['navn'];
    $skjultmail = $_POST['skjultmail'];

    $email = $_POST['email'];
    $skjultbesked = $_POST['skjultbesked'];
    $besked = $_POST['besked'];
        $mailtil = "am@test.dk";
    $mailfra = "$email";
            mail($mailtil,"Mail fra frivillig","$skjultnavn $navn - $skjultmail $email\n\n$skjultbesked $besked","From: $mailfra");
            echo "Tak for din interesse - du vil blive kontakte af en koordinator snarest :)";
}
?>
<META HTTP-EQUIV='Refresh' CONTENT='3;URL=http://www.dr.dk'>
Avatar billede krk Nybegynder
30. august 2004 - 20:53 #12
bare af nysgerrighed. Hvorfor virker din måde bedre :-)
Avatar billede morteeart Nybegynder
30. august 2004 - 20:58 #13
ikke bedre, men nemmere, fordi at så slipper du for problemerne med " ' , ved at sætte html-delen uden for php koden :)
Avatar billede krk Nybegynder
30. august 2004 - 21:06 #14
Nå okay.
Wickedd, du kom først så du får point
Avatar billede wickedd Juniormester
31. august 2004 - 04:11 #15
oki
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