Gå til innhold

Kontaktskjema


Anbefalte innlegg

Videoannonse
Annonse
<?php

    error_reporting(0);
    $msg="";
        if(isset($_POST['submit'])) {
            $to = "my email adresse, fjernet dette for å skjule mitt epost for dine øyner";
            $subject = "Form Submission";
            $name = $_POST['name'];
            $email = $_POST['email'];
            $message = $_POST['message'];
            
            $msgBody = 'Name : '.$name. ' has written you : '.$message;
            
            // ENDRET HEADERS - SETT IN EN E-POST ADRESSE UNDER DITT DOMENE
            // @slotit.no
            $headers = 'From: [email protected]' . "\r\n" .
            'Reply-To: [email protected]' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
            
            $secretKey = "Fjernet nøkkel for dine øyner !!!!";
            $responseKey = $_POST['g-recaptcha-response'];
            
            $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$responseKey";
            
            $response = file_get_contents($url);
            $response = json_decode($response);
            
            if($response->success){
                if(mail($to, $subject, $msgBody, $headers)){
                    $msg="Message Sent Successfully!";
            }
            else{
                $msg="Failed to send the message!";
            }
        }
        else{
            $msg="Verification Failed";
        }
    }
?>
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="author" content="AMRC">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Kontakt Skjema</title>
        <script src="https://www.google.com/recaptcha/api.js" async defer></script>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    </head>
    <body class="bg-info">
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-lg-4 bg-light rounded mt-3">
                    <h4 class="text-center text-dark p-2">Kontakt oss</h4>
                    <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post" class="p-2">
                        <div class="form-group">
                            <input type="text" name="name" class="form-control" placeholder="Ditt Navn" required>
                        </div>
                        <div class="form-group">
                            <input type="email" name="email" class="form-control" placeholder="Ditt Epost" required>
                        </div>
                        <div class="form-group">
                            <textarea name="message" class="form-control" rows="4" placeholder="Skriv din beskjed her" required></textarea>
                        </div>
                        <div class="form-group">
                            <div class="g-recaptcha" data-sitekey="Fjernet nøkkel for dine øyner !!!!"></div>

                        </div>
                        <div class="form-group">
                            <input type="submit" name="submit" value="Send" class="btn btn-danger btn-block">
                        </div>
                        <div class="form-group"><h4 class="text-success text-center"><?= $msg; ?></h4></div>
                    </form>
                </div>
            </div>
        </div>
        <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    </body>
</html>

We om denne fungerer. Legg merke til headers.

  • Liker 1
Lenke til kommentar
Dan-Levi skrev (52 minutter siden):

We om denne fungerer. Legg merke til headers.

Yes, dette funker.. takker så meget. Nå ble jeg glad !!
Skal studere kodene og lære fra dette.

Appreciate man :D

Det jeg lurer på, er hvordan kan jeg få vite hvilke epost de har skrevet i "Ditt epost" ?? får når jeg tester og mottar mailen så er både avsender og svar til ..i den samme eposten adressen.. altså header's .

Endret av koford
Lenke til kommentar

Hmm jeg prøvde meg litt frem og tilbake.. prøvde følgende:
 

$to = "********@slotit.no";
$headers = 'From: ******@slotit.no' . "\r\n" .
            'Reply-To: ' . $email . "\r\n" .

Det vil på en måte funke.. dvs. det ender opp at mailen blir slik:
Fra:  *********@slotit.no
Svar til: Her dukker eposten av den som sender informasjonen
Til: *********@slotit.no

Litt klønete syns jeg, da man ikke kan "reply" den eposten ettersom den er min egen. Men og trekke ut eposten fra "Svar til".

Hadde den "svar til" fjernet og eposten dukker heller inn på "Fra" .. men eposten min må ligge der for at i det hele tatt skal fungere.
 

Endret av koford
Lenke til kommentar

Bra du fungerer ?

Du kan inkludere e-postadresse for innsender i $msgTxt i eposten, eller bruke som reply adresse.

 

Grunnen til at du ikke kan bruke innsender e-postadresse i $headers (from) variabelen er pga one.com, og har med sikkerhet å gjøre. Man vil ikke at hvem som helst skal kunne sende e-post med hvilken som helst adresse. Det beste er å ha en e-postadresse som er innunder domenet ditt, og deretter inkludere e-postadresse til innsender i enten epostens tekst eller svaradresse.

Endret av Dan-Levi
Typo
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...