首頁  >  問答  >  主體

為什麼隨機函數建立的驗證碼與表單輸入的驗證碼總是相差一步,不管怎麼輸兩個的值都不一致? ? ?

<form action="" method="post">

<p>請輸入驗證碼:<input type='text' name='v1'>

<?php 

session_start();   //啟動session

$input = array_merge(range('a', 'z'),range('A', ' Z'),range('0', '9'));  //建立驗證碼陣列

shuffle($input);    //打亂陣列

$result = '' ;       //驗證碼結果初始化

for ($i=0; $i < 4 ; $i ) {     //循環取出前四位元驗證碼

$result .= $ input[$i];       //透過循環賦值驗證碼

# }

echo $result;    //輸出驗證碼

# $_SESSION['Result'] = $ result;   //將驗證碼的結果賦值到session

// setcookie(session_name(),session_id(),time() 30);

if (isset($_REQUEST[' v1'])) {      //判斷輸入方塊是否有值

if (strtoupper($_REQUEST['v1']) == strtoupper($_SESSION['Result'])) {   //判斷驗證尺寸的是正確

   echo "<script>alert('驗證輸入正確,登入成功!!')</script>";    

   unset($_SESSION['Result' ]);

}else{

echo "<br/>驗證輸入錯誤,請重新輸入!!<br/>";

## echo "隨機函數的值為:".$_SESSION['Result']."<br/>";

echo '表單輸入的表單值為:'.$_REQUEST['v1'] ;

}

}

## ?>

</p>

<input type="submit" value ="確認登入">    <!-- 提交輸入框的值-->

</form>


xiao~莫xiao~莫2029 天前792

全部回覆(0)我來回復

無回覆
  • 取消回覆