我制作文件details.php
,显示来自MySQL的数据列表,然后为它制作edit.php
。
当我点击edit.php
时,它会自动转到edit.php?id=detailsid
(它可以正常工作),但是当我点击提交编辑数据时,它没有任何变化和错误。
这是我的Edit.php
<form method="post" action="editdata.php">
<?php
include 'config.php';
$id=$_GET['id'];
$sqlTampil="select * from data_korban Where kasus_id=$id";
$qryTampil=mysql_query($sqlTampil);
$dataTampil=mysql_fetch_array($qryTampil);
$data=mysql_fetch_array($qryTampil);
?>
这是我的一些HTML表单
<input type="DATE" name="tanggal" size="20" value="<?php echo $dataTampil['tanggal']; ?>">
<input type="text" name="namakorban" size="40" value="<?php echo $dataTampil['namakorban']; ?>">
<input type="text" name="umurkorban" size="5" value="<?php echo $dataTampil['umurkorban']; ?>">
<input type="submit" name="submit" value="SUBMIT">
当我点击提交时,它会自动调用editdata.php
但我的MySQL行没有变化..
这是我的editdata.php
<?php
include "config.php";
$id=$_GET['id'];
$tanggal = $_POST['tanggal'];
$namakorban = $_POST['namakorban'];
$umurkorban = $_POST['umurkorban'];
$update = "UPDATE data_korban SET tanggal='$tanggal', namakorban='$namakorban', umurkorban='$umurkorban' WHERE kasus_id = '$id'";
$hasil = mysql_query($update);
if ($hasil)
echo "<center>Update Success<center>";
else
echo "<center><h3><a href=pencarian.php>Back Tampil Data</a></h3></center>";
?>
我的Error_Log
中有一些东西PHP Notice: Undefined index: id in /home/lombokdi/public_html/dbanak/editdata.php on line 4 ------ it's $id=$_GET['id'];
我已更改为$_POST['id'];
它仍然是错误。
答案 0 :(得分:1)
您的表单似乎不包含id
命名字段。
您正在尝试从请求中读取非现有字段。
形成请求以通过post
方法发送数据,但您尝试使用id
方法读取get
参数。由于找不到id
的值,null
子句中使用了where
,并且没有更新任何行。
$id=$_GET['id'];
$tanggal = $_POST['tanggal'];
$namakorban = $_POST['namakorban'];
$umurkorban = $_POST['umurkorban'];
ID的值为
$id=$_GET['id'];
... ID来自detail.php?id=24
(示例)转到edit.php?id=24
..如果我错了,如何设置ID ??
在edit.php
中将id
命名元素添加到表单中,并从请求中读取值。在提交表单时,id
会转到editdata.php
页。
<input type="DATE" name="tanggal" size="20" value="<?php echo $dataTampil['tanggal']; ?>">
<input type="hidden" name="id" value="<?php echo $id['id']; ?>">
<input type="text" name="namakorban" size="40" value="<?php echo $dataTampil['namakorban']; ?>">
<input type="text" name="umurkorban" size="5" value="<?php echo $dataTampil['umurkorban']; ?>">
并在editdata.php
:
变化:
$id=$_GET['id'];
致:
$id=$_POST['id'];
答案 1 :(得分:0)
这是因为你没有提交&#34; id&#34;如果你切换到editdata.php
添加:<input type="hidden" name="id" value="<?php $_GET['id']; ?>">
到Edit.php中的表单
并替换
在editdata.php中$id=$_GET['id'];
$id= $_POST['id'];
。
答案 2 :(得分:0)
尝试这样
$id=$_GET['id'];
$sql=mysqli_query($con,"Update client set nama='$nama',instansi='$instansi',telepon='$telepon',email='$email' where id = '".$_GET['id']."'");
if($sql)
{
$msg="Your Client updated Successfully";
header('location:manage-client.php');
}
在正文后添加此查询
$sql=mysqli_query($con,"select * from client where id = '".$_GET['id']."'");
while($data=mysqli_fetch_array($sql))
答案 3 :(得分:-1)
您正在使用$ _GET来获取ID。最好做var_dump($_REQUEST);