有没有办法从表单的操作属性值将变量发送到数据库


Is there a way I can send a variable to a database from a form's action attribute value?

所以我有一个php文件,它使用$_GET方法检索一些变量,然后输出结果。我想通过表单将这些检索到的变量之一发送到另一个 php 文件(如果可以到同一个文件也可以),然后将它们存储在数据库中。我尝试像这样将变量放在表单的"action"属性中,但当我提交表单值时,它没有出现在 url 中:

这是我的所有代码:

<?php 
$nome=$_GET[nome];
$cognome=$_GET[cognome];
echo "<form action='salva_citazione.php"."?autore=".$nome."+".$cognome."&' method='GET'>"
....
您可以使用

隐藏的输入字段,也忘记在$_GET变量中使用'

<?php 
  $nome = htmlspecialchars($_GET['nome']);
  $cognome = htmlspecialchars($_GET['cognome']);
  $fullname  = $nome.' '.$cognome;
  echo '<form action="salva_citazione.php" method="GET">';
  echo '<input type="hidden" name="autore" value="'.$fullname.'" />';
  // ...
?>

请注意,这种使用 $_GET 的方式会导致 XSS 漏洞,因此我使用 htmlspecialchars 函数将特殊字符转换为 HTML 实体。

把它放在表单中:

echo "<input type='hidden' name='autore' value='$nome+$cognome'/>";