私は同様のトピックで作られた他の投稿のいくつかを見ましたが、私は彼らが指示していることに従うことができません。PHPは関数呼び出しの中でリダイレクトします
私の問題は基本的に、パスワードリセットが成功した後、私のウェブサイトのメインのログインページにリダイレクトしたいのです。ここで
は、私がこれまで持っているものである:私は私のWebページにリダイレクトしたい場所
if (isset($_POST['Resetpw'])) {
if ($query == $_GET['token'] & $_POST['password'] == $_POST['confirmed_password']) {
$passwordTest = $_POST['password'];
$result = mysql_query("SELECT `tempTicket` FROM users WHERE `username` = '" . $_POST['username'] . "'limit 1;");
$query = mysql_fetch_array($result);
mysql_query("UPDATE users SET `tempPass` = '$passwordTest' WHERE `username` = '" . $_POST['username'] . "' ");
echo '<div class="success">Password successfully changed!</div> ';
//header("Location: www.google.com");
//exit;
これは、すべての関数内で、コメントアウト部分があります。
したがって、関数を終了すると、関数が終了した後に関数を強制的に開始ページにリダイレクトできます。私はKISSMVCフレームワークを使用しています。
古き良きmysql_ *関数を使って新しいコードを書くのを止めてください。彼らはもはや維持されておらず、コミュニティは[非推奨プロセス](http://news.php.net/php.internals/53799)を始めました。代わりに、準備されたステートメントについて学び、[PDO](http://php.net/pdo)または[MySQLi](http://php.net/mysqli)を使用する必要があります。あなたが学びたい人は[ここではPDO関連の非常に良いチュートリアルです](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –
関数が呼び出される前に出力がない限り、必要な処理(エコーの除去)に問題はありません。あなたは[SQLインジェクション](http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php)を読むべきです。 – cmbuckley
ああ、SQLインジェクション!少なくとも、mysql_real_escape_string()を使用するか、または他の方法が示唆しているようにPDOに切り替えてください。あなたのコードは現在安全ではなく脆弱です。 – kapa