Avatar billede boxer Praktikant
16. marts 2007 - 23:27 Der er 8 kommentarer og
2 løsninger

Redirecte min sender.php

Hej

Når man skal lave et redirect på en html side, kan det se således ud:
<meta http-equiv="Refresh"
content="10;url=http://www.xxx.dk/index.shtml">

Hvordan gøres det i en php fil?
Det er min sender.php der skal redirectes efter x antal sekunder.

MvH
Boxer
Avatar billede coderdk Praktikant
17. marts 2007 - 01:21 #1
<?php

    header("Refresh: 5; url=http://www.xxx.dk/index.shtml");
    echo "Du bliver redirected om 5 sekunder...";

?>
Avatar billede boxer Praktikant
17. marts 2007 - 07:50 #2
Hvordan for jeg det til at fungere sammen med min sender.php?
Den ser sådan ud:

<?php /* Created on: 16-03-2007 */ ?>
<html>
<body>
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) &&    // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) &&  // tjek, at der er skrevet et subject
!empty($_POST['message']) &&  // tjek, at der er skrevet en besked

// her følger sikringen mod spambotter
!strpos($_POST['name'], "xxxxxx.dk") &&  // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "xxxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) &&  // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) &&  // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email']))  // tjek, at der ikke er "linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
  $headers="From: ".$_POST['name']."<".$_POST['email'].">";
  if (@$_POST['customer_copy'])
  {
  $headers .= "\r\nBcc: ".$_POST['email'];
  }
  if (@mail("xxxxxxx.dk", strip_tags($_POST['subject']),
  stripslashes(strip_tags($_POST['message'])), $headers))
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>
</body>
</html>
Avatar billede coderdk Praktikant
17. marts 2007 - 10:21 #3
Noget i stil med:

<?php
/* Created on: 16-03-2007 */

if ( isset( $_POST['submit'] ) )
{
  header( "refresh: 10; url=nyside.php" );
}

?>
<html>
<body>
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) && // tjek, at der er skrevet et subject
!empty($_POST['message']) && // tjek, at der er skrevet en besked

// her følger sikringen mod spambotter
!strpos($_POST['name'], "xxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "xxxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy'])
{
$headers .= "\r\nBcc: ".$_POST['email'];
}
if (@mail("xxxxxxx.dk", strip_tags($_POST['subject']),
stripslashes(strip_tags($_POST['message'])), $headers))
{
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
}
else
{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
}
else
{
echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>
</body>
</html>
Avatar billede boxer Praktikant
17. marts 2007 - 10:40 #4
Mange tak for hjælpen coderdk.
Det virker perfekt :o)

Hvis du kan lave følgende, opretter jeg et spm med 140 ekstra point til dig:

Når mailformen bruges vil jeg gerne hvis:
1. I stedet for at jeg modtager en mail med hvor emnet i mailformen står som emne i min mailboks, at der står: (Spørgsmål fra) + emnet?

2. Den kopi der sendes til afsender ændres emnet til: Kvittering fra xx

Kan de lade sig gøre?

MvH
Boxer
Avatar billede coderdk Praktikant
17. marts 2007 - 14:32 #5
Ingen ekstra point nødvendigt... Prøv med:

<?php
/* Created on: 16-03-2007 */

if ( isset( $_POST['submit'] ) )
{
  header( "refresh: 10; url=nyside.php" );
}

?>
<html>
<body>
<?php

if (isset($_POST['submit']))
{
    if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
        !empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
        !empty($_POST['subject']) && // tjek, at der er skrevet et subject
        !empty($_POST['message']) && // tjek, at der er skrevet en besked
   
        // her følger sikringen mod spambotter
        !strpos($_POST['name'], "xxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
        !strpos($_POST['email'], "xxxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
        !strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
        !eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
        !eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
        !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
        !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
        // er alt ok, fortsættes med afsendelse af mailen
    {
        $headers="From: ".$_POST['name']."<".$_POST['email'].">";
       
        if (@mail("xxxxxxx.dk", "Spm fra $_POST[name] - $_POST[subject]", stripslashes(strip_tags($_POST['message'])), $headers) )
        {
            // KOPI TIL KUNDEN
            @mail($_POST['email'], "Kvittering fra xxx", stripslashes(strip_tags($_POST['message'])), $headers)
            echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
    }
}
?>
</body>
</html>
Avatar billede boxer Praktikant
17. marts 2007 - 15:22 #6
Det vil min sender.php ikke acceptere. Der bliver ikke afsendt nogen mail.
Avatar billede coderdk Praktikant
17. marts 2007 - 15:50 #7
Du får "E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!" ?
Sikker på at du har udskiftet xxxxxxx.dk med en mail? ;) Anyway, det burde jo bare være at bruge mail() 2 gange i stedet for 1 i din oprindelige.
Avatar billede boxer Praktikant
17. marts 2007 - 17:29 #8
He he - Ja jeg har udskiftet xxx :o)
Nej, jeg får ingen fejlmeddelse. Blank skærm og ingen mail sendes.
Avatar billede coderdk Praktikant
17. marts 2007 - 20:57 #9
Hmm underligt - Prøv lige at fjerne @ før mail() og i toppen af scriptet at skrive error_reporting(E_ALL);
Avatar billede boxer Praktikant
18. marts 2007 - 08:32 #10
Sådan:

<?php
/* Created on: 16-03-2007 */
error_reporting(E_ALL);

if ( isset( $_POST['submit'] ) )
{
  header( "refresh: 5; url=http://www.stokerpiller.dk" );
}

?>
<html>
<body>
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) && // tjek, at der er skrevet et subject
!empty($_POST['message']) && // tjek, at der er skrevet en besked

// her følger sikringen mod spambotter
!strpos($_POST['name'], "stokerpiller.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "xxxxxxx.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
        $headers="From: ".$_POST['name']."<".$_POST['email'].">";
     
        if (@mail("admin@stokerpiller.dk", "Spm fra $_POST[name] - $_POST[subject]", stripslashes(strip_tags($_POST['message'])), $headers) )
        {
            // KOPI TIL KUNDEN
            mail($_POST['email'], "Kvittering fra xxx", stripslashes(strip_tags($_POST['message'])), $headers)
            echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
    }
}
?>
</body>
</html>

Det virker stadig ikke og der kommer heller ikke nogen fejl.
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