2011-05-29 84 views
1
<?php 
$name = $_POST['name']; 
$namecheck = namecheck($name); 

    function namecheck($name){ 

      if(strlen($name)>0) 
      { 
       return TRUE; 
      } 
      else if(strlen($name)==0) 
      { 
       return FALSE; 
      } 
     }; 

    function control($namecheck1) 
    { 
    if ($namecheck == TRUE) 
    { 
     echo "It is TRUE"; 
    } 
    else if ($namecheck == FALSE) 
    { 
     echo "It is FALSE"; 
    } 
    }; 
?> 

我写到HTML部分没有问题,我的PHP函数有一个问题,因为我是PHP新手。你能不能把它做好?PHP函数不能正常工作

我想你会明白我想做的功能它简单的我试图做的如果它是真的我想在屏幕上看到“它是真的”。否则.....

回答

2

你没有调用你的'控制'功能。尝试从

$name = $_POST['name']; 
$namecheck = namecheck($name); 
control($namecheck); 

此外,您的函数定义是错误的(或您使用的变量)。您可以将功能改变这种

function control($namecheck) 

的,如果公司对

if ($namecheck1 == TRUE) 

到底control(后的名字是你应该在if

+0

感谢男人,多么愚蠢的mista我做了:))) – mertcek 2011-05-29 19:13:20

6

收支票的一个看看变量。它们不匹配:

function control($namecheck1) 
    { 
    if ($namecheck == TRUE) 

你也从来没有真正调用过该函数。

1

在你control功能,参数被称为$namecheck1在第一,但你只把它$namecheck当您尝试使用它里面的函数。

1

它看起来好像你没有调用控制功能。

1

您在函数“control”中引用$ namecheck,但传递的参数名为$ namecheck1。 $ namecheck在函数“control”的作用域中未定义。

1

一些提示:

  • 代替namecheck()可以使用empty()
  • 使用$_POST['name']之前,你应该检查是否存在isset()应该帮助
0

这工作得很好

<?php 
$name = $_REQUEST['name']; 

    function namecheck($name1) 
    { 

      if(!empty($name1)) 
      { 
       return TRUE; 
      } 
      else 
      { 
       return FALSE; 
      } 
     } 


    if (namecheck($name) == TRUE) 
    { 
     echo "It is TRUE"; 
    } 
    else if (namecheck($name) == FALSE) 
    { 
     echo "It is FALSE"; 
    } 

?>