第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP Update查詢正在執(zhí)行,但憑據(jù)未更新

PHP Update查詢正在執(zhí)行,但憑據(jù)未更新

PHP
繁華開滿天機 2021-04-26 13:50:13
我的網(wǎng)站上有一個表單標簽,該表單標簽指向帶電子郵件和/或/沒有描述的PHP頁面。基于該代碼生成查詢,該查詢需要更新這些憑證。該部分代碼有效并且已經(jīng)過測試。問題在于數(shù)據(jù)庫未更新電子郵件憑證,但是如果我將其更新為描述,它將這樣做。該代碼有3個檢查項,如果用戶僅放置他的電子郵件,是否僅放置他的描述或兩者都放置?;诖耍a的工作方式如下:<?phpsession_start();include_once 'connection.php';$id = $_SESSION['user_id'];if(isset($_POST['emailChange']) || isset($_POST['descChange'])){       $desc = $_POST['descChange'];       $email = $_POST['emailChange'];       if(empty($email)){           $query = "UPDATE users SET description = :descr WHERE user_id= :id ;";           $stmt = $conn->prepare($query);           $stmt->bindParam(":descr", $desc);       } else if(empty($desc)){           $query = "UPDATE users SET user_email= :email WHERE user_id= :id ;";           $stmt = $conn->prepare($query);           $stmt->bindParam(":email", $email);       } else{           $query = "UPDATE users SET description = :descr AND user_email = :email WHERE user_id= :id;";           $stmt = $conn->prepare($query);           $stmt->bindParam(":email", $email);           $stmt->bindParam(":descr", $desc);       }       if(!filter_var($email, FILTER_VALIDATE_EMAIL)){           header("Location: ../profile.php?error=invalidEmail");           exit();       }           $stmt->bindParam(":id", $id);           $stmt->execute();   }表單本身看起來像這樣: <form action="assets/upload.php" method="POST">     <input type="text" name="emailChange" class="inputs" id="changeEmail" placeholder = "Enter your new E-mail">     <input type="text" name="descChange" class="inputs" id="changeDesc" placeholder="Enter your description">     <button type="submit" id="btnconfirmCreds" name="changeCreds">Confirm Changes</button> </form>數(shù)據(jù)庫中的名稱如下所示:[user_id][user_username][user_email][user_password][role_id][user_image][description][num_of_posts
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經(jīng)驗 獲得超5個贊

有關(guān)邏輯的一些注意事項:


if(isset($_POST['emailChange']) || isset($_POST['descChange']))

{

    $desc = $_POST['descChange'];

    $email = $_POST['emailChange'];

    ...

首先,檢查是否至少存在一個參數(shù),然后再訪問兩個參數(shù)。您可能會爭辯說,該表單總是同時發(fā)送,但永遠不要相信用戶輸入:操作數(shù)據(jù)是如此簡單!


要么將您更改if(...)為:


if( isset($_POST['emailChange']) && isset($_POST['descChange']) )

以下是具有相同語義的較短形式:


if( isset( $_POST['emailChange'], $_POST['descChange'] ) )

其他方法是更改其他2行,例如:


    $desc  = isset($_POST['descChange'])  ? $_POST['descChange']  : '';

    $email = isset($_POST['emailChange']) ? $_POST['emailChange'] : '';


查看完整回答
反對 回復(fù) 2021-05-07
  • 2 回答
  • 0 關(guān)注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號