Php 如何在不使用操作页面的情况下将表单发布到mysqli

Php 如何在不使用操作页面的情况下将表单发布到mysqli,php,forms,mysqli,Php,Forms,Mysqli,我不想使用动作页面。我想在同一页上发布 这是我的密码。但是有一个错误叫做“未定义索引:baslik在第5行,aciklama在第6行” <?php include("baglan.php"); $site_basligi = mysqli_real_escape_string($conn, $_POST['baslik']); $site_aciklamasi = mysqli_real_escape_string($conn, $_POST['aciklama']); $ayars

我不想使用动作页面。我想在同一页上发布

这是我的密码。但是有一个错误叫做“未定义索引:baslik在第5行,aciklama在第6行”

<?php

include("baglan.php");

$site_basligi = mysqli_real_escape_string($conn, $_POST['baslik']);
$site_aciklamasi = mysqli_real_escape_string($conn, $_POST['aciklama']);

$ayarsql = "UPDATE ayar SET baslik='$site_basligi', aciklama='$site_aciklamasi' WHERE durum='1'";

if($conn->query($ayarsql)){
echo "Güncelleme başarılı";
}
?>

<form action="" method="post">

Site Başlığı: <input type="text" name="baslik" ><br><br>
Açıklama: <input type="text" name="aciklama"><br><br>

<input type="submit">

</form>

我可以看到表单正在提交到同一页面。
您只需要在if条件下包装PHP代码

<?php
include("baglan.php");
if(!empty($_POST['baslik'])) { // This is the new if condition
    $site_basligi    = mysqli_real_escape_string($conn, $_POST['baslik']  );
    $site_aciklamasi = mysqli_real_escape_string($conn, $_POST['aciklama']);
    $ayarsql = "UPDATE ayar SET baslik='$site_basligi', aciklama='$site_aciklamasi' WHERE durum='1'";
    if($conn->query($ayarsql)) {
        echo "Güncelleme başarılı";
    }
}
?>
<form action="" method="post">
    Site Başlığı: <input type="text" name="baslik" ><br><br>
    Açıklama:     <input type="text" name="aciklama"><br><br>
    <input type="submit">
</form>

您没有检查POST数据是否确实存在,因此首次加载页面时没有$\u POST

做点像

if (isset($_POST)){
//这里是您的php代码


}

就这样吧,但是你应该检查你的数据是否可以从
$\u POST
中获得,使用
isset($\u POST)
在执行DB insert或sohope之前,此操作将有效非常感谢您,已解决。:@SametÇiftci,如果此操作已解决您的错误,请将其标记为正确。我希望,但我无法。这是一个新帐户。:)您仍然会从上面的代码中得到未定义的错误。@Roljhon:非常感谢,问题已解决。@SametÇiftci您很好。@SametÇiftci我会把它标记为正确的。但这是一个新帐户。:)
if (isset($_POST)){