2011-05-29 158 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"; 
    } 

?>