从PHP中的函数获取值并在div或列中显示值,使用以前的值重新加载页面

时间:2013-07-31 06:54:40

标签: php html

我有两个字段'name'和'username'。我正在检查用户名可用性,我可以检查。我的问题在于我显示表单的方式。我想实现

  1. 在显示用户名但在第三列的同一行中显示消息。
  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中我只是检查用户名,现在我没有插入值,因此插入查询被注释并用于发回用户输入的值。我面临的问题是,单击提交按钮或用户可用性检查按钮后,表单将显示两次。我知道它正在发生,因为我正在调用该函数两次但是如何避免它?

    代码

    <?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);
        }
    
    }*/
    ?>
    

2 个答案:

答案 0 :(得分:0)

在函数表单()之外获取<form>。仅将消息和用户名传递给函数。

答案 1 :(得分:0)

如果你想使用javascript, 单击提交按钮/ useravailability检查按钮,调用ajax函数,然后可以使用新输入的用户名转到您的PHP代码(以检查可用性)。 检查可用性和 在那里打印你的消息。 然后在文档中替换实际需要该消息的html内容(使用ajax响应文本)。

here对这种ajax函数的介绍

或尝试jquery ajax