1

私はあなた自身を私たちのデータベースに登録できるページを作成しているので、後でこれらの情報を使用してウェブサイトにログインし、情報にアクセスできます. これは、この部分の私のコードです:

 <?php
        if (isset($_POST['inputFirst']) && isset($_POST['inputLast']) && isset($_POST['inputUsername']) && isset($_POST['inputPassword'])) {
            print "<p>you have registered sucessfully</p>";
            $fname = $_POST['inputFirst'];
            $lname = $_POST['inputLast'];
            $email = $_POST['inputemail'];
            $username = $_POST['inputUsername'];
            $password = $_POST['inputPassword'];
            $tele = "0811111222";
            $add ="testing";
            $loc = "location";

            include 'opendb.php';
            $sql = "insert into Home_User (Fiest_Name,Last_Name,User_ID,Password,Email,Tel,Address,Island,Location) values ('$_POST[inputFirst]','$_POST[inputLast]','$_POST[inputUsername]','$_POST[inputPassword]','$_POST[inputemail]')";
            $result = mysql_query($sql,$conn) or die(mysql_error());
            print "<p>you have registered sucessfully</p>";
            print "<a href='index.php'>go to login page</a>";
        }           

        else print '<form class="form-horizontal" action="registration.php" method=post>
            <h1> not registered yet</h1>
            <h2>welcome to the registration page</h2>
            please fill in the registration details to create an account. <br/><br/>
            <div class="heading">
                <h4 class="form-heading">Home user registration</h4>
            </div>
                      <div class="control-group">
                        <label class="control-label" for="inputFirst">First Name</label>
                        <div class="controls">
                            <input type="text" id="inputFirst" placeholder="E.g. Ashwin">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="inputLast">Last Name</label>
                        <div class="controls">
                            <input type="text" id="inputLast" placeholder="E.g. Hegde">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="inputemail">Email</label>
                        <div class="controls">
                            <input type="text" id="inputemail" placeholder="E.g. hotloving@hotmail.com">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="inputUsername">Username</label>
                        <div class="controls">
                            <input type="text" id="inputUsername" placeholder="E.g. ashwinhegde">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="inputPassword">Password</label>
                        <div class="controls">
                            <input type="password" id="inputPassword" placeholder="Min. 8 Characters">
                        </div>
                    </div>

                     <div class="control-group">
                        <label class="control-label" for="inputTell">Telephone</label>
                        <div class="controls">
                            <input type="text" id="inputTell" class="bfh-phone" data-format="(ddd) ddd-dddd">
                        </div>
                    </div>

                    <div class="control-group">
                        <div class="controls">
                            <label class="checkbox">
                                <input type="checkbox"> I agree all your <a href="#">Terms of Services</a>
                            </label>
                            <button type="submit" class="btn btn-success">Sign Up</button>
                            <button type="button" class="btn">Help</button>
                        </div>
                    </div>
        </form>';
        ?>

$tele、$add、$loc は、DB 内の他の値であり、フォームではまだ使用していません。

サインアップを押しても、ページが更新されるだけで何もしません。これは得られません。

正常に登録されました。

何が問題なのか、データベースへの接続なのか、それとも何なのかわかりません。助けてください。

4

2 に答える 2

3

最初にチェックインする入力の名前を指定します: 'inputFirst'、'inputLast'、'inputUsername'、'inputPassword'。

<input type="text" id="inputLast" name="inputLast" placeholder="E.g. Hegde">
<input type="text" id="inputFirst" name="inputFirst" placeholder="E.g. Ashwin">

そこにはIDしかありません:

<input type="text" id="inputFirst" placeholder="E.g. Ashwin">
于 2013-05-26T14:04:12.907 に答える
2

コードは SQL インジェクションに対して脆弱です。mysql_real_escape_string次のように、すべての POST および GET リクエストに使用してみてください。

$email = mysql_real_escape_string($_POST['inputemail']);

name入力テキストに属性がありません。そのはず

<input type="text" id="inputFirst" name="inputFirst" placeholder="E.g. Ashwin">

印刷する必要はありません

print "<p>you have registered sucessfully</p>"; //don't need before the insertion

最初に挿入が成功したかどうかを確認してから、印刷する必要があります。

$result = mysql_query($sql, $conn);

if($result) {
    print "<p>you have registered sucessfully</p>";
    print "<a href='index.php'>go to login page</a>";
} else {
    die(mysql_error());
}
于 2013-05-26T14:04:05.057 に答える