Foreach不能在PHP中工作吗?

时间:2017-07-31 14:54:22

标签: php jquery html

我的PHP课程:

class myclass
{
    function connection()
    {
        $con = mysqli_connect("localhost", "root", "", "clinic management system");
        return $con;
    }
    function getusername()
    {
        $q = mysqli_query($this->connection(), "select * from clients");
        return $q;
    }
}

php代码:

<?php
$obj = new myclass();
$user = $obj->getalluser();
$username = array();
foreach($user as $suser){
    $username[] = $suser['client_name'];

    $data = array( "username" => "");
    if( isset($_POST["naam"]) ) {
        if( in_array( $_POST["naam"], $username ) ) {
            $data["username"] = "inuse";
        }
    }
}

echo json_encode( $data );
?>

jquery的:

$(document).ready(function() {
    $("form.register").change(function() {
        $.post("check.php", $("form.register").serialize(), function(data) {
            if (data.username == "inuse")
                $("p#username_error").slideDown();
            else
                $("p#username_error").hide();
        }, "json");
    });
});

HTML:

<div id="myModal2" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
           <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal">&times;</button>
              <h4 class="modal-title">Registeration</h4>
           </div>
           <div class="modal-body">
              <form method="post" action="index.php" name="myform" id="myform" class="register">
                 <label class="">Username:</label>
                 <input type="text" name="naam" class="form-control">
                 <p id="username_error" style="display: none;" class="error">That Username is unavailable</p>
                 <label class="">Age:</label>
                 <input type="text"  name="age" class="form-control">
                 <label class="">Gender:</label>
                 <select name="gender" class="form-control">
                    <option value="0">select gender</option>
                    <option>male</option>
                    <option>female</option>
                 </select>
                 <label class="">Email:</label>
                 <input type="text" name="email" class="form-control">
                 <label class="">phone:</label>
                 <input type="text" name="phone" class="form-control">
                 <label class="">password:</label>
                 <input type="password" name="pass" class="form-control">
                 <label class="">city:</label>
                 <input type="text" name="city" class="form-control">
                 <label class="">Address:</label>
                 <input type="text" name="address" class="form-control">
                 <input type="hidden" name="status" value="1" class="form-control">
                 <br>
                 <button class="btn btn-primary" type="submit" name="reg">register</button>
              </form>
           </div>
           <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
           </div>
        </div>

当用户键入他的名字时,如果该用户在我的数据库中已经存在,那么他会在段落中看到这个用户已经写了这段代码,因为我不熟悉PHP我不知道我在哪里做错了。为什么我的jQuery代码不起作用?我简要定义了我为该过程编写的所有PHP代码,以及我在模态中使用的HTML代码的jQuery。

2 个答案:

答案 0 :(得分:1)

尝试更新您的PHP代码:

PHP代码

<?php
//Include class file first
include("myclass.php");

$obj = new myclass();
$user = $obj->getusername();
$username = array();
foreach($user as $suser){
    $username[] = $suser['client_name'];
}
$data = array();
if( isset($_POST["naam"])) {
    if(in_array($_POST["naam"], $username)) {
        $data["username"] = "inuse";
    }
    else{
        $data["username"] = "not in use";
    }
}
echo json_encode($data);
?>

jQuery代码:

//callback handler for form submit
$("#myform").on('submit', function(e){
    e.preventDefault();
    var postData = $(this).serializeArray();
    var formURL = 'check.php'
    $.ajax(
    {
        url : formURL,
        type: "POST",
        dataType : "json",
        data : postData,
        success:function(data, textStatus, jqXHR) 
        {
             console.log(data);
             if (data.username == "inuse"){
                 $("p#username_error").slideDown();
             }
             else{
                 $("p#username_error").hide();
             }     
        },
        error: function(jqXHR, textStatus, errorThrown) 
        {
            console.log("Error found"); 
        }
    });
});

答案 1 :(得分:0)

PHP解决了:

22     from tensorflow.contrib.framework.python.ops import gen_checkpoint_ops

23     from tensorflow.contrib.util import loader

24     from tensorflow.python.framework import dtypes

   ImportError: cannot import name gen_checkpoint_ops

我忘记了用户名来获取类型的clouse。

JQUERY更改:

<?php
include("admin/function/kamran.php");
$obj = new myclass();
$user = $obj->getuser($_POST['a']); 

if(mysqli_num_rows($user) > 0){
echo 'inuse';
}
else{
echo 'Valid User Name';

 }

相反发送数据序列化我试图用数组发送它。现在它完美无缺。感谢大家的贡献。如果此代码可以帮助其他人,则回答我自己的问题。 html与主帖中发布的相同。