Php 如何在不使用操作页面的情况下将表单发布到mysqli
我不想使用动作页面。我想在同一页上发布 这是我的密码。但是有一个错误叫做“未定义索引:baslik在第5行,aciklama在第6行”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
<?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)){