<html>
<body>
<form action="database.php" method="post">
Name : <input type ="text" name = "Name"/>
Number :<input type ="text" name = "Number"/>
<input type ="submit" value = "submit" name="submit"/>
</form>
</body>
</html>
<?php
class Database
{
var $host;
var $user;
var $pass;
var $data;
var $con;
var $table;
var $db;
public function controls()
{
$this->host="localhost";
$this->user="root";
$this->pass="";
$this->data="employeedatabase";
}
public function connection()
{
$this->con = mysql_connect($this->host,$this->user,$this->pass);
}
public function tablename()
{
$this->table=mysql_query("INSERT INTO employee(name,number) VALUES ('".$_POST[name]."','".$_POST[number]."')");
}
public function databaseconnection()
{
$this->db=mysql_select_db($this->data,$this->con);
}
}
$name=new Database();
$name->controls();
$name->connection();
if(!($name->con))
{
echo 'Error: ' . mysql_error();
}
$name->databaseconnection();
$name->tablename();
?>
質問する
24573 次
2 に答える
1
これはhtmlフォームです
<body>
<form action="process.php" method="post">
Name : <input type ="text" name = "Name"/>
Number :<input type ="text" name = "Number"/>
<input type ="submit" value = "submit" name="submit"/>
</form>
</body>
クラスを含むこの php ファイルの名前は db.php です。
<?php
class db
{
public $host;
public $user;
public $pass;
public $data;
public $con;
public $table;
function db()
{
$this->host="localhost";
$this->user="usern";
$this->pass="passwrd";
$this->data="dbname";
}
public function connect()
{
$this->con=mysql_connect($this->host,$this->user,$this->pass);
if(!$this->con)
{
echo mysql_error();
}
$sel=mysql_select_db($this->data, $this->con);
if(!$sel)
{
echo mysql_error();
}
}
public function insert($name,$number)
{
$sql=mysql_query("INSERT INTO tablename(name, number) VALUES('$name', '$number')");
if(!$sql)
{
echo mysql_error();
}
}
}
?>
このスクリプトは、html フォームの「action」属性で指定する php ファイル用で、「process.php」という名前を付けました。
<?php
include'db.php';
$name=$_POST['Name'];
$num=$_POST['Number'];
$n=new db();
$n->connect();
$n->insert($name,$num);
?>
于 2013-10-27T16:41:55.903 に答える
0
あなたの質問に答える前に(ここでは質問はありません)、いくつかの事実を指摘したいと思います。
クラスとそのオブジェクトを同じページで使用しないでください。OOPS の考え方は、コードに再利用性をもたらすことなので、同じスクリプトでクラスとオブジェクトの両方を使用する意味は何ですか? クラスを別のphpファイルに保存してから、使用してphpスクリプトにクラスを含めます
include'filename.php'
次に、同様の要件を持つ任意のスクリプトでクラスを使用できます
オブジェクトが作成されるたびにコンストラクター関数が呼び出されるため、クラス変数に値を設定するために別の関数を呼び出す必要がないように、関数でクラス変数を設定せず、コンストラクターで変数に値を指定します。
クラス変数のアクセス制御モードを指定します。「public」または「private」または「protected」のいずれかです
class Database { var $host; var $user; var $pass; var $data; var $con; var $table; var $db; function Database() { $this->host="localhost"; $this->user="root"; $this->pass=""; $this->data="employeedatabase"; } public function connection() { $this->con = mysql_connect($this->host,$this->user,$this->pass); if(!$this->con) { echo mysql_error(); } } public function tablename() { $this->table=mysql_query("INSERT INTO employee(name,number) VALUES ('".$_POST['name']."','".$_POST['number']."')"); if(!$this->table) { echo mysql_error(); } else { echo "success"; } } public function databaseconnection() { $this->db=mysql_select_db($this->data,$this->con); if(!$this->db) { echo mysql_error(); } } }
そして、ここにdatabase.phpのスクリプトがあります
<?php
include'class.db.php';
$name=new Database();
$name->connection();
$name->databaseconnection();
$name->tablename();
?>
于 2013-10-27T14:26:05.337 に答える