Avatar billede martin100 Nybegynder
28. april 2009 - 15:05 Der er 9 kommentarer og
1 løsning

Simpelt formmail, hvordan?

Hej alle,

jeg har følgende side jeg skal bruge noget formmail kode til:

www.nem-rengøring.dk/kontaktos.html

jeg har dette:

<?php
$navn = $_POST["navn"];
$email = $_POST["email"];
$emne = $_POST["emne"];
$besked = nl2br($_POST["besked"]);
$ip = $_SERVER['REMOTE_ADDR'];
$tekst = "Navn: $navn\nEmail: $email\nIP Adresse: $ip\n\n$besked";
$modtager = "info@martin-mortensen.dk";

if(empty($navn) || empty($email) || empty($besked)) {

echo "Alle felter skal udfyldes!<br><br><a href=\"kontakt.html\">Tilbage</a>";

}else{

mail($modtager, $emne, $tekst);
echo "Din besked er blevet sendt, og vi vil kontakte dig hurtigst muligt!";
}
?>

Nogen som kan hjælpe med at tilpasse den nye kode i send.php

formail action = send.php

formfelterne hedder således:

virksomhed
navn
adresse
postnrby
telefonnummer
emailadresse
foresporgsel

når man så er færdig med at udfylde og trykke på send, så skal den gå til en spcefik HTML side ala www.nem-rengøring.dk/xxx.html

Nogen som kan være behjælpelige??!?

På forhånd tak
Avatar billede webweaver Praktikant
28. april 2009 - 19:10 #1
Har lige hurtigt bikset noget sammen til dig. Er ikke testet, men burde vidst nok virke da :) PHP koden skal smides helt øverst i dit dokument. Altså før <head> og så videre, da der ellers vil være fejl. Har lige givet et eksempel nedenunder. Det eneste det kræver er at du har en form der virker, og som har samme navne som variablerne :)

<?

    $emne = "???"; // Din mail skal have et emne for ikke at havne i et spam-filter fx.
    $virksomhed = $_POST["virksomhed"];
    $navn = $_POST["navn"];
    $adresse = $_POST["adresse"];
    $postnr = $_POST["postnrby"];
    $telefon = $_POST["telefonnummer"];
    $email = $_POST["emailadresse"];
    $foresporgsel = $_POST["foresporgsel"];
    $ip = $_SERVER['REMOTE_ADDR'];
    $tekst = "\nVirksomhed: $virksomhed\nNavn: $navn\nAdresse: $adresse\nPostnr: $postnr\nTelefon: $telefon\nEmail: $email\nforesporgsel: $foresporgsel\nIP Adresse: $ip\n\n$besked";
    $modtager = "info@martin-mortensen.dk";
   
    if (!$navn || !$email) || !$foresporgsel) { // Tilføj evt. her hvis flere felter skál udfyldes.
   
        $error = true;
       
    } else {
   
        mail($modtager, $emne, $tekst);
        header("location:xxx.html");
        exit;   
   
    }
   
?>

<!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">
        <title>Untitled Document</title>
   
    </head>
   
    <body>
       
        <?   
           
            if ($error) {
           
                echo "Udfyld venligst felterne!<br><br><a href=\"kontakt.html\">Tilbage</a>";
           
            }
       
        ?>

    </body>

</html>
Avatar billede egzonrh Nybegynder
28. april 2009 - 19:27 #2
Jeg har et andet spørgsmål, hvis i kan hjælpe.

Hvordan indtaster jeg mine formfelter? Navn, e-mail osv..

Min webhotel er one.com. Når jeg indtaster FormMail koden ind, så kommer der kun felterne. Ikke teksten.

Med andre ord:
Hvordan har du indskrevet din tekst:
virksomhed
navn
adresse
postnrby
telefonnummer
emailadresse
foresporgsel

Hvis jeg gøre det manuelt, så kommer der et par problemer. Altså hvis jeg flytter felterne lidt til siden, så der kan være plads til teksten.
Avatar billede webweaver Praktikant
28. april 2009 - 19:49 #3
Hey egzonrh,

Du må nok lige oprette dit eget spørgsmål først og fremmest.
Avatar billede egzonrh Nybegynder
28. april 2009 - 19:57 #4
Jeg ved det, men da jeg kiggede nærmere på hans hjemmeside, så kunne det være at han bare lige kunne sige det.

I må undskylde hvis jeg har forstyrret.
Avatar billede martin100 Nybegynder
29. april 2009 - 07:47 #5
Hej Lasse, det ser lovende ud.

Her er mit dokument:

<?

    $emne = "???"; // Din mail skal have et emne for ikke at havne i et spam-filter fx.
    $virksomhed = $_POST["Virksomhed"];
    $navn = $_POST["Navn"];
    $adresse = $_POST["Adresse"];
    $postnr = $_POST["postnrby"];
    $telefon = $_POST["Telefonnummer"];
    $email = $_POST["Emailadresse"];
    $foresporgsel = $_POST["Foresporgsel"];
    $ip = $_SERVER['REMOTE_ADDR'];
    $tekst = "\nVirksomhed: $virksomhed\nNavn: $navn\nAdresse: $adresse\nPostnr: $postnr\nTelefon: $telefon\nEmail: $email\nforesporgsel: $foresporgsel\nIP Adresse: $ip\n\n$besked";
    $modtager = "info@martin-mortensen.dk";
   
    if (!$navn || !$email) || !$foresporgsel) { // Tilføj evt. her hvis flere felter skál udfyldes.
   
        $error = true;
       
    } else {
   
        mail($modtager, $emne, $tekst);
        header("location:kontaktos.html");
        exit;   
   
    }
 
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
  <?   
           
            if ($error) {
           
                echo "Udfyld venligst felterne!<br><br><a href=\"kontakt.html\">Tilbage</a>";
           
            }
       
        ?>
</body>
</html>


Men jeg får følgende fejl når jeg executer

Parse error: syntax error, unexpected T_BOOLEAN_OR in /home/virtual/xn--nem-rengring-2jb.dk/public_html/send.php on line 15
Avatar billede martin100 Nybegynder
29. april 2009 - 07:48 #6
Dette skulle være linie 15

if (!$navn || !$email) || !$foresporgsel) { // Tilføj evt. her hvis flere felter skál udfyldes.
Avatar billede webweaver Praktikant
29. april 2009 - 17:03 #7
Yeah, der er lige en tastefejl..

if (!$navn || !$email) || !$foresporgsel) { // Tilføj evt. her hvis flere felter skál udfyldes.

skal være

if (!$navn || !$email || !$foresporgsel) { // Tilføj evt. her hvis flere felter skál udfyldes.

Prøv igen så :)
Avatar billede martin100 Nybegynder
29. april 2009 - 18:00 #8
Tusind tak, nu kører det perfekt..!! Du er en guttermand
Avatar billede martin100 Nybegynder
29. april 2009 - 18:01 #9
Hvordan lukker man spørgsmålet og giver dig points?
Avatar billede webweaver Praktikant
29. april 2009 - 19:57 #10
Du accepterer bare det svar jeg har lagt længere oppe :)
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