Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何停止接收插入数据库的空白数据?_Php_Mysql - Fatal编程技术网

Php 如何停止接收插入数据库的空白数据?

Php 如何停止接收插入数据库的空白数据?,php,mysql,Php,Mysql,在我们的网站上有一个注册表格,用户可以在其中订阅我们的时事通讯。表单有名字和姓氏字段、电子邮件地址字段、城市、州和国家字段。当订阅者注册该列表时,他们将被插入到数据库中 有时我们会收到幻影或空白电子邮件注册,但没有将任何信息插入数据库,尽管6个字段中有3个是必需的。我最近意识到,只要在Dreamweaver中打开php文件,就会提示使用空白信息访问数据库 总是通过的电子邮件地址是一个熟悉的地址。我们使用Godaddy托管两个站点,第二个站点是有问题的站点,访问数据库的电子邮件地址来自第一个站点

在我们的网站上有一个注册表格,用户可以在其中订阅我们的时事通讯。表单有名字和姓氏字段、电子邮件地址字段、城市、州和国家字段。当订阅者注册该列表时,他们将被插入到数据库中

有时我们会收到幻影或空白电子邮件注册,但没有将任何信息插入数据库,尽管6个字段中有3个是必需的。我最近意识到,只要在Dreamweaver中打开php文件,就会提示使用空白信息访问数据库

总是通过的电子邮件地址是一个熟悉的地址。我们使用Godaddy托管两个站点,第二个站点是有问题的站点,访问数据库的电子邮件地址来自第一个站点

有没有办法阻止这些虚幻的电子邮件

以下是我的php代码:

<?php

define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD', '');
define('DB_HOST', '');

$first = Trim(stripslashes($_POST['First']));
$last = Trim(stripslashes($_POST['Last']));
$city = Trim(stripslashes($_POST['City']));
$state = Trim(stripslashes($_POST['State']));
$country = Trim(stripslashes($_POST['Country']));
$email = Trim(stripslashes($_POST['Email']));
$tempt = $_POST['tempt'];
$tempt2 = $_POST['tempt2'];


if ($tempt == 'http://' && empty($tempt2)) {

    $error_message = '';
    $reg_exp = "/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9­-]+\.[a-zA-Z.]{2,5}$/";

    if(!preg_match($reg_exp, $email)) {

        $error_message .= "<p>A valid email address is required.</p>";
    }
    if (empty($first)) {
        $error_message .= "<p>Please provide your first name.</p>";
    }
    if (empty($last)) {
        $error_message .= "<p>Please provide your last name.</p>";
    }

    if (!empty($error_message)) {

        $return['error'] = true;
        $return['msg'] = "<p>The request was successful, but the form was not filled out correctly.</p>".$error_message;
        echo json_encode($return);
        exit();

    } else {

        $return['error'] = false;
        $return['msg'] = "<p style='top:9px; color:#ff6000; left:63px; text-align:left; font-size:1.50em;'>".$first .", <p style='top:0px; width:100%; left:63px; text-align:left; line-height:1.1em;'>your subscription request has been processed.</p>";
        echo json_encode($return);
    }

} else {

        $return['error'] = true;
        $return['msg'] = "<p>There was a problem while sending this form. Try it again.</p>";
        echo json_encode($return);
}


$to = "3elementsreview@gmail.com, marlonfowler@yahoo.com";
$subject = "New Email Address for Mailing List";
$headers = "From: $email\n";
$headers .= "Content-type: text/html\r\n";

$message = "<span style='color:#252525; font-size:1.2em;'>A visitor to 3Elements Review has entered the following information so they can be added to your mailing list.</span><br>\n
<br>
<span style='color:#252525; font-weight:bold; font-size:1.35em;'>$first $last</span><br>
<span style='color:#252525; font-weight:bold; font-size:1.35em;'>$city, $state</span><br>
<span style='color:#252525; font-weight:bold; font-size:1.35em;'>$country</span><br>
<span style='color:#252525; font-weight:bold; font-size:1.35em;'>$email</span>";
mail($to,$subject,$message,$headers);





mail($user,$usersubject,$usermessage,$userheaders);




$link = mysql_connect('xxxx.somedomain.com', 'myusername', 'mypassword');

if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db('mefowler', $link);

if (!$db_selected) {
    die('Can\'t use ' . 'mefowler' . ': ' . mysql_error());
}

$value = mysql_real_escape_string($_POST['First']);
$value2 = mysql_real_escape_string($_POST['Last']);
$value3 = mysql_real_escape_string($_POST['City']);
$value4 = mysql_real_escape_string($_POST['State']);
$value5 = mysql_real_escape_string($_POST['Country']);
$value6 = mysql_real_escape_string($_POST['Email']);

$sql = "INSERT INTO members (First, Last, City, State, Country, Email, Date) VALUES('$value','$value2','$value3','$value4','$value5','$value6',NOW() + interval 2 hour)";

if (!mysql_query($sql)){
    die('Error: ' . mysql_error());
}

mysql_close();

?>






HTML -------->
<form class="contact-me" action="php-signup/sign-up-complete.php" method="post" name="contact-me">
<div id="response2"><!-----------------CONTAINS FORM ERROR MESSAGE--------------></div>

<input name="First" pattern="[A-Za-z]{2,15}" title="Your First Name is Required" id="first" autofocus placeholder="First Name" type="text" maxlength="15"></input><br>
<input name="Last" pattern="[A-Za-z]{2,15}" title="Your Last Name is Required" id="last" placeholder="Last Name" type="text" maxlength="15"></input><br>
<input name="Email" pattern="[A-Za-z0-9\@\.com]{7,50}" title="Your E-Mail Address is Required" id="email" placeholder="E-Mail Address" type="email" maxlength="50"></input><br>
<input name="City" pattern="[A-Za-z\s]{3,40}" id="city" title="Please fill in your 'City'" placeholder="City" type="text" maxlength="40"></input><br>

如果页面未发布到,请停止脚本运行

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//put code here}
else {}

我建议删除ur db的登录详细信息,如果它们是真实的。在前端使用JS检查所有字段是否完整。在后端用PHP验证。没有电子邮件吗?你应该更新所有使用该密码的帐户……或者干脆删除这个问题,重新开始。基纳,我相信这是可行的。非常感谢。