簡體   English   中英

注冊檢查不適用於 PDO 連接

[英]Registration Check not working with PDO connection

您好,我正在嘗試修改一個簡單的注冊表單檢查。 如果用戶名被占用而不顯示錯誤,在我的情況下,我試圖從數據庫中再添加一個字段,因此在這種情況下我將進行 2 個檢查,一個用戶名和一個帶有護照號碼,顯然是我到目前為止所做的代碼工作不太正確,如果有人可以提供幫助,我將非常感激。

$username = ( $_POST['username']);
$cedula = ( $_POST['passport']);
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sthandler = $con->prepare("SELECT username,passport FROM users WHERE username = :username, passport = :passport");
$sthandler->execute(array(':username'=>$username));
$sthandler->execute(array(':passport'=>$passport));
if ( $sthandler->rowCount() > 0 ) { echo ('Sorry this user name is occupied '.$_POST['username'].' try another.'); }
if ( $sthandler->rowCount() > 0 ) { echo ('Sorry this passport Number is occupied N: '.$_POST['cedula'].' try another.');}

else{ HERE GOES THE CODE IF EVERYTHING IS OKAY TO GO AND REGISTER.
    $username = ( $_POST['username']);
    $passport = ( $_POST['passport']);
    $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
    $stm = $con->prepare("SELECT username,cedula FROM users WHERE username = :username or passport = :passport");
    $stm->bindParam(":username", $username, PDO::PARAM_STR);
    $stm->bindParam(":passport", $passport, PDO::PARAM_STR);
    $stm->execute();
    $result = $stm->fetchAll(PDO::FETCH_ASSOC);

    if ( count($result)>1 || $result[0]['username'] == $username ) { echo ('Sorry this user name is occupied '.$_POST['username'].' try another.'); }
    if ( count($result)>1 || $result[0]['passport'] == $passport ) { echo ('Sorry this passport Number is occupied N: '.$_POST['passport'].' try another.');}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM