用于更新数据库中现有行的PHP表单验证服务器端

问题描述 投票:0回答:1

如何验证行ID是要更新的正确ID?我认为我可能完全采用了错误的方法,因为这似乎并不正确。

我将行ID存储在会话中。以及在隐藏的输入中发送它。然后将其签入validate.php。这可以正常工作,但是使用会话将无法在同一浏览器会话中编辑多个页面。我对如何验证行ID有点困惑。

数据库表

id - name
1 - Apple
2 - Orange

每行都有自己的页面,带有编辑表单

<?php session_start(); $_SESSION['id'] = X; ?>
<form action="/validate.php" method="post">
 <input type="hidden" name="id" value="X">
 <input type="text" name="name" value="">
 <input type="submit" value="submit">
</form>

validate.php

session_start(); 
$session_id = $_SESSION['id'];
$name = $_POST['name'];
$id = $_POST['id'];

if ($session_id == $id){
 updateRow($name,$id); // send args to another function to do the sql logic.
} else {
 var_dump('mis-match id');
}
php html forms post submission
1个回答
0
投票

好吧我建议,为什么创建一个json格式session['IDs'] ..,它存储不同的多个IDs .. JSON具有一个键值对,因此请在您的表单中创建一个标识符,例如隐藏输入,以在validate.php中检索其对应的值...或者,即使这很难,也不要在会话中存储ID ...

© www.soinside.com 2019 - 2024. All rights reserved.