将Webform保存到数据库

时间:2014-10-21 09:45:47

标签: php html mysql database

我一直在努力学习PHP,并且有一个简单的任务来帮助我。

我正在尝试让用户填写一个包含电子邮件地址的表单,然后将其保存到数据库中。

到目前为止,这是我的代码:

<html> 
    <body>

        <form action="postemail.php" method="post"> Email Address: <input type="text" name="emailaddress" /> <input type="submit" /> 

        </form>

    </body> 
</html>

<?php 
   $connection = mysql_connect("localhost","edwardHost","password"); 
     if (!$connection) {
        die('Could not connect: ' . mysql_error());
     }
    mysql_select_db("my_database", $connection);

    $sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')";

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

    mysql_close($connection); 
?>

提前致谢!

4 个答案:

答案 0 :(得分:1)

将您的查询更改为此

上次你遗忘$_POST[emailaddress]时遗忘的一件事还有一件事。在query

$sql="INSERT INTO Subscribers (EmailAddress) VALUES ('".$_POST['emailaddress']."')";

不要使用mysl function作为已解除的

了解mysqli_ functionPDO或两者

点击mysql identifier http://dev.mysql.com/doc/refman/5.0/en/identifier-qualifiers.html

的此链接

答案 1 :(得分:1)

在postemail.php中使用PDO尝试此示例

define('DB_TYPE', 'mysql');
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'dbname');
define('DB_USER', 'root');
define('DB_PASS', 'password');

try {
    // create a new instance of a PDO connection
    $db = new PDO(DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
    // if the connection fails, display an error message
    echo 'ERROR: ' . $e->getMessage();
}

if(isset($_POST['emailaddress']) && !empty($_POST['emailaddress'])) {

    $emailaddress = $_POST['emailaddress'];

    $sql = 'INSERT INTO Subscribers (EmailAddress) VALUES (:emailaddress )';

    $stmt = $db->prepare($sql);
    $stmt->bindValue('emailaddress ', $emailaddress);
    $stmt->execute();
}

答案 2 :(得分:0)

完成填写表单后,首先需要检查是否单击了提交按钮,然后必须将其发送到数据库。

您还需要提交一个名称=&#34;&#34;

的提交按钮

HTML code:

<html> 
    <body>
        <form action="postemail.php" method="post">
            Email Address: <input type="text" name="emailaddress" />
            <input type="submit" name="submit" value="add to database" /> 
        </form>
    </body> 
</html>

PHP代码:

<?php 
    if(isset($_POST['submit'])){
        $connection = mysqli_connect("localhost","edwardHost","password","my_database"); 
        if (!$connection) {
           die('Could not connect: ' . mysql_error());
        }

        $email = $_POST['emailaddress'];            

        $sql = "INSERT INTO Subscribers (EmailAddress) VALUES ('$email')";

        if (!mysqli_query($connection,$sql)) { 
          die('Error: ' . mysql_error()); 
        }

        mysql_close($connection); 
    }
?>

答案 3 :(得分:-1)

     <html> <body>
    <form action="postemail.php" method="post">  
    Email Address: <input type="text" name="emailaddress" />      
     <input type="submit" />
       </form>
      </body> </html>
  <?php $connection = mysql_connect("localhost","username","password");
     if (!$connection) { die('Could not connect: ' . mysql_error());   
   }
   mysql_select_db("my_database", $connection);
   $sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')";
   if (!mysql_query($sql,$connection)) { die('Error: ' . mysql_error()); }
   mysql_close($connection);
    ?>