有没有办法一起使用GET和POST?

xRo*_*bot 8 php

我需要将这两种方法一起传递一些数据(GET和POST).我写这个方法,但我不知道它是否安全:

<form method="post" action="profile.php?id=<?php echo $_SESSION['id']; ?>" enctype="multipart/form-data">
<input type="text" size="40" name="title" >
<textarea name="description" rows="2" cols="30"></textarea>
<input id="starit" name="submit" value="Create" type="submit" />
</form>

<?php 
a= $_GET['id'];
b= $_POST['title'];
c= $_POST['description'];
?>
Run Code Online (Sandbox Code Playgroud)

这段代码安全吗?或者还有其他方法可以做到这一点?

Ja͢*_*͢ck 13

这不是组合的GET和POST请求; 相反,它是一个带有查询参数的POST请求.

你所写的是正确的方法.始终确保您获得预期的字段:

if (isset($_GET['id'], $_POST['title'], $_POST['description']) {
  // go ahead
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,确保你逃避输出:

<form method="post" action="profile.php?id=<?php echo rawurlencode($_SESSION['id']); ?>">
Run Code Online (Sandbox Code Playgroud)

如果你没有上传文件,你不需要设置enctype你的文件<form>.