0

在表单方面我很弱,这里似乎缺少一些东西,提交表单时没有填充 mysql 表,就网络上的信息而言,有很多关于如何制作表格,php上有很多,mysql上有很多,但我没有找到任何可以同步这三个的东西,这就是我所拥有的:

形式(不用担心,一旦我得到功能,我就会将样式设置为外部):

<div style="background-color:#424142; width:100%; margin-left:7%; margin-top:20px;">
    <form action="templates/tmpl_tmd022/scripts/post_subscription.php" method="post">
        <table width="100%" border="0">
            <tr>
                <td style="padding:5px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;" colspan="2">Sign up now to recieve our free newsletter. </td>
            </tr>
            <tr>
                <td style="padding:5px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;" width="30%">First name:</td>
                <td style="padding:5px; padding-left:0; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;" width="70%"><input type="text" name="fname"  /></td>
            </tr>
            <tr>
                <td style="padding:5px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;">Last name:</td>
                <td style="padding:5px; padding-left:0; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;"><input type="text" name="lname" /></td>
            </tr>
            <tr>
                <td style="padding:5px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;">Email:</td>
                <td style="padding:5px; padding-left:0; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#FFF;"><input type="text" name="email" /></td>
            </tr>
            <tr>
                <td style="padding:5px;">&nbsp;</td>
                <td style="padding:3px; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:12px; color:#000;"><input type="submit" value="Submit" style="color:000;"/></td>
            </tr>
        </table>
    </form>
</div>

PHP:

<?php
    require "connect_to_mysql.php"; 

    $fname=($_POST['fname']); 
    $lname=($_POST['lname']); 
    $email=($_POST['email']); 

    $sql="INSERT INTO subscriptions (lname, fname, email) 
    VALUES ('$_POST[lname]','$_POST[fname]','$_POST[email]')"; 

    mysql_close(); 

    header('Location: http://www.*websitehidden*.com/')
?>

包含的 connect_to_mysql.php 文件是数据库名称、数据库用户和数据库密码,它经过测试并且运行良好。

有没有人知道我犯了什么(可能是愚蠢的)错误?

4

2 回答 2

4

您没有包含执行查询的 mysql_query() 部分。

<?php
require "connect_to_mysql.php"; 

$fname = mysql_real_escape_string($_POST['fname']); 
$lname = mysql_real_escape_string($_POST['lname']); 
$email = mysql_real_escape_string($_POST['email']); 

$sql="INSERT INTO subscriptions (lname, fname, email) 
VALUES ('$lname','$fname','$email')"; 
mysql_query($sql);

mysql_close(); 

header('Location: http://www.*websitehidden*.com/')
?>

此外,不应使用mysql_ 函数,它们是旧的做事方式,不如新的 mysqli_ 函数快速和安全。

于 2012-06-12T16:43:59.637 回答
1

尝试修复您的 SQL:

$sql = "INSERT INTO subscriptions (lname, fname, email) 
        VALUES ('$lname','$fname','$email')"; 
mysql_query($sql);
于 2012-06-12T16:43:53.907 回答