入力された電子メールと入力されたユーザー名の両方が既に取得されていないことを確認しようとしています。なぜそれが機能していないのか分かりません。一度に1つの作業しかできませんでした。電子メールとユーザー名のどちらも既に取得されていないことを確認してください
session_start();
$con = mysqli_connect('localhost','root','');
-
$Email = $_POST['email'];
$Username = $_POST['username'];
-
$sqltwo = "SELECT Username FROM user WHERE `Username`='$Username'";
$resulttwo = $con->query($sqltwo);
if ($resulttwo->num_rows == 0) {
$UsernameTaken = false;
} else {
$_SESSION['usravailability'] = "Username already taken." ;
header ('location: index');
}
$sqlthree = "SELECT Email FROM user WHERE `Email`='$Email'";
$resultthree = $con->query($sqlthree);
if ($resultthree->num_rows == 0) {
$EmailTaken = false;
} else {
$_SESSION['emlavailability'] = "Username already taken." ;
header ('location: index');
}
if ($UsernameTaken == false && $EmailTaken == false) {
echo 'not taken;
} else {
echo 'taken';
}
私もどちらか動作しませんでした
if ($UsernameTaken == false || $EmailTaken == false) {
echo 'not taken;
} else {
echo 'taken';
}
で試してみました。私はおそらく何か非常に間違っているが、私は何が分からない。私の意見では
電子メールとユーザー名列にUNIQUE制約を追加しないのはなぜですか? – djfdev
エラーは何ですか? –
'echo 'は取られません;'これは1つのことについて解析エラーを投げ、データベースも選択しませんでした。この事はまた、重大なSQLインジェクションを起こしがちです。私が言ったことのほかに、ここでやっておくべき事柄はかなりたくさんあります。 –