0

本当に「サインアップするためのシンプルなログイン」ページを作成しようとしています。

私はワードプレスのページテンプレートを持っており、誰かが /signup にアクセスすると、パスワードの入力を求めるメッセージが表示されます。このパスワードが正しければ、入力は私が作成したフォームに変更され、入力できるようになります。送信します。

フォームはすでに配置されており、うまく機能しています。次のようになります。

<?php
if(isset($_POST['submit'])) {

// Required field names
$required = array('fullname','email','country','age','gender','os','cpu','ram','gfx','hdd','speed');

// Loop over field names, make sure each one exists and is not empty
$error = false;
    foreach($required as $field) {
        if (empty($_POST[$field])) {
            $error = true;
        }
    }
    if ($error) {
        echo '<label class="error">There was an error with your application. <br />Please make sure you have filled in everything marked with an asterisk.</label>';
    } else {
        $username="user";
        $password="root";
        $database="database";
        $host="localhost";

        $link = mysqli_connect($host, $username, $password);
        mysqli_select_db($link, $database) or die("Unable to select database");

        $fullname = mysqli_real_escape_string($link, $_POST['fullname']);
        $email = mysqli_real_escape_string($link, $_POST['email']);
        $country = mysqli_real_escape_string($link, $_POST['country']);
        $age = mysqli_real_escape_string($link, $_POST['age']);
        $gender = mysqli_real_escape_string($link, $_POST['gender']);
        $beta = mysqli_real_escape_string($link, $_POST['beta']);
        $press = mysqli_real_escape_string($link, $_POST['press']);
        $os = mysqli_real_escape_string($link, $_POST['os']);
        $cpu = mysqli_real_escape_string($link, $_POST['cpu']);
        $ram = mysqli_real_escape_string($link, $_POST['ram']);
        $gfx = mysqli_real_escape_string($link, $_POST['gfx']);
        $hdd = mysqli_real_escape_string($link, $_POST['hdd']);
        $speed = mysqli_real_escape_string($link, $_POST['speed']);

        $query = "SELECT * FROM enroll WHERE email='$email'";
        $result = mysqli_query($link, $query) or die(mysqli_error($link));

        if (mysqli_num_rows($result) ) {
            print '<label class="error">That Email address is already registered acording to our records</label>';
        }
        else {
            $query = "INSERT INTO enroll_beta VALUES ('','$fullname','$email','$country','$age','$gender','$beta','$press','$os','$cpu','$ram','$gfx','$hdd','$speed')";
            $result = mysqli_query($link, $query) or die(mysqli_error($link));

                print '<label class="success">Thank you for your participation, we will be in touch</label>';
        }
    }   
}

フォームは次のようになります。

<form class="betaform" method="post" action="<?php echo esc_attr($_SERVER['REQUEST_URI']); ?>">

したがって、私が今やりたいことは、基本的に「パスワード」と呼ばれるデータベース内の別のテーブルをチェックする単純なパスワード保護スクリプトでこのすべてをラップすることです。データベースにパスワードが存在する場合、フォームを一緒に「エコー」します上記のコード。

ここで見つけた sessionscript を試してみました: Password protect a page?(with db access)

良さそうですが、接続なしでこれらすべてを1つのページに保持したいので、セッションはうまくいかないと思います。

アイデアや考えはありますか?私は道に迷い、狂ったように探し続けました。

前もって感謝します!

4

0 に答える 0