的config.php
< ?PHP的
define('DB_SERVER','localhost');
define('DB_USER','root');
DEFINE('DB_PASSWORD','');
DEFINE('DB','bank');
$conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
edit_action.php
<?php
#Edit User code
print_r($_POST);
Class edit_user
{
public function __construct()
{
include 'config.php';
#including config file
}
public function edit()
{
print_r($_POST);
#All the updated code defined here
}
}
当我尝试执行此代码时,它会出错,不包括配置文件。
错误:未定义的变量:edit_action.php中的conn
答案 0 :(得分:3)
您在行动中提交表单=&#39; edit_action.php
&#39;只有print_r($_POST)
,你没有在这个文件上调用任何其他内容。
您可以做的是在edit_action.php
$obj1 = new edit_user;
$obj1->edit();
更新代码:
<?php
#Edit User code
Class edit_user
{
public function edit()
{
include 'config.php';
print_r($_POST);
#All the updated code defined here
}
}
$obj1 = new edit_user;
$obj1->edit();
根据评论请求更新了答案。
<input type="hidden" value="edit" name='action' />
在表单中添加此内容,这会将您的表单提交至edit()
。您可以将其更改为edit_role
的值,以致电edit_role()
。
<强> edit_action.php 强>
<?php
#Edit User code
Class edit_user
{
public function run()
{
switch($this->post['action'])
{
case 'edit':
$this->edit();
break;
case 'edit_role':
$this->edit_role();
break;
}
}
public function edit()
{
include 'config.php';
print_r($_POST);
#All the updated code defined here
}
public function edit_role()
{
#edit_role code goes here
}
}
$obj1 = new edit_user;
$obj1->run();
我希望这会对你有所帮助。
快乐的编码!
答案 1 :(得分:0)
您正在php文件edit_action.php
上提交表单,其中没有(new edit_user())->edit()
的电话,这就是为什么它只是打印$_POST
更改此内容:
<form class="w3-container " action='edit_action.php' method='post' name="form" id="form-e" role="form">
的此:强>
<form class="w3-container " action='edit_user.php' method='post' name="form" id="form-e" role="form">