我是面向对象编程的新手,我不知道我做得是否正确。我想从提交的表单中获取数据并将其添加到数据库中。数据库凭据正确。
<?php
require_once('../layout.php');
require_once('../dbconnect.php');
class student{
public $f_name;
public $l_name;
public $email;
public $state;
public $phone;
public $birthday;
public function __construct($f_name,$l_name,$email,$state,$phone,$birthday) {
$f_name = $_POST['f_name'];
$l_name = $_POST['l_name'];
$email = $_POST['email'];
$state = $_POST['state'];
$phone = $_POST['phone'];
$birthday = $_POST['birthday'];
$query = 'INSERT INTO `student`(`first_name`, `last_name`, `email`, `state`, `phone`, `birthday`) VALUES ($f_name,$l_name,$email,$state,$phone,$birthday)';
$resultquery = mysqli_query($dbconnect,$query);
if($resultquery) {
echo "<div class='alert alert-success'>dsf</div>";
}
}
}
?>
<form method="post" class="col-md-6 col-md-offset-3">
<input name="f_name" class="form-control">
<input name="l_name" class="form-control">
<input name="email" class="form-control">
<input name="state" class="form-control">
<input name="phone" class="form-control">
<input name="birthday" class="form-control" type="date">
<input name="submit" type="submit" class="btn btn-default">
</form>
最佳答案
您不必传递所有参数,因为您也在 __construct
中声明它们。我会将它们从 __construct 中删除。因此,如果没有这些参数,您可以执行以下操作:
if(!empty($_POST['提交'])) {
新生();
}
您可以将这段代码添加到类声明下方,它将捕获该帖子。
你的类(class)(在我看来)会变成这样:
<?php
class student{
public function __construct() {
$f_name = $_POST['f_name'];
$l_name = $_POST['l_name'];
$email = $_POST['email'];
$state = $_POST['state'];
$phone = $_POST['phone'];
$birthday = $_POST['birthday'];
$query = 'INSERT INTO student(`first_name`, `last_name`, `email`, `state`, `phone`, `birthday`) VALUES ($f_name,$l_name,$email,$state,$phone,$birthday)';
$resultquery = mysqli_query($dbconnect,$query);
if($resultquery) {
echo "<div class='alert alert-success'>dsf</div>";
}
}
}
关于php - 在面向对象的 PHP 中将类保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30759400/