当我点击编辑按钮时,它会将我重定向到此页面(这是编辑页面):
文本字段中显示的数据基于用户ID。但是当我点击更新按钮时,数据不会更新到数据库。
以下代码是我如何根据ID获取表格数据并将其显示在编辑页面的文本字段中:
<div id="table">
<div id="title">
<a>EDIT USER DETAILS</a>
</div>
<?php
if( isset($_GET['userId']) )
{
$id = $_GET['userId'];
$catchsql = "SELECT * FROM tbluser WHERE userId='$id'";
$res= mysqli_query($con,$catchsql);
$row= mysqli_fetch_array($res);
}
else {
echo"Data Not Found !";
}
?>
<form action="edit.php" method="POST">
<div id ="newform">
NAME: <input type="text" name="newname" value="<?php echo $row['userNm']; ?>" style="background: #fff; color:#000;"/>
FULL NAME:<input type="text" name="newfullname" value="<?php echo$row['userFullNm']; ?>" style="background: #fff; color:#000;"/><br />
<br>
EMAIL:<input type="text" name="newemail" value="<?php echo$row['userEmail']; ?>" style="background: #fff; color:#000;"/>
CONTACT:<input type="text" name="newcontact" value="<?php echo$row['userPhone']; ?>" style="background: #fff; color:#000;"/><br />
<br>
USER LEVEL: <input type="text" name="newlevel" value="<?php echo$row['userLvlId']; ?>" style="background: #fff; color:#000;"/>
STATUS:<input type="text" name="newstatus" value="<?php echo$row['userStatus']; ?>" style="background: #fff; color:#000; "/><br />
</form>
<br>
<br>
<br>
<br>
<a href ="user.php"><input type="button" name="SUBMIT" value="UPDATE" action="update.php" style="font-size:16px;text-align:center; border-top-width: 0px; border-right-width: 0.5px; border-bottom-width: 0.5px; border-left-width: 0.5px; width: "></a>
</div>
这是我的更新代码:
if( isset($_POST['newname']) || isset($_POST['newfullname']) || isset($_POST['newemail']) || isset($_POST['newcontact']) || isset($_POST['newlevel']) || isset($_POST['newstatus']))
{
$newName = $_POST['newname'];
$newfullname= $_POST['newfullname'];
$newemail = $_POST['newemail'];
$newcontact = $_POST['newcontact'];
$newlevel = $_POST['newlevel'];
$newstatus = $_POST['newstatus'];
$id = $_POST['id'];
$sql = "UPDATE tbluser SET userNm='$newName', userFullNm=$newfullname, userEmail=$newemail, userPhone=$newcontact, userLvlId=$newlevel, userStatus=$newstatus WHERE userId='$id'";
$res = mysql_query($sql) or die ("Could not update".mysql_error());
}
?>
请问我提供的有关我的问题的信息是否不清楚。谢谢 !
答案 0 :(得分:1)
一些建议
删除锚标记,将没有数据的页面重定向到user.php
同时从更新输入中删除操作并将类型保留为提交,并确保表单标记具有正确的文件名。
你应该使用&amp;&amp;不是||检查岗位变量。
在所有地方空间黑白回声和php变量。
'即echo $ row ['userPhone'];'
将查询更改为其他建议,请使用引号。
答案 1 :(得分:0)
尝试$ sql =&#34; UPDATE tbluser SET userNm =&#39; $ newName&#39;,userFullNm =&#39; $ newfullname&#39;,userEmail =&#39; $ newemail&#39;, userPhone =&#39; $ newcontact&#39;,userLvlId =&#39; $ newlevel&#39;,userStatus =&#39; $ newstatus&#39;在哪里userId =&#39; $ id&#39;&#34;;
我把用户输入的php变量放在单引号中。此外,您可能希望使用mysqli,因为不推荐使用mysql,再次阻止sql注入并使用预准备语句
答案 2 :(得分:0)
将$ catchsql更改为:
$catchsql = "SELECT * FROM tbluser WHERE userId=".$id;
将$ sql更改为:
$sql = "UPDATE tbluser SET userNm='".$newName."', userFullNm='".$newfullname."', userEmail='".$newemail."', userPhone='".$newcontact."', userLvlId='".$newlevel."', userStatus='".$newstatus."' WHERE userId=".$id;