-1

「名前」と「ユーザー名」の 2 つのフィールドがあります。ユーザー名の可用性を確認していますが、これを確認できます。私の問題は、フォームを表示する方法にあります。達成したい

  1. ユーザー名が表示されているのと同じ行にメッセージを表示していますが、3 列目に表示されています。
  2. メッセージを表示している間、以前に入力した値が表示されます。

そして、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);
    }

}*/
?>
4

2 に答える 2