0

我对 PHP 很陌生。我被要求使用 OOPS 在 PHP 中创建一个非常简单的表单。我设法创建了一个带有 2 个文本字段(名称和 ID)的单页表单,但我现在面临的问题是,当用户单击提交按钮时,只有名称存储在数据库中,而不是 ID。你能帮我解决这个问题吗?下面是示例代码提前谢谢你

PERSON.PHP

<?php
class person
{
    var $id;
    var $name;
    function set_id($new_id)
    {
        $this->id=$new_id;
    }

    function get_id()
    {
        return $this->id;
    }

    function set_name($new_name)
    {
        $this->name=$new_name;
    }

    function get_name()
    {
        return $this->name;
    }
}
?>

DBINPUT.PHP

 <?php
 include 'person.php';
 ?>
 <html>
 <body>
 <form action="dbinsert.php" method="post">
  NAME<input type="text" name="name" >/
  ID<input type="text" name="ID" />
  <input type="submit" value="submit">
  </form>
  </html>
    </body>

DBINSERT.PHP

 <?php
    include("person.php");
    $con = mysql_connect("localhost", "cgiadmin", "cgi");
    if (!$con)
    {
        die("couldn't connect ".mysql_error());
    }
    mysql_select_db("oops", $con);

    $person = new person;
    $person->set_name($_POST['name']);

    $person1 = new person;
    $person1->set_id($_POST['id']);


    $sql="INSERT INTO smallprogramusingoops (NAME ,ID ) VALUES ('".$person->get_name()."','".$person1->get_id()."')";
    if (!mysql_query($sql, $con))
    {
    die('Error in inserting '.mysql_error());
    }

    ?>

你能纠正我的错误吗?

4

2 回答 2

3

“id”字段的名称属性是大写字母,而当您通过 dbinsert.php 访问它时,您使用“id”而不是“ID”。变量/索引区分大小写。

于 2012-06-06T06:56:09.217 回答
-1

您创建两个对象。不确定 PHP 如何处理它,它可能会覆盖您现有的变量。

测试运行此代码:

<?php
include("person.php");
$con = mysql_connect("localhost", "cgiadmin", "cgi");
if (!$con)
{
    die("couldn't connect ".mysql_error());
}
mysql_select_db("oops", $con);

$person = new person();
$person->set_name($_POST['name']);
$person1->set_id($_POST['id']);


$sql="INSERT INTO smallprogramusingoops (NAME ,ID ) VALUES ('".$person->get_name()."','".$person1->get_id()."')";
if (!mysql_query($sql, $con))
{
die('Error in inserting '.mysql_error());
}

?>
于 2012-06-06T06:56:31.673 回答