Php 提交时出现403禁止的错误

Php 提交时出现403禁止的错误,php,error-handling,Php,Error Handling,我刚刚在线迁移了一个网站,目前正在进行在线测试,以确保一切正常。在几个特定的页面上,当我提交而不是提交时,我得到了一个403禁止的错误,这是我在本地主机中没有看到的。原因可能是什么 错误 禁止的 您没有在此服务器上访问/cms/CMShome.php的权限 此外,尝试使用ErrorDocument处理请求时遇到403禁止的错误 给出错误的代码示例: if ($_POST) { if (isset($_POST['homesavebtn'])){ $home_title = (isset($_P

我刚刚在线迁移了一个网站,目前正在进行在线测试,以确保一切正常。在几个特定的页面上,当我提交而不是提交时,我得到了一个403禁止的错误,这是我在本地主机中没有看到的。原因可能是什么

错误

禁止的

您没有在此服务器上访问/cms/CMShome.php的权限

此外,尝试使用ErrorDocument处理请求时遇到403禁止的错误

给出错误的代码示例:

 if ($_POST) {
if (isset($_POST['homesavebtn'])){
$home_title = (isset($_POST['home_title']) ? $_POST['home_title'] : null);
$home_text = (isset($_POST['home_text']) ? $_POST['home_text'] : null); 
include 'connect.php';
$stmt = $conn->prepare("INSERT INTO content(name, fieldcontent) 
                      VALUES ('home_title', ?), ('home_text', ?)
                      ON DUPLICATE KEY UPDATE fieldcontent = VALUES(fieldcontent)");

    $stmt->bind_param('ss', $home_title, $home_text);
    $stmt->execute();
    
    $conn->close();
    
}
if ($_POST) {
else if(isset($_POST['update_contact'])) {
    $contact_title = (isset($_POST['contact_title']) ? $_POST['contact_title'] : null);
    $contact_email = (isset($_POST['contact_email']) ? $_POST['contact_email'] : null);
    $contact_para1 = (isset($_POST['contact_para1']) ? $_POST['contact_para1'] : null);
    $contact_para2 = (isset($_POST['contact_para2']) ? $_POST['contact_para2'] : null);
    $address = (isset($_POST['address']) ? $_POST['address'] : null);
    $contact_sub = (isset($_POST['contact_sub']) ? $_POST['contact_sub'] : null);                             
    
    include 'connect.php';
    
    $stmt = $conn->prepare("INSERT INTO content(name, fieldcontent) VALUES ('contact_title', ?), ('contact_email', ?), ('contact_para1', ?), ('contact_para2', ?), ('address', ?), ('contact_sub', ?) ON DUPLICATE KEY UPDATE fieldcontent = VALUES(fieldcontent)");
    
    $stmt->bind_param('ssssss', $contact_title, $contact_email, $contact_para1, $contact_para2, $address, $contact_sub);
    $stmt->execute();
    $conn->close();
}
}
}

没有给我错误的代码:

 if ($_POST) {
if (isset($_POST['homesavebtn'])){
$home_title = (isset($_POST['home_title']) ? $_POST['home_title'] : null);
$home_text = (isset($_POST['home_text']) ? $_POST['home_text'] : null); 
include 'connect.php';
$stmt = $conn->prepare("INSERT INTO content(name, fieldcontent) 
                      VALUES ('home_title', ?), ('home_text', ?)
                      ON DUPLICATE KEY UPDATE fieldcontent = VALUES(fieldcontent)");

    $stmt->bind_param('ss', $home_title, $home_text);
    $stmt->execute();
    
    $conn->close();
    
}
if ($_POST) {
else if(isset($_POST['update_contact'])) {
    $contact_title = (isset($_POST['contact_title']) ? $_POST['contact_title'] : null);
    $contact_email = (isset($_POST['contact_email']) ? $_POST['contact_email'] : null);
    $contact_para1 = (isset($_POST['contact_para1']) ? $_POST['contact_para1'] : null);
    $contact_para2 = (isset($_POST['contact_para2']) ? $_POST['contact_para2'] : null);
    $address = (isset($_POST['address']) ? $_POST['address'] : null);
    $contact_sub = (isset($_POST['contact_sub']) ? $_POST['contact_sub'] : null);                             
    
    include 'connect.php';
    
    $stmt = $conn->prepare("INSERT INTO content(name, fieldcontent) VALUES ('contact_title', ?), ('contact_email', ?), ('contact_para1', ?), ('contact_para2', ?), ('address', ?), ('contact_sub', ?) ON DUPLICATE KEY UPDATE fieldcontent = VALUES(fieldcontent)");
    
    $stmt->bind_param('ssssss', $contact_title, $contact_email, $contact_para1, $contact_para2, $address, $contact_sub);
    $stmt->execute();
    $conn->close();
}
}

您使用的是什么类型的服务器?检查您的文件权限并检查您的.htaccess,如果您使用的是apache服务器,则可能会阻止您的访问。我使用的是共享托管服务器(apache)。问题是,只有这段代码在站点上不起作用(与之非常相似)。与代码或mysql无关。正如@RalphMelhem所指出的,这纯粹是一个权限问题。查看服务器错误日志以获取更多信息。我对此有严重怀疑,因为其余代码都可以正常工作,所以我认为这不是权限问题。获取相同的问题@你的问题解决了吗?