だから私は何度も検索し、うまくいかないさまざまなソリューションを見つけました。PHPのmySQLの成功/失敗のリダイレクトページ
データベースにデータを挿入する登録ページがあります。これは動作します。挿入が成功したかどうかに応じて、2ページのうちの1ページにリダイレクトする必要のあるif/elseステートメントがあります。今は、フォームが提出された後に空白のページが表示されます。
<?php
$hostname="xxxxxxxxxxxxxxxxxxxxx";
$username="xxxxxxxxxxxx";
$password="xxxxxxxxx";
$database="xxxxxxxxxxxxx";
$db = new mysqli($hostname, $username, $password, $database);
if ($db->connect_error){
die("Connection failed: " . $db->connect_error);
}
$pw = $_POST['pw'];
$UIN = $_POST['UIN'];
$sql = "INSERT INTO studentLogin (pw, UIN) VALUES ('$pw', '$UIN')";
if ($db->query($sql) === TRUE) {
header('Location: http://my_url/success.php.php?msg=WELCOME STUDENT');
exit();
} else {
header('Location: http://my_url/failure.php.php?msg=You must be a student to register for the student discussion page');
exit();
}
$db->close();
?>
最初に、エラーレポート '<?php ini_set()をオンにしてください(このページが表示されていないことを考慮して、確かに問題があるかどうかを知ることはできません) 'display_errors'、1); error_reporting(-1) 'です。また、既に** MySQLi **を使用していますので、プリペアドステートメントを使用してSQLインジェクションを防止してみませんか?そして、 'failure.php.php'と二重拡張子' .php.php'とは何ですか? – Darren
有効なURLにリダイレクトしてもよろしいですか?また、真剣にSQLインジェクションの危険性があります。準備されたステートメントを使用して保護します。 – miken32
あなたはおそらくヘッダーの前に出力していると思っています。 –