17

データベースに値を送信しようとしていますが、エラー メッセージが表示されます

非推奨: 関数 eregi() は C:\wamp\www\OB\admin_add_acc.php の 20 行目と 27 行目で非推奨です

コードは次のとおりです。

<?php       

include 'db_connect.php'; 

if(isset($_POST['Submit']))           
{            
$acc_type=ucwords($_POST['acc_type']);
$minbalance=ucwords($_POST['minbalance']);                       
if (!eregi ("^[a-zA-Z ]+$", stripslashes(trim($acc_type))))//line 20 
{                 
echo "Enter Valid Data for Account Type!";                
exit(0);                 
}           
else 
{                  
if (!eregi ("^[0-9 ]+$", stripslashes(trim($minbalance))))//line 27
{                       
4

3 に答える 3

24

eregi()は PHP 5.3 で廃止されましpreg_match()た。代わりに使用してください。

正規表現で修飾子preg_match()を渡す場合のみ、大文字と小文字が区別されないことに注意してください。i

include 'db_connect.php'; 
if(isset($_POST['Submit']))           
{            
    $acc_type=ucwords($_POST['acc_type']);
    $minbalance=ucwords($_POST['minbalance']);
    
    // Removed A-Z here, since the regular expression is case-insensitive                
    if (!preg_match("/^[a-z ]+$/i", stripslashes(trim($acc_type))))//line 20 
    {                 
        echo "Enter Valid Data for Account Type!";                
        exit(0);                 
    }           
    else 
    {                  
        // \d and 0-9 do the same thing
        if (!preg_match("/^[\d ]+$/", stripslashes(trim($minbalance))))//line 27
        {
        }
    }
} 
于 2013-08-29T11:37:50.460 に答える
2

ウィキペディアから:

Deprecation は、コンピュータ ソフトウェアの機能、特性、または慣行に適用されるステータスであり、通常は置き換えられているため、回避する必要があることを示します。

eregiの PHP マニュアルを参照してください。ご覧のとおり、次の警告があります。

この関数は、PHP 5.3.0 で非推奨になりました。この機能に依存することはお勧めできません。

ページのさらに下には、代わりに何を使用するかについてのアドバイスがあります。

eregi() は PHP 5.3.0 で非推奨になりました。i (PCRE_CASELESS) 修飾子を指定した preg_match() が代替案として推奨されます。

そのため、代わりにpreg_match関数を使用できます。

于 2013-08-29T11:39:13.897 に答える
0

答えはこちらのマニュアルで見つけることができます。使用しているphpバージョンでは非推奨の関数であるため、その警告が表示されます。代わりにergi使用できます。 preg matchpreg_matchのマニュアルを参照してください

于 2013-08-29T11:37:29.447 に答える