<?php
$output = NULL;
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($POST['submit'])) {
$username = $mysqli->real_escape_string($_post['username']);
$password = $mysqli->real_escape_string($_post['password']);
$rpassword = $mysqli->real_escape_string($_post['rpassword']);
$email = $mysqli->real_escape_string($_post['email']);
$query = $mysqli->query("SELECT * FROM users WHERE username = '$username'");
if (empty($username) OR empty($password) OR empty($email) or empty($rpassword)) {
$output = "Please fill in all fields!";
} elseif ($query->num_rows != 0) {
$output = "That username is already taken!";
} elseif ($rpassword != $password) {
$output = "Password does not match!";
}
}
?>
をエコーではありませんデータベースの。また、それがウェブサイトでエコーしないことがわかります。 コメントでDarkBee
が指し示すようvobern.comPHP変数スクリプトで、私はこれを使っ後で
あなたは多くのタイプミスがあります。問題は、 '$ output'が' isset($ POST ['submit']) 'に対してテストするときに決して設定されないということです。開発モードでは[error_reporting](http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php)を必ずオンにしてください。 Do not note 'PHP'でも大文字と小文字が区別されるので、' $ _post'も正しくありません。 – DarkBee
@DarkBee私はちょっと混乱しています。私はポストの問題を修正しましたが、$出力の問題について少し詳しく説明できますか? – astral
@DarkBee彼はスクリプトの一番上に '$ output'を' NULL'で初期化しました。最終的な 'else'節はないので、'条件付きの論理 'の3つの条件がすべて失敗した場合、 '$ output'が' null'なので、エコーは何も生成しません。最初の文@Poiz – Poiz