PHP Isset函数不工作

PHP Isset函数不工作,php,Php,我是PHP新手。我的isset函数不工作。它不显示错误。它总是插入表。我已经给出了我的代码。请告诉我在这件事上做错了什么 <?php if(isset($_POST['submit'])) { $a= $_POST['companyname']; $b= $_POST['ballpark_url']; $c= $_POST['username']; $d= $_POST['email']; $e= $_POST['login1']; $f=

我是PHP新手。我的isset函数不工作。它不显示错误。它总是插入表。我已经给出了我的代码。请告诉我在这件事上做错了什么

<?php
if(isset($_POST['submit'])) {
    $a= $_POST['companyname'];
    $b= $_POST['ballpark_url'];
    $c= $_POST['username'];
    $d= $_POST['email'];
    $e= $_POST['login1'];
    $f= $_POST['pass'];
    $error = false;
    if(validname($a) ==false) {
        echo $nameerror = "enter the valid name";
    }
    if(validemail($d) ==false) {
        echo $nameerror = "enter the valid email";
    }
    if(isset($_POST['companyname'])) {
        if($error==false) {
            $query= "INSERT INTO user VALUES ('$a','$b','$c','$d','$e','$f','');";
            if(!mysql_query($query)) {
                die ('error:'.mysql_error());
            }
            mysql_close($conn);  
        }
        include("templats/header_1.html");
        include("templats/content.html");
        include("templats/footer.html");
    }
?>
使用
!空($a)
而不是
isset($\u POST['companyname'])

但是,您的页面将不会显示。为什么不:

<?php
if(isset($_POST['submit'])) {

    $company_name = $_POST['companyname'];
    $ballpark_url = $_POST['ballpark_url'];
    $username     = $_POST['username'];
    $email        = $_POST['email'];
    $login1       = $_POST['login1'];
    $pass         = $_POST['pass'];

    $error = false;

    if( !validname( $company_name ) ) {
        echo "enter the valid name";
        $error = true;
    }

    if( !validemail( $email ) ) {
        echo "enter the valid email";
        $error = true;
    }


    if( empty($_POST['companyname']) ) {
        echo "enter a company name";
        $error = true;
    }

    if( !$error ) {
        $query= "INSERT INTO user VALUES ('$company_name',
                                          '$ballpark_url',
                                          '$username',
                                          '$email',
                                          '$login1',
                                          '$pass','');";

        if(!mysql_query($query)) {
         die ( 'error:' . mysql_error() );

         mysql_close( $conn );  
    }

    include("templats/header_1.html"); 
    include("templats/content.html");
    include("templats/footer.html");
}
?>
使用
!空($a)
而不是
isset($\u POST['companyname'])

但是,您的页面将不会显示。为什么不:

<?php
if(isset($_POST['submit'])) {

    $company_name = $_POST['companyname'];
    $ballpark_url = $_POST['ballpark_url'];
    $username     = $_POST['username'];
    $email        = $_POST['email'];
    $login1       = $_POST['login1'];
    $pass         = $_POST['pass'];

    $error = false;

    if( !validname( $company_name ) ) {
        echo "enter the valid name";
        $error = true;
    }

    if( !validemail( $email ) ) {
        echo "enter the valid email";
        $error = true;
    }


    if( empty($_POST['companyname']) ) {
        echo "enter a company name";
        $error = true;
    }

    if( !$error ) {
        $query= "INSERT INTO user VALUES ('$company_name',
                                          '$ballpark_url',
                                          '$username',
                                          '$email',
                                          '$login1',
                                          '$pass','');";

        if(!mysql_query($query)) {
         die ( 'error:' . mysql_error() );

         mysql_close( $conn );  
    }

    include("templats/header_1.html"); 
    include("templats/content.html");
    include("templats/footer.html");
}
?>

下面是Garvey的文章,如果它不存在,请在HTML中检查您是否设置了一个名为submit的submit按钮。。。。。。(感谢shef说要发布它;)

下面是Garvey的文章,如果它不存在,请在HTML中检查您是否设置了一个名为submit的submit按钮。。。。。。(感谢谢夫说要发布它;)

检查你的表格中是否有类似的行

 <input type="submit" name="submit" value="submitOrSomething">


您的isset检查是否存在带有键“submit”的名称-值对。因此,如果您有一个submit按钮,但它的名称与submit不同,那么您必须将其与isset一起使用。

检查表单中是否有类似的行

 <input type="submit" name="submit" value="submitOrSomething">


您的isset检查是否存在带有键“submit”的名称-值对。因此,如果您有一个submit按钮,但它的名称与submit不同,那么您必须将其与isset一起使用。

他没有将
$error
变量设置为true,因此它总是插入

$error = false;
if(validname($a) ==false) {
    echo $nameerror = "enter the valid name";
}
if(validemail($d) ==false) {
    echo $nameerror = "enter the valid email";
}
这就是我们需要做的

$error = false;
if(validname($a) ==false) {
    echo $nameerror = "enter the valid name";
    $error = true;
}
if(validemail($d) ==false) {
    echo $nameerror = "enter the valid email";
   $error = true;
}

他没有将
$error
变量设置为true,因此它总是插入

$error = false;
if(validname($a) ==false) {
    echo $nameerror = "enter the valid name";
}
if(validemail($d) ==false) {
    echo $nameerror = "enter the valid email";
}
这就是我们需要做的

$error = false;
if(validname($a) ==false) {
    echo $nameerror = "enter the valid name";
    $error = true;
}
if(validemail($d) ==false) {
    echo $nameerror = "enter the valid email";
   $error = true;
}

检查$\u POST数组。“提交”元素存在吗?@Marc Towler:这肯定是答案。张贴它!;)1. <代码>isset()
不是一个函数。2.为什么你会认为这里会有任何错误?请出示您的表格。请检查$\u POST数组。“提交”元素存在吗?@Marc Towler:这肯定是答案。张贴它!;)1. <代码>isset()
不是一个函数。2.为什么你会认为这里会有任何错误?请向我们展示您的表单。@JK-True,但在这种情况下,用户不是只是检查提交密钥是否在POST数组中,而实际上是想检查它的内容吗?@JK:你是说这样吗!?:D@MarcTowler OP提到它正在插入表中。这意味着数组中同时设置了$\u POST['submit']和$\u POST['companyname'],但是我认为他想阻止它在$\u POST['companyname']为空时提交。@这是我错过的一个好观点,但我仍然坚持我对JK所说的,基于他所说的said@MarkTowler你是对的-可能是:OP或者不希望companyname发布,或者他希望它发布,但想检查它是否为空(并且使用了错误的函数)。我认为后者更可能,我的回答基于这个假设。@JK是真的,但在这种情况下,用户不是只是检查提交密钥是否在POST数组中,而实际上是想检查它的内容吗?@JK:你是说这样吗!?:D@MarcTowler OP提到它正在插入表中。这意味着数组中同时设置了$\u POST['submit']和$\u POST['companyname'],但是我认为他想阻止它在$\u POST['companyname']为空时提交。@这是我错过的一个好观点,但我仍然坚持我对JK所说的,基于他所说的said@MarkTowler你是对的-可能是:OP或者不希望companyname发布,或者他希望它发布,但想检查它是否为空(并且使用了错误的函数)。我认为后者更有可能,我的回答基于这个假设。感谢箭鱼澄清了我在帖子中的内容+1感谢箭鱼澄清了我在帖子中的内容+1