Teig Skrevet 10. desember 2007 Del Skrevet 10. desember 2007 (endret) Topic says it all, hvorfor fungerer ikke koden min? Jeg mottar ingen mail, rett og slett. <html> <body> <h1> Kontakt </h1> <?php // Define your email address - where to send messages - here define("MAIL_TARGET","[email protected]"); // Here you can redefine error messages define("errorName","Ugyldig navn! Det må inneholde minst to tegn!"); define("errorEmail","Ugyldig e-mail adresse!"); define("errorMsg","Ugyldig melding! Meldingen må inneholde minst 10 tegn."); function createForm($subject="",$name="",$email="",$message="",$error1="",$error2="",$error3=""){ ?> <div id="forms"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <fieldset> <ol> <li> <li> Navn </li> <li> <?php echo $error1; ?><input type="text" name="name" value="<?php echo $name; ?>"> </li> <li> Emne </li> <li> <?php echo $error2; ?><input type="text" name="email" value="<?php echo $subject; ?>"> </li> <li> E-mail </li> <li> <?php echo $error2; ?><input type="text" name="email" value="<?php echo $email; ?>"> </li> <li> Hva vil du si? </li> <li><?php echo $error3; ?> <textarea cols="50" rows="8" name="message"><?php echo $message; ?> </textarea> </li> </ol> </fieldset> <fieldset class="submit"> <input type="submit" name="submitBtn" value="Send"> </fieldset> </form> </div> <?php } // This function validates an email address function isValidEmail($email){ $pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"; if (eregi($pattern, $email)){ return true; } else { return false; } } // This function sends an email to the given address function sendMail($name,$email,$message,$subject){ $subject = "Message from website: $subject"; $from = "From: $name <$email>\r\nReply-To: $email\r\n"; $header = "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n"; $content = htmlspecialchars($message); $content = wordwrap($content,70); @mail(MAIL_TARGET,$subject,$content,$from.$header); } ?> <html> <body> <?php if (!isset($_POST['submitBtn'])) { createForm(); } else { $subject = isset($_POST['subject']) ? $_POST['subject'] : ""; $name = isset($_POST['name']) ? $_POST['name'] : ""; $email = isset($_POST['email']) ? $_POST['email'] : ""; $message = isset($_POST['message']) ? $_POST['message'] : ""; $error = false; $error1 = ''; $error2 = ''; $error3 = ''; if (strlen($name)<2) { $error = true; $error1 = errorName; } if (!isValidEmail($email)) { $error = true; $error2 = errorEmail; } if (strlen($message)<10) { $error = true; $error3 = errorMsg; } if ($error){ createForm($subject,$name,$email,$message,$error1,$error2,$error3); } else { sendMail($name,$email,$message,$subject); ?> Meldingen din er sendt! <?php } } ?> <body> </html> Endret 10. desember 2007 av hakhag Lenke til kommentar
CruellaDeVille Skrevet 10. desember 2007 Del Skrevet 10. desember 2007 Den sender mail hos meg. Havner riktignok i spamboksen, men likevel. Eneste endringen jeg gjorde var å endre epost (of course) og sette smtp-server vha ini_set siden jeg jobber på localhost. Lenke til kommentar
Teig Skrevet 10. desember 2007 Forfatter Del Skrevet 10. desember 2007 Ah, det har jeg faktisk gjort før en gang Men jeg husker ikke hvor fila ligger. Kan du være så vennlig å fortelle meg? Lenke til kommentar
Teig Skrevet 10. desember 2007 Forfatter Del Skrevet 10. desember 2007 (endret) Ok, tror jeg fant hvor jeg skal endre det, men hva skal jeg endre det til? [mail function] ; For Win32 only. SMTP = localhost ; For Win32 only. sendmail_from = [email protected] Sendmail_from forvirrer meg litt. Er det ikke dit mailen skal sendes til, eller defineres det i kontaktskjema-scriptet? Endret 10. desember 2007 av hakhag Lenke til kommentar
Mats Danielsen Skrevet 10. desember 2007 Del Skrevet 10. desember 2007 Der setter du en standard mail avsender, f.eks. [email protected] Men du definerer mottaker i scriptet. Lenke til kommentar
CruellaDeVille Skrevet 10. desember 2007 Del Skrevet 10. desember 2007 Ok, tror jeg fant hvor jeg skal endre det, men hva skal jeg endre det til? [mail function] ; For Win32 only. SMTP = localhost ; For Win32 only. sendmail_from = [email protected] Sendmail_from forvirrer meg litt. Er det ikke dit mailen skal sendes til, eller defineres det i kontaktskjema-scriptet? Det du har funnet der er php.ini, jeg brukte ini_set - slik // en eller annen plass før du forsøker å sende eposten ini_set('SMTP','mail.broadpark.no'); mail.broadpark.no byttes ut med utgående mailserver til din ISP Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå