You are here: Re: Mail-form php « All PHP « IT news, forums, messages
Re: Mail-form php

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>
> &Auml;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">&nbsp;<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&aring;ste fylla i alla f&auml;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&ouml;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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация