funzione is_int()

oscar

Nuovo Utente
17 Apr 2014
29
0
1
Buongiorno a tutti, in una classe che gestisce i dati arrivati da un form voglio controllare che il numero che arriva dal form sia un intero scrivendo il seguente codice :
...
$this->giorno_nascita = $this->testGiornoNascita($_POST["giorno_nascita"]);
...
private function testGiornoNascita ($dato){
if (is_int($dato)){
echo 'il giornoNascita è un intero';
}
...
Quando chiamo la funzione, anche se metto un numero intero non stampa niente, è come se non ci fosse l'if e non vedo cosa faccio sbagliata.
Ringrazio in anticipo qualsiasi idea-aiuto che potete dare.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
premetto che non amo le classi e la programmazione ad oggetti, però guarda che i $_POST trasmettono i valori in formato stringa
prova a forzare
PHP:
$this->giorno_nascita = $this->testGiornoNascita((int)$_POST["giorno_nascita"]);
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
funziona aggiungendo (int). adesso vedo come è questo della "forzatura", ancora non lo avevo visto. Grazie.
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
comunque non serve a quello che intendevo fare, perche in questa funzione volevo validare il dato proveniente dalla form che dovrebbe essere solamente un intero. faccendo il cast per passare da una stringa a un integer, la variabile diventa integer e la risposta al if è vero ma non significa che la variabile sia solo un numero (può contenere lettere o simboli anche) p.es. se scrivo nel form 3d la funzione mi stampa 3 però no avvisa che c'è una d. Mi sembra che devo cambiare strada e lavorare con la data e non con numeri.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a vedere se così ti serve
PHP:
<?php
function testGiornoNascita ($dato){
	$dato=(int)(0+$dato);
	/*il numero da 0x diventa x, es 03 "stinga" diventa 3 numero intero
	e una stringa che non contine numeri diventa 0 */
	if ($dato > 0){
		return "$dato è un intero<br>";
	}else{
		return "$dato NON è un intero<br>";
	}
}
$d=1;//intero
echo testGiornoNascita ($d);
$d="1";
echo testGiornoNascita ($d);
$d="01";
echo testGiornoNascita ($d);
$d="29";
echo testGiornoNascita ($d);
$d="zz";//attento qui
echo testGiornoNascita ($d);
?>
uotput:
1 è un intero
1 è un intero
1 è un intero
29 è un intero
0 NON è un intero
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se vuoi operare direttamente con la data completa prova così
PHP:
<?php
function verifica_data($data){
	$d=explode("-",$data);//questa dipende da come è formarttata la data
	//ipotizzo gg-mm-Y
	$gg=(int)(0+$d[0]);
	$mm=(int)(0+$d[1]);
	$aa=(int)(0+$d[2]);
	if(checkdate ( $mm , $gg , $aa )){//i parametri di checkdate devono essere interi
		return " la data $data è una data valida<br>";//la data è una data valida
	}else{
		return " la data $data NON è una data valida<br>";;
	}
}
$nascita = "10-01-1980";
echo verifica_data($nascita);
$nascita = "33-01-1980";
echo verifica_data($nascita);
$nascita = "pinco pallo";
echo verifica_data($nascita);
$nascita = "29-02-2015";//tiene conto dei bisetili
echo verifica_data($nascita);
?>
uotput
a data 10-01-1980 è una data valida
la data 33-01-1980 NON è una data valida
la data pinco pallo NON è una data valida
la data 29-02-2015 NON è una data valida
 

oscar

Nuovo Utente
17 Apr 2014
29
0
1
grazie borgo italia, vedo di studiare le due possibilità. (miei tempi sono lunghi, ho iniziato poco fa a studiare tutto questo)
 
Discussioni simili
Autore Titolo Forum Risposte Data
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
R Variabile non risconosciuta dentro una funzione PHP 1
P Implementazione funzione FileReader Javascript 0
P Funzione copia multipla. Javascript 2
P Funzione jQuery Ajax invio file a php jQuery 1
A Funzione read URL PHP 6
F Funzione Glob - ricerca file contenente una parola PHP 1
A Mail con funzione mail() riconosciute come spam PHP 9
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
A funzione iconv () non mi funziona PHP 4
D Come usare funzione php PHP 6
Y verificare condizione dopo esecuzione della funzione Programmazione 0
IClaude Funzione Javascript Javascript 8
A Funzione share come modificarla Social Media Marketing 0
L funzione onclik con seno e coseno non va Javascript 3
L funzione onclick non va Javascript 26
G modifica corretta funzione da eregi() a preg_match() PHP 3
Shyson Modificare funzione php PHP 15
L pdo (stampare un valore con ritorno a funzione) PHP 0
elpirata Funzione conversione da minuti in ore Javascript 0
@ [MS Access] Funzione Iif..is null... Database 0
F Funzione deprecata in PHP7 PHP 1
G [MS Access] Funzione ARROTONDA non definita nell'espressione MS Access 1
max1974 [Javascript] Funzione Errata procedura Javascript 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
L Problema funzione mail() PHP PHP 3
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
R [Photoshop] funzione colore automatico Photoshop 0
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
L [PHP] problema count messo in una funzione. PHP 1
Monital funzione php si ripete due volte PHP 6
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
Monital Funzione php e campo database come variabile PHP 6
M Recuperare ID e usarlo in funzione jQuery 2
M PHP - Funzione non e scrive il risultato PHP 3
R [Javascript] Rendere una funzione sempre visibile Javascript 2
M funzione mysql che ritorna i microsecondi a partire dal 1-1-1970 MySQL 3
batmanLF [MySQL] Problema funzione SUM MySQL 1
F [PHP] La funzione setcookie PHP 0
F [Photoshop] sovrapporre due immagini usando funzione batch Photoshop 0
otto9due Capire la funzione del parametro event passato alla funzione.. jQuery 1
A [Javascript] tabella dinamica e onchange su funzione Javascript 1
M Problema con connessione MySqli e funzione PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
A [PHP] Problema invio mail con funzione mail() PHP 3
C Creazione di una funzione per il filtraggio dei campi di un db Presentati al Forum 0
C richiamare una funzione in un altro script php PHP 1

Discussioni simili