0

スクリプトで自己定義関数を使用したいのですが、自己定義関数の使用方法がわかりません。少し試してみましたが、うまくいきません。助けてください。アイデアがあれば共有してください。

 $fname=$_GET['fname'];
    $lname=$_GET['lname'];
    $submit=$_GET['submit'];
    $error=array();

        function validation($fname,$lname,$submit){
            if(isset($submit))
            {
                if(empty($fname)){
                    return "first name field is empty";
                }

                if(!empty($fname)){
                    if(!is_string($fname))
                    {
                        return "please type alphabet in firstname field";
                    }    
                }

                if(empty($lname)){
                    return "last name field is empty";
                }

                if(!empty($lname)){
                    if(!is_string($lname)){
                        return "please type alphabet in lastname field";
                    }
                }
            }
        }

        validation();

自己定義関数の使用に関するリンクがある場合は、それを共有してください。

4

1 に答える 1

2

validation()行でパラメーターを要求すると、パラメーターなしで呼び出すことはできません($fname,$lname,$submit)。のように呼び出しvalidation($_GET['fname'], $_GET['lname'], $_GET['submit']);ます。

編集:更新されたコードを見ると、本質的にスコープの問題があります。$fname関数の外で$lname、 などの変数を宣言しないでください。それらを渡すだけです。

また、チェックしていますif (!empty($lname))が、そのチェックは無意味です。空の場合、関数は返されます。その時点で空でないことは 100% 確信できるので、確認する必要はありません。

PHP の関数についてさらに読むためのリンク: http://www.php.net/manual/en/functions.user-defined.php

于 2013-06-22T05:14:50.470 に答える