2013-08-29 17 views
6

sto cercando di inviare i valori alla base di dati, ma ottengo un messaggio di erroreDeprecated: Function eregi() è sconsigliata in

Deprecated: Function eregi() is deprecated in C: \ wamp \ www \ OB \ admin_add_acc.php sulla linea 20 e 27

Ecco il codice:

<?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 
{      
+2

Utilizzare 'preg_match' invece di' eregi' – Bora

+0

Bene .. questo perché le funzioni 'ereg *' sono deprecate. Questo esattamente ciò che [il manuale dice] (http://php.net/manual/en/migration53.deprecated.php) –

+0

così tanti duplicati a questo. * sooooooo * molti. – Spudley

risposta

13

eregi() è deprecato a partire da PHP 5.3, utilizzare preg_match() invece.

Si noti che preg_match() non fa mai distinzione tra maiuscole e minuscole quando si passa il modificatore i nell'espressione regolare.

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 
     { 
     } 
    } 
} 
+0

grazie mille richard ha funzionato – Jush

0

È possibile trovare la risposta here in the manual .Dal suo un functi Deprecated inserito per la versione di PHP che si sta utilizzando si otterrà che warning.Instead di ergi è possibile utilizzare preg_match .Vedere il manuale preg match

1

Da Wikipedia:

Deprecation è uno stato applicato ad una funzione di software, caratteristica, o la pratica indica che dovrebbe essere evitata, in genere a causa di esso che è superato.

Dai un'occhiata al manuale PHP per eregi. Come potete vedere, ha il seguente avviso:

Questa funzione è stata DEPRECATED dal PHP 5.3.0. Affidarsi a questa funzione è altamente scoraggiato.

Più in basso nella pagina c'è qualche consiglio su cosa usare al posto:

eregi() è deprecato a partire dal PHP 5.3.0. preg_match() con il modificatore i (PCRE_CASELESS) è l'alternativa suggerita.

Quindi è possibile utilizzare la funzione preg_match.

Problemi correlati