Controllo numero da get

  • Creatore Discussione Creatore Discussione luigi777
  • Data di inizio Data di inizio

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
43
Massa, Italy
Salve, è vero che l'int messo come ho messo io controlla già che se è un numero o no:

codice:
PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/inc.php');
require_once(dirname(__FILE__) . "/template/".$template_client."/header.php");

		$id = (isset($_GET["id"])) ? trim ((int)$_GET["id"]): '';  // dico qui è vero perché avevo letto in un sito inglese ma ora non lo trovo più.

		$db_id = $db->real_escape_string($id);

		
		$query = "SELECT utenti._user as _user , news_categorie.titolo as _cat , news.* FROM utenti 
       INNER JOIN news 
          ON utenti.id = news._userid INNER JOIN news_categorie
          ON news_categorie.id = news._catid WHERE news.active=1 and news.id='".$db_id."'";
		$result = $db->query($query)or die($db->error);
		if(empty($db_id)) {
		echo "ID non specificato";
		}
elseif ($result->num_rows == 0) { echo "Record non trovato"; }
else
{

        $row = $result->fetch_array();
		$result->free_result(); 



?>

<?php	if ( isset ( $error ) )	{ echo '			<p class="error">' . $error . '</p>' . "\n";	}	?>
<?php	if ( isset ( $msg ) )	{ echo '			<p class="msg">' . $msg . '</p>' . "\n";	} else {?>
		<div class="post">
					<h2 class="title"><?php echo $row["titolo"]; ?></h2>
					<p class="meta"><span class="date">Data:&nbsp;&nbsp;<?php echo "".data_it($row["data"]).""; ?></span>&nbsp;&nbsp;Categoria:&nbsp;&nbsp;<?php echo $row["_cat"]; ?>&nbsp;&nbsp;<span class="posted">Postato da : &nbsp;<?php echo $row["_user"]; ?></span></p>
					<div style="clear: both;">&nbsp;</div>
					<div class="entry">
				 <?php echo bbcode_complete($row['testo']); ?>			
				 </div>
				 </div>
	<?php 
	}
	}

	?><?php
require_once(dirname(__FILE__) . "/template/".$template_client."/footer.php");

grazie mille.
 
Il Type Casting permette di ricavare solo il valore richiesto dal cast, quindi in questo caso verrà preso solo il valore che puo essere considerato numero intero.

Questo però non significa che prenderà tutti i numeri ma solo il primo valore considerabile come tale

esempio
PHP:
$var = 10.50;
echo (int)$var; //output: 10
$var = '20 prova 10';
echo (int)$var; //output: 20
 
Il Type Casting permette di ricavare solo il valore richiesto dal cast, quindi in questo caso verrà preso solo il valore che puo essere considerato numero intero.

Questo però non significa che prenderà tutti i numeri ma solo il primo valore considerabile come tale

esempio
PHP:
$var = 10.50;
echo (int)$var; //output: 10
$var = '20 prova 10';
echo (int)$var; //output: 20

quindi è giusto fare cosi?

grazie e buona giornata.
 
quindi va bene cosi?.

grazie mille.
Si certo e puoi anche togliere il $db->real_escape_string sull'id dato che andrà a prendere unicamente il valore riconosciuto come numero intero, quindi niente apostrofi o altro che possa bloccare/modificare la query, e anche trim() perché ovviamente un numero non ha spazi
 

Discussioni simili