Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 注册验证_Javascript_Php_Mysqli_Verification - Fatal编程技术网

Javascript 注册验证

Javascript 注册验证,javascript,php,mysqli,verification,Javascript,Php,Mysqli,Verification,每次我第一次未填充任何文本框时,它将被注册到db,就像我将所有文本框保留为空一样,但当你第二次(两个中的任何一个)这样做时,警报框将弹出。。。我不知道该怎么办。 请帮帮我。 这是我的密码: <?php ini_set('display_errors', 0); $email= $_POST['email']; $user= $_POST['user']; $password= $_POST['password']; $image =($_FILES['image']['name']);

每次我第一次未填充任何文本框时,它将被注册到db,就像我将所有文本框保留为空一样,但当你第二次(两个中的任何一个)这样做时,警报框将弹出。。。我不知道该怎么办。 请帮帮我。 这是我的密码:

<?php

ini_set('display_errors', 0);
$email= $_POST['email'];
$user= $_POST['user'];
$password= $_POST['password'];
$image =($_FILES['image']['name']);
$submit= $_POST['submit'];

if (empty($email) || empty($password) || empty($user) ) 
{
    echo "<script type='text/javascript'>
    alert('You did not complete all of the required fields');
    window.location='blah2.php';
    </script>";  
}


if(isset($submit))
{   
    $con = mysqli_connect("localhost", "root", "", "top")
        or die('error in connection'.mysqli_connect_error());

        $q = "SELECT username , email FROM registries WHERE username = ? OR email = ?";     
        $stmt = mysqli_prepare ($con, $q);
            mysqli_stmt_bind_param($stmt, 'ss', $user, $email);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_bind_result($stmt, $user , $email);
            mysqli_stmt_store_result($stmt);
            $result = mysqli_stmt_num_rows($stmt);

    if($result > 0) 
    { 
        echo "<script type='text/javascript'>
              alert('Email address or Username is already taken. Please pick another one.');
              window.location='blah2.php';
              </script>";       
    }   
    else
    {

        $q="INSERT INTO registries VALUES (?,?,?,?)";
        $stmt = mysqli_prepare($con, $q);
                move_uploaded_file($_FILES["image"]["tmp_name"],"uploads/" . $_FILES["image"]["name"]);
                mysqli_stmt_bind_param($stmt, 'ssss', $email, $user, $password, $image);
                mysqli_stmt_execute($stmt);
                mysqli_stmt_store_result($stmt);

                mysqli_stmt_close($stmt);

                header('Location: blah.php');


    }   

}

如果我没听懂你的话,就走吧

if(isset($submit)){
在您的代码之上

ini_set('display_errors', 0);
用这个

$submit= $_POST['submit']; 
$submit
始终处于设置状态

也许你可以试试

if (isset($_POST['Submit']))

出于调试目的,您可以尝试
var_dump$email
$password
$user
并检查它们是否真的是空的,当您发布一次或两次表单时

您的问题有点不清楚,您能给出一个更好的示例(现在发生了什么,预期的功能应该是什么)?@TylerAndFriends如果我第一次尝试按下“完成”按钮而不填充其中一个文本框或所有文本框,它将注册到db,而不是弹出alertbox并告诉用户他们将文本框留空。但当我再次重复时,代码就可以正常工作了。我想知道如何使这个代码正常工作。