当我试图使用PHP从HTML中的select标记中获取值时,未定义索引

当我试图使用PHP从HTML中的select标记中获取值时,未定义索引,php,html,select,Php,Html,Select,我试图使用PHP从html中的select标记中获取一个值,但它一直说索引未定义 我的HTML表单: <form method="POST" action="proceso.php"> <label for="language">Idioma</label> <select id="language" name="prueba"> <option value="es_LA">Español</option>

我试图使用PHP从html中的select标记中获取一个值,但它一直说索引未定义

我的HTML表单:

<form method="POST" action="proceso.php">
  <label for="language">Idioma</label>
  <select id="language" name="prueba">
    <option value="es_LA">Español</option>
    <option value="en_US">English</option>
  </select>
  <br>
  <label for="username">Nombre de usuario</label>
  <input type="text" name="username" id="username">
  <br>
  <label for="password">Contraseña</label>
  <input type="password" name="password" id="password">
  <br>
  <label for="email">Correo electrónico</label>
  <input type="email" name="email" id="email">
  <br>
  <label for="genderM">Masculino</label>
  <input type="radio" name="gender" id="genderM" value="M">
  <label for="genderF">Femenino</label>
  <input type="radio" name="gender" id="genderF" value="F">
  <label for="genderO">Otro</label>
  <input type="radio" name="gender" id="genderO" value="O">
  <br>
  <button type="submit">Enviar</button>
</form>

错误显示:注意:未定义索引:prueba

关于“插入帐户(用户名、用户密码、电子邮件、性别)”这里您接受4个变量,但您将“$\u POST[prueba]”、“$\u POST[username]”、“$\u POST[password]”、“$\u POST[email]”、“$\u POST[gender]”五个变量传递给查询

我知道我在$sql中有一个未定义的列,但即使添加它,问题仍然存在。请检查引号,该命令的格式不正确。如果您不确定,
echo($sql)
要查看是否正常,请尝试以下操作:
$sql=“插入帐户(用户名、用户密码、电子邮件、性别)值(“$\u POST[“prueba”]。”、“$\u POST[“用户名”]。”、“$\u POST[“密码”]。”、“$\u POST[“电子邮件”]、“$\u POST[“性别”)刚刚尝试了你的代码,并给了我相同的错误。即使我对$sql语句进行注释,并尝试在普通var中获取值,它也表示索引未进行线性化,因此您的代码极易受到sql注入攻击!如果你
print\r($\u POST),你会得到什么?是的,我知道。但我不是在查询我的数据库,只是得到句子中的值。即使我尝试在一个普通的变量中获取值,比如$var=$\u POST['prueba'];它一直在说未定义的索引否。。。我将得到一个错误,如“如果我尝试查询,您尝试插入的值与定义的列不匹配,但我没有这样做。只是得到句子的价值。就像我告诉过你的,如果我注释$sql语句并试图将值保存在一个普通的变量中,它会一直说“未定义索引”错误。显然,它会显示..因为值的设置不超过..只需使用isset函数..它的用法是if(isset($\u POST['prueba']){$prueba=$\u POST['prueba'];}而不是使用$prueba变量
$sql = "INSERT INTO account(username,userpass,email,gender) VALUES('$_POST[prueba],'$_POST[username]','$_POST[password]',$_POST[email]',$_POST[gender]')";