如何从Select选项获取数据到php


How to get data from Select option to php?

我创建了一个简单的页面,它将在登录后显示。在该页面上,我使用SELECT选项打印我的html代码,供用户选择他们需要的项目。

这就是代码。

<?php  //Start the Session
session_start();
require('connect.php');
if (isset($_POST['email']) and isset($_POST['password'])){

$username = $_POST['email'];
$password = $_POST['password'];
$query = "SELECT * FROM `user` WHERE email='$username' and password='$password'";
$result = mysql_query($query) or die(mysql_error());
$count = mysql_num_rows($result);
if ($count == 1){
$_SESSION['email'] = $username;
print '
<html>
<body>
<br>
<form action="" method="POST">
Shirt:
<select name="shirt_string">
    <option value=" "> </option>
    <option value="Long Sleeves">Long Sleeves</option>
    <option value="Short Sleeves">Short Sleeves</option>
    <option value="T-Shirt">T-Shirt</option>
    <option value="Singlet">Singlet</option>
</select> </br>
<br>
Pants:
<select name="pants_string">
    <option value=" "> </option>
    <option value="Dress pants">Dress pants</option>
    <option value="Shorts">Shorts</option>
    <option value="Jeans">Jeans</option>
    <option value="Chinos">Chinos</option>
</select> </br>
<br>
Shoes:
<select name="shoes_string">
    <option value=" "> </option>
    <option value="Dress shoes">Dress shoes</option>
    <option value="Slipper">Slipper</option>
    <option value="Sneakers">Sneakers</option>
    <option value="Track shoes">Track shoes</option>
</select> </br>
<br>
<input type="submit">
<br/>
<br/>
<a href="login.php?action=logout">Log out</a>
</form>
</body>
</html>
';
echo $_POST['pants_string'];
}
else
{
    echo "Invalid Login Credentials.";
}
}
if (isset($_SESSION['email'])){
$username = $_SESSION['email'];
}else{}

echo "<br />'n";
$now = new DateTime();
$Singapore = new DateTimeZone('Asia/Singapore');
$now->setTimezone($Singapore);
echo $now->format('F j, Y h:ia');
?>

从上面的代码中,我应该如何将SELECT选项的值获取到php?

我试着调用类似$_POST['pants_strings'];但它不起作用。

编辑:这是完整的代码。

这不是PHP"选择"选项的问题。请查看您的表单,您正在通过电子邮件和密码检查凭据,但电子邮件和密码不在PHP检查凭据后生成的表单中。因此,在验证后,当用户提交您的表单时,它将在没有电子邮件和密码的情况下进行评估。所以那个时候凭证是无效的。

所以,将用户和密码放在隐藏字段中(但这不是一个好主意),或者通过会话处理有效的用户登录。

是的,一定要使用会话(php.net/manual/en/book.session.php)。不要在隐藏字段中包含用户名/密码(并确保始终SHA1密码)-感谢@Mawg