表单到数据库连接


form to database connection

我有一个表单无法与数据库正常工作。请帮忙我使用了时事通讯.php我已经拥有的代码,并编辑了登录信息以满足此客户的需求。任何帮助,不胜感激。

这是我的代码:

<form method="post" action="newsletter.php">
                <div class="row half">
                    <div class="6u"><input type="text" class="text" name="name" placeholder="Name" /></div>
                    <div class="6u"><input type="text" class="text" name="email" placeholder="Email" /></div>
                </div>
                <div class="row half">
                    <div class="12u">
                        <textarea name="message" placeholder="Message"></textarea>
                    </div>
                </div>
                <div class="row">
                    <div class="12u">
                        <ul class="actions">
                            <li><input type="submit" value="Send Message" /></li>
                        </ul>
                    </div>
                </div>
            </form>

时事通讯.php

<?php
error_reporting(E_ALL);
define('DB_NAME', 'Newsletter');
define('DB_USER', '*****');
define('DB_PASSWORD','******');
define('DB_HOST','50.62.209.154:3306');
$link=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
    die('Could not connnect to the database' . mysql_error());
}
$db_selected=mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
    die('Can''t use' . DB_NAME . ':' . mysql_error());
}
echo 'Connected Successfuly';
$value = $_POST['name,email,message']; 
$sql = "INSERT INTO newsletter (name, email, message) VALUES ('$value')"; 
echo "value=$value sql=$sql";
if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
}
mysql_close();
?>

尝试:

$value = '"'.$_POST['name'].'","'.$_POST['email'].'","'.$_POST'message'].'"';

尽管我建议考虑使用 MySQIi,因为 MySQL 库已被较新版本的 PHP 弃用,并研究预准备语句和数据清理以防止 SQL 注入。

编辑

您还应该至少在每个 POST 变量周围使用 mysql_real_escape_string(),以防止人们在单引号(或双引号,具体取决于您包装代码时使用的双引号)进行表单输入并导致问题。

如:

$value = '"'.mysql_real_escape_string($_POST['name']).'","'.mysql_real_escape_string($_POST['email']).'","'.mysql_real_escape_string($_POST'message']).'"';

使用评论中的信息进行编辑

就像夏洛特提到的,你真的也应该开始使用PDO。在尝试学习它时,我喜欢遵循的指南之一是:http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

但你可能想问夏洛特她是否有任何其他资源,因为她比我更熟悉PDO。