「名前」と「ユーザー名」の 2 つのフィールドがあります。ユーザー名の可用性を確認していますが、これを確認できます。私の問題は、フォームを表示する方法にあります。達成したい
- ユーザー名が表示されているのと同じ行にメッセージを表示していますが、3 列目に表示されています。
- メッセージを表示している間、以前に入力した値が表示されます。
そして、html、javascript、およびphpだけでこれを実現したいと考えています。他の言語やテクノロジーには行きたくない
Login.php はフォームを構築しています。
<?php
include 'login2.php';
function form($name, $username)
{
?>
<form name="mylogin" method="post">
<table>
<tr><td>Name</td>
<td><input type="text" id="name" name="name" value="<?php echo $name?>" required></td></tr>
<tr><td>Username</td>
<td><input type="text" id="user" name="user" value="<?php echo $username?>" required></td>
<td id="messgae"></td>//want to display message over here have tried value"<?php echo $message"?>
</tr>
<tr><td><input type="submit" name="submit" value="Username Availability Check"></td></tr>
<?php usercheck()?>
</table>
</form>
<?php
}
?>
<?php
form('','')
?>
Login2.php では、ユーザー名を確認しているだけで、現在は値を挿入していないため、挿入クエリにコメントが付けられ、ユーザーが入力した値を送り返すようになっています。私が直面している問題は、送信ボタンまたはユーザーの空き状況チェック ボタンをクリックした後、フォームが 2 回表示されることです。関数を2回呼び出しているため、それが起こっていることはわかっていますが、それを回避するにはどうすればよいですか?
コード
<?php
function connect()
{
mysql_connect('localhost','root','password');
mysql_select_db('loginprac');
}
function usercheck()
{
if(isset($_POST['submit']))
{
connect();
$name=$_POST['name'];
$user = mysql_real_escape_string($_POST['user']);
$check_for_username = mysql_query("SELECT user from userpage WHERE user = '$user'");
$count = mysql_num_rows($check_for_username);
if($count != 0)
{
form($name,$user);
}
}
}
/*function insert()
{
connect();
if(isset($_POST['submit']))
{
usercheck();
$name=$_POST['name'];
$user=$_POST['user'];
$sql1= "INSERT INTO userpage (name,user) VALUES ('$name','$user')";
mysql_query($sql1);
}
}*/
?>