私は電子メールの確認とその作業はほとんどうまくいっているサインアップスクリプトを持っています。 ユーザー情報は、最初にフォームから「temp」テーブルに送信され、電子メールの確認リンクに従うと、情報は「temp」テーブルから「india」テーブル(最終宛先)に移動します。PHPのIFメッセージが印刷されていません
確認リンクは「confirmation.php」というファイルです。
コードはあるテーブルから別のテーブルにデータを送信していますが、「ありがとう、登録が有効になりました」というメッセージが表示されません。何が間違っているのですか?
ありがとうございます!
Confirmation.php
<?php
include_once ('config.php');
$confirm_code = $_GET["confirm_code"];
$sql1 = mysqli_query($conn, "SELECT * FROM temp WHERE confirm_code = '$confirm_code'");
$result1= mysqli_fetch_array($sql1, MYSQLI_ASSOC);
if(mysqli_num_rows($sql1) == 1) {
$query = mysqli_query($conn, "INSERT INTO india (confirm_code, name, password, email) SELECT confirm_code, name, password, email FROM temp WHERE confirm_code = '$confirm_code'");
if($query) {
$del = mysqli_query($conn, "DELETE FROM temp WHERE confirm_code = '$confirm_code'");
if($del) {
$msg = "Obrigado, o seu registo foi validado.";
}
}
} else {
$msg2 = "Erro no registo";
}
$conn->close();
?>
で説明したように
もパラメータ化クエリを使用してください。 –
mysqli関数を使用している場合は、変数を不当にダンプするのではなく、セキュリティ上の目的で[パラメータをバインドする](http://php.net/manual/en/mysqli-stmt.bind-param.php)クエリ。 – cteski
メッセージとともに2つの変数を設定しますが、このスクリプトの値は何も表示されません。 –