0

私は PHP に非常に慣れていません。OOPS を使用して PHP で非常に単純なフォームを作成するように依頼されました。2 つのテキスト フィールド (名前と ID) を持つ 1 つのページ フォームを作成できましたが、現在直面している問題は、ユーザーが送信ボタンをクリックすると、名前のみがデータベースに保存され、 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」フィールドの name 属性はブロック文字ですが、dbinsert.php 経由でアクセスする場合は、「ID」の代わりに「id」を使用します。変数/インデックスは大文字と小文字が区別されます。

于 2012-06-06T06:56:09.217 に答える
-1

2 つのオブジェクトを作成します。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 に答える