1

以下のように registerUsers.html があります

<html>
<head>
<title>userlogin</title>
</head>
<body>
<h1><center>User login</center></h1>
<p>
<strong><font color= "green"> REGISTER HERE </font></strong>
<br>
<form method="post" action="registerUsers.php">
<p><strong>ID:</strong><br/>
<input type="text" name="id"/></p>
<p><strong>FirstName:</strong><br/>
<input type="text" name="firstname"/></p>
<p><strong>Lastname:</strong><br/>
<input type="text" name="lastname"/></p>
<p><strong>Username:</strong><br/>
<input type="text" name="username"/></p>
<p><strong>Password:</strong><br/>
<input type="password" name="password"/></p>
Admin <input type="radio" name="type" value="admin" /><br />
Author <input type="radio" name="type" value="author" checked="checked"/>
<p><input type="submit" name="submit" value="Register"/></p>
</form>
</p>

</body>
</html>

以下のように registerUsers.php

<?php
include("dbconnect.php");
$con=new dbconnect();
$con->connect();
if(isset($_POST['submit'])) {
       $type=0;

        if($_POST['type'] =="admin")
        $type = 1;
        if($_POST['type'] =="author")
        $type = 0;

    $sSql = "INSERT INTO users 
         ( id, first_name, last_name,username, password, type)
         VALUES ('$_POST[id]', '$_POST[firstname]', '$_POST[lastname]', '$_POST[username]', PASSWORD(\"$_POST[password]\"), $type)";

    mysql_query($sSql);

    echo '<h2>USER REGISTERED</h2><br />';
}
?>

「作成者」ラジオ ボタンを選択すると、データベースの「タイプ」変数に何も保存されません。admin を選択すると、「admin」が型変数に格納されます。「作成者」をデータベースの「ユーザー」テーブルに保存できるようにするにはどうすればよいですか。

どんな考えや助けもいただければ幸いです。ありがとう!

4

1 に答える 1

3

受け入れられた値「Author」および「Admin」を使用してデータベースに列挙型を作成した場合は、0と1を渡さないでください。'Admin'または'Author'のいずれかを渡すと、データベースはそれを0と1のように扱いますが、あなたには'admin'と'author'と表示されます。

于 2012-07-02T05:26:48.737 に答える