2013-11-15 1 views
-1

문제가있어 솔루션을 찾을 수 없습니다. html 게시물을 올린 후 "M"또는 "F"를 선택하여 변수를 올바르게 지정했습니다. 소스가 불량 일 경우 죄송합니다. 처음 코딩하는 것입니다 !! 작동 여기일부 IF ELSE 테스트 후 String에서 Integer로 변경되는 변수

$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"; 

:

HTML : 나는이 문제를 찾을 경우 다음

<select style="width:75px;" name="sesso" multiple> 
    <option value="m">Male</option> 
    <option value="f">Female</option> 
</select> 

는 PHP 코드의 일부이다. 인쇄 된 변수 $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; 

답변

4

할당하지 않고 비교합니다. ==을 사용하여 값을 비교하십시오.

+0

당신이 옳다는 것이 문제였습니다 ... 나는 너무 어리 석다. (감사합니다. – user2996667

관련 문제