从HTML表单调用类中的PHP函数
我有一个课程是维护客人信息。因此,在该类中,我有以下方法将来宾数据插入从HTML表单调用类中的PHP函数,php,html,Php,Html,我有一个课程是维护客人信息。因此,在该类中,我有以下方法将来宾数据插入guest\u info表中 require_once "BaseModel.php"; class GuestModel extends BaseModel { public static $table = "guest_info"; public static function guestInfoFormData(){ $title = $_POST['title'];
guest\u info
表中
require_once "BaseModel.php";
class GuestModel extends BaseModel
{
public static $table = "guest_info";
public static function guestInfoFormData(){
$title = $_POST['title'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$nicpassport = $_POST['nicpassport'];
$contactnumber = $_POST['contactnumber'];
$addressline1 = $_POST['addressline1'];
$addressline2 = $_POST['addressline2'];
$addressline3 = $_POST['addressline3'];
$country = $_POST['country'];
$guestinfo = array($title,$firstname,$firstname,$nicpassport,$addressline1,$addressline2,$addressline3,$country);
insertInto($guestinfo);
}
}
如何从HTML表单调用此方法并将来宾数据传递给它?
<?php GuestModel::guestInfoFormData(); ?>
在此之前,请确保需要/包含
GuestModel
类。您可以使用GuestModel::guestInfoFormData()
,但不能在html
文件中执行,它必须是php文件
不要忘记转义所有输入值,现在您将所有用户输入传递到insertInto
,因此在sql查询中使用数据之前必须转义数据,以防止sql注入
顺便问一下:为什么要创建一个类,当你从中调用一个全局函数时?也许将全局函数
insertInto
移动到这个(或另一个更好的)类中是个好主意:)我将insertInto
方法放在我的BaseModel
类中,这样我就可以将它用于我的其他数据插入,这是个坏主意吗?不,这听起来是个合理的模型,但你不能将它用作全局函数,您需要像这样调用它:self::inertInto()
,它也必须是一个静态方法。如果它是一个非静态方法,您将得到一个php严格标准错误,但它不会中断脚本。静态使用此函数有什么原因吗?也许您想创建该类的新实例,并在上下文中使用该函数?:)是的insertInto
是一个静态方法。我错过了类名,谢谢提醒。我把GuestModel::guestInfoFormData()
放进去,但现在我无法访问$\u POST['title']代码>方法内部:(