0

我想创建一个多步骤表单,但我现在遇到了 displayStep1() 的问题。请帮我找出我的问题并解决。谢谢大家。

致命错误:调用未定义函数 displayStep1()

 if ( isset( $_POST["up_login"] ) and $_POST["up_login"] == 'up_login' )
 {
     include 'forms/up_login.php';
 } 
 elseif ( isset( $_POST["up_info"] ) and $_POST["up_info"] == 'up_info' )
 {

    if ( isset( $_POST["step"] ) and $_POST["step"] >= 1 and $_POST["step"]<= 5 ) 
    {
        call_user_func( "processStep" . (int)$_POST["step"] );
    } 
    else 
    {
        displayStep1();
    }

    function processStep1() 
    {
        displayStep2();
    }
    function processStep2() 
    {
        if ( isset( $_POST["continue"] ) and $_POST["continue"] =="< Back" ) 
        {
            displayStep1();
        } 
        else 
        {
            displayStep3();
        }
    }
    function processStep3() 
    {
        if ( isset( $_POST["continue"] ) and $_POST["continue"] =="< Back" ) 
        {
            displayStep2();
        } 
        else 
        {
            displayComplete();
        }
    }
    function processStep4() 
    {
        if ( isset( $_POST["complete"] ) and $_POST["complete"] =="< Back" ) 
        {
            displayStep3();
        } 
        else 
        {
            displaySuccess();
        }
    }

    function displayStep1() 
    {

     include 'update_step1.php';            

    }
    function displayStep2() 
    {

     include 'update_step2.php';            

    }
    function displayStep3() 
    {

     include 'update_step3.php';            

    }
    function displayComplete() 
    {

     include 'update_step4.php';            

    }
    function displaySuccess() 
    {

     include 'update_step1.php';            

    }

 }
 else
 {
     include 'forms/up_account.php';
 }
4

2 回答 2

1

把你的函数从 IF 中取出,你不需要在 if 中创建一个函数,例如:

第一的:

function displayStep1(){/* ... */} 

之后,继续代码。

为你的所有功能做这个。

于 2013-06-20T05:59:02.370 回答
0

这个功能:-

function displayStep1() 
    {

     include 'update_step1.php';            

    }

应该在它被调用之前放置。

于 2013-06-20T05:55:51.267 回答