-1
我遇到問題,無法找到解決方案。 經過一個HTML文章後,我有一個正確分配爲用戶選擇「M」或「F」的變量。 對不起,如果源寫的不好,這是我第一次編碼!在某些IF ELSE測試後,從字符串更改爲整數的變量
HTML:
<select style="width:75px;" name="sesso" multiple>
<option value="m">Male</option>
<option value="f">Female</option>
</select>
這裏是PHP代碼的一部分,在那裏我找到了問題:
$reg_nome = strip_tags($_POST['nome']);
$reg_username = strip_tags($_POST['username']);
$reg_password = strip_tags($_POST['password']);
$reg_passwordck = strip_tags($_POST['passwordck']);
$reg_sesso = strip_tags($_POST['sesso']);
$reg_data = date("Y-m-d");
$uomo = "m";
$donna = "f";
這工作。打印的變量$reg_sesso
是正確的「M」或「F」。
echo "sesso = $reg_sesso";
$stmt = $mysqli->prepare("SELECT username FROM users WHERE username= ?");
$stmt->bind_param('s', $reg_username);
$stmt->execute();
$stmt->bind_result($query_username);
$stmt->store_result();
$n_row = $stmt->num_rows;
$stmt->close();
if ($n_row==1) //check if the user exists
{
echo "L'utente $reg_username è già registrato";
}
else {
if (preg_match("#.*^(?=.{8,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$#", $reg_password)) //check if password is ok
{
if($reg_password==$reg_passwordck) //check if two pass are the same
{
if($reg_sesso=$uomo||$reg_sesso=$donna) //se è stato inserito M o F
{
echo " sesso= $reg_sesso ";
// Here $reg_sesso is 1 not "M" or "F"
$password_sha1=(sha1($reg_password));
$stmt = $mysqli->prepare("INSERT INTO users (nome,username,password,data,sesso) VALUES (?,?,?,?,?)");
$stmt->bind_param('sssss', $reg_nome, $reg_username, $password_sha1, $reg_data, $reg_sesso);
$stmt->execute();
$stmt->close();
movePage(301,"login.php");
exit;
你是對的,這是問題...我覺得很愚蠢:(謝謝 – user2996667