我的数据库中有2个表:users(id, pass, email)
和messages(id, ownerid, text)
我想允许每个用户编辑自己的消息(通过ajax,但现在无关紧要。)
问题是,在访问了所有用户的消息之后
$STH = $DBH->prepare( "SELECT * FROM messages WHERE ownerid=:ownerid " );
//bind
$data = array( 'ownerid' => $_SESSION['id'] );
//exec
$STH->execute( $data );
while ( $results = $STH->fetch() ) {
echo $results['text'];
}
我想在可编辑的文本字段中显示它们。问题是,在点击某个文本字段时,如何获取邮件的id
?我在考虑将它包含在html输出中,但这不是最安全的选项。
答案 0 :(得分:1)
这是一个安全的选择。当用户编辑他的评论时,您发出GET请求。收到GET请求后,您将检查拥有该评论的用户的有效性:
SELECT ownerid FROM messages WHERE id = $_GET['id']
(虽然,确保保护自己不受mysql注入(使用PDO),上面的例子并不安全)。