|
Posted by DrTebi on 09/15/05 22:48
On Wed, 14 Sep 2005 14:06:27 +0000, Yvonne wrote:
> Hi everyone!
>
> I have a problem with php. I guess I am tired because I sure this is
> simple, but I just can't make a simple mailscript work. I have to pages.
> One htm and one php. Here's the code:
>
> contact.html
> <html>
> <head>
> <title>Kontakt</title>
> <link rel="stylesheet" href="../css/style.css">
>
> </head>
> <body>
> <h1>Kontakt</h1>
> <h2>Kontakt</h2>
> <form method="post" action="send.php">
> Namn:<br><input name="name" type="text" size="30"><br><br>
> Email:<br><input name="email" type="text" size="30"><br><br>
> Ärende:<br><input name="subject" type="text" size="30"><br><br>
> Meddelande:<br><textarea name="msg" cols="25"
> rows="6"></textarea><br><br>
> <input type="reset" value="Reset"> <input type="submit"
> value="Send">
> </form>
> </body>
> </html>
>
> send.php
> <html>
> <head>
> <title>Kontakta oss</title>
> <link rel="stylesheet" href="../css/style.css">
>
> </head>
> <body>
>
> <?php
> $to = "clownen2005@telia.com"; //
> $name = $_POST['name'];
> $email = $_POST['email'];
> $subject = $_POST['subject'];
> $msg = $_POST['msg'];
> $sub = "form to mail";
> $messub = "Subject: ".$subject."\n";
> $mesmsg .= "Message: ".$msg."\n";
> $mesname .= "Name: ".$name."\n";
> $mesemail .= "Email: ".$email."\n";
> if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
> echo " <h3>Du måste fylla i alla fält.</h3>";
> }
> elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",
> $email)) {
> print " <h3>Din email är felaktig.</h3>";
> } else {
> mail('$to', $sub, $messub, $mesmsg, $mesname, $mesemail);
> print " <h3><center>Tack ".$name." för att du kontaktar
> oss.</center></h3>";
> }
> ?>
> </body>
> </html>
>
> Can anyone tell me what I am doing wrong?
>
> Thanks
> Yvonne
Hello,
your mail() function has too many parameters, and the $to variable should
not be quoted. It should look like this:
mail($to, $sub, $messub . $mesmsg . $mesname . $mesemail);
Note that here I concatenated the $messsub, mesmsg etc. with a . (dot).
Please be aware though that you are not checking user input at all, this
is a potential danger since your script allows any kind of input;
especially in the last few days spammers have been trying to abuse forms
like yours to send spam. Search for a tutorial about mailing with php and
form validation... just a recommendation.
Navigation:
[Reply to this message]
|