web-dev-qa-db-ja.com

非推奨:関数eregi()は非推奨です

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

非推奨:関数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
{                       
12
Jush

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
        {
        }
    }
} 
18
MisterBla

From Wikipedia

非推奨とは、コンピューターソフトウェアの機能、特性、または慣習に適用されるステータスであり、通常はそれが優先されるため、回避する必要があることを示します。

PHP eregi のマニュアルをご覧ください。ご覧のとおり、次の警告が表示されます。

この関数は、PHP 5.3.0。この機能に依存することはお勧めできません。

ページのさらに下には、代わりに使用するものに関するアドバイスがあります。

eregi()はPHP 5.3.0。i(PCRE_CASELESS)修飾子付きのpreg_match()が推奨される代替手段であるため、非推奨です。

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

2
vimist

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

0
Deepu