【发布时间】:2011-10-03 22:06:53
【问题描述】:
我有一个表单,允许用户选择在新产品推出时接收通知。目前,用户的信息被验证并发送到数据库。但是,我还需要将其发送到电子邮件地址。
两个脚本分开工作;但事实证明,让他们一起工作很困难。
<?php
//CHECK CAPTCHA IMAGE
session_start();
if( isset($_POST['submit'])) {
if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'])) {
// IF CAPTCHA CHECKS OUT, CONTINUE TO VALIDATE DATA.
if( !isset($_POST['fname']) ||
!isset($_POST['lname']) ||
!isset($_POST['email']))
{
echo '<script type="text/javascript">';
echo 'alert("Please go back and fill out the entire form.");';
echo '</script>';
}
// CONNECT TO DATABASE
$dbhost = 'DATABASE NAME';
$dbuser = 'DATABASE USER';
$dbpass = 'PASSWORD';
$dbname = 'DATABASE NAME';
$dbtable = 'TABLE NAME';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Could not connect: ' . mysql_error() . '<br />');
} else {
//echo 'Connected successfully. <br />';
}
$selected = mysql_select_db($dbname,$conn);
if(! $selected)
{
die('Could not connect: ' . mysql_error() . '<br />');
} else {
//echo 'Connected successfully. <br />';
}
$fname = mysql_real_escape_string(stripslashes($_POST['fname']));
$lname = mysql_real_escape_string(stripslashes($_POST['lname']));
$email = mysql_real_escape_string(stripslashes($_POST['email']));
$today = date("Y-m-d H-i-s");
if (mysql_query("INSERT INTO $dbtable(fname, lname, email, date) VALUES('$fname', '$lname', '$email', '$today')") != true)
{
echo ("ERROR: " . mysql_error() . "<br />");
} else {
//echo 'Thank you, your information has been entered into our database. <br />';
}
mysql_close($conn); // CLOSE DATABASE
include('../thankyou.html');
unset($_SESSION['security_code']); //END SESSION
} else // IF CAPTCHA DOESN'T CHECK OUT, DISPLAY ERROR MESSAGE.
{
echo '<script type="text/javascript">';
echo 'alert("Sorry, you have provided an invalid security code.")';
echo '</script>';
}
}
?>
我尝试将表单到电子邮件脚本作为“包含”包含在内,并尝试将这两个脚本集成为一个,但到目前为止都没有奏效。
任何想法将不胜感激..谢谢!
【问题讨论】: