0

私のサイトでは、トレーニングのために参加者が入力するフォームを作成しました。

私はこのエラーを受け取り始めました:

Fatal error: Call to undefined function escape() in load.php on line 10

HTML に含まれる 2 つの php ファイル、load.php と disp.php があります。

disp.php

<form method="post" name="FORMA" id="RTABLE">
    <table width="100%" cellspacing="3" cellpadding="3">
            <td class="Label">Ime i prezime:<span class="Red">*</span></td>
            <td class="Field"><input type="text" maxlength="200" name="ime_prezime" value="<?php echo $Error ? $Recover[ 'ime_prezime' ] : ""; ?>" /></td>
        </tr>
        <tr>
            <td class="Label">E-mail:<span class="Red">*</span></td>
            <td class="Field"><input type="text" name="email" maxlength="100" value="<?php echo $Error ? $Recover[ 'email' ] : ""; ?>" /></td>
        </tr>
        <tr>
            <td class="Label">Phone:<span class="Red">*</span></td>
            <td class="Field"><input type="text" name="telefon" maxlength="30" value="<?php echo $Error ? $Recover[ 'telefon' ] : ""; ?>" /></td>
        </tr>
        <tr>
            <td class="Label">Faculty:<span class="Red">*</span></td>
            <td class="Field"><input type="text" name="fakultet" maxlength="100" value="<?php echo $Error ? $Recover[ 'fakultet' ] : ""; ?>" /></td>
        </tr>
        <tr>
            <td class="Label">Year of study:<span class="Red">*</span></td>
            <td class="Field">
                <select name="year" id="year">
                    <?php
                        $year = array (1,2,3,4,5);
                        for ( $i = 0; $i < count( $year ); $i++ ){
                            $year[ $i ] = htmlspecialchars( $year[ $i ] );
                            echo "<option value=" . $year[ $i ] . " " . ( $Error && $year[ $i ] == $Recover[ 'year' ] ? 'selected' : '' ) . ">" . $year[ $i ] . "</option>";
                        }
                    ?>
                </select>
            </td>
        </tr>

        <tr>
            <td colspan="2" align="right"><input type="submit" name="PRIJAVA" value="Prijavite se!" class="BUTTON" /><div style="font-size:11px">obavezna polja <span class="Red">*</span></div></td>
        </tr>
    </table>
</form>

およびload.php

<?php
$Added = false;
$Try = false;
$Error = false;
$ErrMsg = "";
if ( isset( $_POST[ 'PRIJAVA' ] ) ){
    try{
        $Try = true;

        $ImePrezime = escape( $_POST[ 'ime_prezime' ] );
        $Email = escape( $_POST[ 'email' ] );
        $Telefon = escape( $_POST[ 'telefon' ] );
        $Fakultet = escape( $_POST[ 'fakultet' ] );
        $year = escape( $_POST[ 'year' ] );


        if ( $ImePrezime == "" ) raiseError( 0x0F, "Morate uneti ime i prezime." );
        else if ( $Email == "" ) raiseError( 0x0F, "Morate uneti e-mail adresu." );
        else if ( strpos( $Email, '@' ) === false ) raiseError( 0x0F, "Uneli ste nevalidnu e-mail adresu." );
        else if ( $Telefon == "" ) raiseError( 0x0F, "Morate uneti kontakt telefon." );
        else if ( $Fakultet == "" ) raiseError( 0x0F, "Morate uneti fakultet." );
        else if ( $year == "" ) raiseError( 0x0F, "Morate uneti godinu studija." );

        //$rs = &dbexecute( "SELECT COUNT( id ) FROM jf_eric_prijava WHERE email = '{$Email}' AND naziv = '{$Trening}' and tip_prijave = 'Trening'" );

        if ( mysql_result( $rs, 0, 0 ) ) raiseError( 0x0F, "Vec ste prijavljeni za praksu." );

        dbexecute( "INSERT INTO jf_eric_prijava ( ime_prezime, email, telefon, fakultet, year) VALUES( '{$ImePrezime}', '{$Email}', '{$Telefon}', '{$Fakultet}', '{$year}' )" );
        $Added = true;
    }catch( Exception $Ex ){
        $ErrMsg = $Ex;
        $Error = true;
        foreach ( $_POST as $K => $P ){
            $Recover[ $K ] = htmlspecialchars( $P );
        }
    }
}
?>

オリジナルをあげたかっただけのセルビア弦があります。

4

2 に答える 2

0

それだけですか

$email = escape( $_POST[ 'email' ] );

エラーが発生していることは?それをコメントアウトして残りを実行して、他のステートメントでまだエラーが発生するかどうかを確認してください。エスケープ関数自体を確認したい場合があります。何か問題がある可能性があります。可能であれば、問題の特定に役立つ可能性があることを投稿できます。

于 2013-10-09T12:39:54.210 に答える
0

これは、新しいバージョンの PHP のバージョンが原因で、「エスケープ」が定義されていないため、関数を変更して準備関数を使用することをお勧めします。

于 2018-07-07T05:35:08.340 に答える