-1

I don't wanna use an action page. I wanna post on the same page.

These are my codes. But there is an error called "Undefined index: baslik on line 5 and aciklama on line 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>
  • just leave it like that, but you should be checking if your the data is available from the `$_POST`, use `isset($_POST)` before doing your DB insert or so – Roljhon Apr 01 '17 at 18:05

3 Answers3

0

I can see the form IS submitting to the same page. You just should wrap the PHP code in if condition

<?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>
Hossam
  • 1,126
  • 8
  • 19
0
<?php

include("baglan.php");
// check for post request here 
if(isset($_POST['baslik']) && $_POST['baslik'] != "") {
$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>
Sudhakar
  • 324
  • 3
  • 9
0

You are not checking if the POST data actually exists, so when you first load the page there is no $_POST

do something like

if (isset($_POST)){

//your php code here

}

Luke143
  • 16
  • 2