我使用 Ajax 進行 PHP 用戶名驗證,將我的 html 頁面復制到 html div(用于顯示 ajax 錯誤)元素內。我嘗試了一些解決方案并谷歌搜索但找不到其他解決方案。也許問題出在 $_POST 上,但我也在 php 中將它們分開(所有輸入驗證)。這是 PHP 代碼<?php?if(isset($_POST['username'])){? ? //username validation? ? $username = $_POST['username'];? ? if (! $user->isValidUsername($username)){? ? ? ? $infoun[] = 'Your username has at least 6 alphanumeric characters';? ? } else {? ? ? ? $stmt = $db->prepare('SELECT username FROM members WHERE username = :username');? ? ? ? $stmt->execute(array(':username' => $username));? ? ? ? $row = $stmt->fetch(PDO::FETCH_ASSOC);? ? ? ? if (! empty($row['username'])){? ? ? ? ? ? $errorun[] = 'This username is already in use';? ? ? ? }? ? }}if(isset($_POST['fullname'])){? ? //fullname validation? ? $fullname = $_POST['fullname'];? ? if (! $user->isValidFullname($fullname)){? ? ? ? $infofn[] = 'Your name must be alphabetical characters';? ? }? ?}if(isset($_POST['password'])){? ? if (strlen($_POST['password']) < 6){? ? ? ? $warningpw[] = 'Your password must be at least 6 characters long';? ? }? ?}if(isset($_POST['email'])){? ? //email validation? ? $email = htmlspecialchars_decode($_POST['email'], ENT_QUOTES);? ? if (! filter_var($email, FILTER_VALIDATE_EMAIL)){? ? ? ? $warningm[] = 'Please enter a valid email address';? ? } else {? ? ? ? $stmt = $db->prepare('SELECT email FROM members WHERE email = :email');? ? ? ? $stmt->execute(array(':email' => $email));? ? ? ? $row = $stmt->fetch(PDO::FETCH_ASSOC);? ? ? ? if (! empty($row['email'])){? ? ? ? ? ? $errorm[] = 'This email is already in use';? ? ? ? }? ? }}
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消