is_numeric в скрипт за странициране

aquafresh

Registered
Значи DeathGuard ми направи нещо ,но нищо не става.. дори и цифри пак ми вади "Непозволени символи
Ето малко код
<?php
include ("config.php");
$id = $_GET['id'];
if (is_numeric($id) == FALSE ) { die ("Непозволени символи!"); }
$pp = "18";
$page= (int)$_GET['page'];
if(!isset($_GET['page']))
{
$page="1";
}

Одебеленото е реда.. цифри , букви , символи нищо не пуска.
 
<?php
include ("config.php");
$id = $_GET['id'];
if (!is_numeric($id)) { die ("Непозволени символи!"); }
$pp = "18";
$page= (int)$_GET['page'];
if(!isset($_GET['page']))
{
$page="1";
}
 
emagi каза:
aquafresh каза:
пак ми дава непозволени...
Това е невъзможно!
невъзможно ,но факт.. ето целия код
Код:
<?php
include ("config.php");
$id = $_GET['id'];
if (!is_numeric($id)) { die ("Непозволени символи!"); }
$pp = "18";
$page= (int)$_GET['page'];
if(!isset($_GET['page']))
{
$page="1";
} 
$limit = ($pp*$page)-$pp;
mysql_connect($server, $dbusername, $dbpassword)or die("1111");
mysql_select_db($dbname) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");
$max=mysql_numrows($redove);
$total=ceil($max/$pp);
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($dbname) or die("4444");
$query=mysql_query("SELECT `id`,`name`,`type`,`size`,`size1`,`date`,`img` , `downloaded` FROM $table_name ORDER BY id DESC LIMIT $limit,$pp") or die(mysql_error());
if (mysql_num_rows($query) == 0) { die("Няма записи в таблицата"); }
while(list($id , $name , $type , $size , $size1 , $date , $img ,$downloaded) = mysql_fetch_array($query))
{
include ("all.php"); 
}
$result=mysql_query($query);
$num=mysql_numrows($query);
mysql_close();
$i=0;
while ($i < $num) {
$data=@mysql_result($result,$i,"data");
echo $data."";
$i++;
}
echo"<center>";
if ($page > 1) {
$prev = ($page - 1);
echo "<a href="?page=$prev"><img style='border: none;' src='images/icons/previous.gif'></a> ";
}
else echo "";

if (!$page or ($page > $total)) {
$page="1";
}

if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b>[$i]</b> ";
}
else {
echo "<a href="?page=".$i."" >".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href="?page=".$i."" >".$i."</a> ";
}
}

if ($page <= 3) {
if ($page == 3) echo "<a href="?page=4">4</a> ";
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."">".$i."</a> ";
}
if ($page == 5) $parva.= "<a href="?page=4">4</a> ";

if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."">".$i."</a> ";
}

if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "... ";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."" >".$i."</a> ";
}

if ( $page > ($total - 5) ) {
echo "... ";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
}
}

if ($page < $total) {
$next = ($page + 1);
echo "<a href="?page=$next"><img style='border: none;' src='images/icons/next.gif'></a> ";
}
else echo "";
echo"</center>";
?>

с това ехо NULLНепозволени символи!
 
<?php
include ("config.php");
$id = (int)$_GET['id'];
//само да тестваш
echo gettype($id);

if (!is_numeric($id)) { die ("Непозволени символи!"); }
$pp = "18";
$page= (int)$_GET['page'];
if(!isset($_GET['page']))
{
$page="1";
}
$limit = ($pp*$page)-$pp;
mysql_connect($server, $dbusername, $dbpassword)or die("1111");
mysql_select_db($dbname) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");
$max=mysql_numrows($redove);
$total=ceil($max/$pp);
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($dbname) or die("4444");
$query=mysql_query("SELECT `id`,`name`,`type`,`size`,`size1`,`date`,`img` , `downloaded` FROM $table_name ORDER BY id DESC LIMIT $limit,$pp") or die(mysql_error());
if (mysql_num_rows($query) == 0) { die("Няма записи в таблицата"); }
while(list($id , $name , $type , $size , $size1 , $date , $img ,$downloaded) = mysql_fetch_array($query))
{
include ("all.php");
}
$result=mysql_query($query);
$num=mysql_numrows($query);
mysql_close();
$i=0;
while ($i < $num) {
$data=@mysql_result($result,$i,"data");
echo $data."";
$i++;
}
echo"<center>";
if ($page > 1) {
$prev = ($page - 1);
echo "<a href=\"?page=$prev\"><img style='border: none;' src='images/icons/previous.gif'></a> ";
}
else echo "";

if (!$page or ($page > $total)) {
$page="1";
}

if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b>[$i]</b> ";
}
else {
echo "<a href=\"?page=".$i."\" >".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href=\"?page=".$i."\" >".$i."</a> ";
}
}

if ($page <= 3) {
if ($page == 3) echo "<a href=\"?page=4\">4</a> ";
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
if ($page == 5) $parva.= "<a href=\"?page=4\">4</a> ";

if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}

if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "... ";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" >".$i."</a> ";
}

if ( $page > ($total - 5) ) {
echo "... ";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
}
}

if ($page < $total) {
$next = ($page + 1);
echo "<a href=\"?page=$next\"><img style='border: none;' src='images/icons/next.gif'></a> ";
}
else echo "";
echo"</center>";
?>
 
Така не работи.. дава ми грешка ,когато сложа символ
И също показва едно
integer
 
Ти какво искаш да направиш?
Тази функция е за проверка дали се съдържат само числа.
Ако искаш и други символи - кажи кои са позволените и ще ти дам проверката.
 
human каза:
Ти какво искаш да направиш?
Тази функция е за проверка дали се съдържат само числа.
Ако искаш и други символи - кажи кои са позволените и ще ти дам проверката.

Еми да де.. за числа.. само ,че това което даде емаги пуска всичко. Преди пък обратното - нищо не пуска
 
Пуска ти всичко, защото имаш функцията int
Дефакто, ако имаш да кажем следния стринг:
$id = "3344emagi"
Резултата от следният ред:
echo (int)$id;
//резултата е 3344
И след като мине проверката:
if(is_numeric($id)){
}
.............
, естествено , че ще върне true
Та, махни тогава int
 
aquafresh каза:
emagi каза:
aquafresh каза:
пак ми дава непозволени...
Това е невъзможно!
невъзможно ,но факт.. ето целия код
Код:
<?php
include ("config.php");
$id = $_GET['id'];
if (!is_numeric($id)) { echo"Непозволени символи!"; }else{
$pp = "18";
$page= (int)$_GET['page'];
if(!isset($_GET['page']))
{
$page="1";
} 
$limit = ($pp*$page)-$pp;
mysql_connect($server, $dbusername, $dbpassword)or die("1111");
mysql_select_db($dbname) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");
$max=mysql_numrows($redove);
$total=ceil($max/$pp);
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($dbname) or die("4444");
$query=mysql_query("SELECT `id`,`name`,`type`,`size`,`size1`,`date`,`img` , `downloaded` FROM $table_name ORDER BY id DESC LIMIT $limit,$pp") or die(mysql_error());
if (mysql_num_rows($query) == 0) { die("Няма записи в таблицата"); }
while(list($id , $name , $type , $size , $size1 , $date , $img ,$downloaded) = mysql_fetch_array($query))
{
include ("all.php"); 
}
$result=mysql_query($query);
$num=mysql_numrows($query);
mysql_close();
$i=0;
while ($i < $num) {
$data=@mysql_result($result,$i,"data");
echo $data."";
$i++;
}
echo"<center>";
if ($page > 1) {
$prev = ($page - 1);
echo "<a href="?page=$prev"><img style='border: none;' src='images/icons/previous.gif'></a> ";
}
else echo "";

if (!$page or ($page > $total)) {
$page="1";
}

if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b>[$i]</b> ";
}
else {
echo "<a href="?page=".$i."" >".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href="?page=".$i."" >".$i."</a> ";
}
}

if ($page <= 3) {
if ($page == 3) echo "<a href="?page=4">4</a> ";
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."">".$i."</a> ";
}
if ($page == 5) $parva.= "<a href="?page=4">4</a> ";

if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."">".$i."</a> ";
}

if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "... ";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href="?page=".$i."" >".$i."</a> ";
}

if ( $page > ($total - 5) ) {
echo "... ";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href="?page=".$i."">".$i."</a> ";
}
}
}

if ($page < $total) {
$next = ($page + 1);
echo "<a href="?page=$next"><img style='border: none;' src='images/icons/next.gif'></a> ";
}
else echo "";
echo"</center>";
}
?>

с това ехо NULLНепозволени символи!



въпреки че е същото пробвай тека
 
emagi, след като махна int пак се появява "Непозволени символи!"
 
Постави
Код:
echo $_GET['id']
преди да провериш за число за да видиш каква е всъщност променливата.
защото NULL в
NULLНепозволени символи!
означава че няма такава променлива.
 
jamby77 каза:
Постави
Код:
echo $_GET['id']
преди да провериш за число за да видиш каква е всъщност променливата.
защото NULL в
NULLНепозволени символи!
означава че няма такава променлива.
мне..
 
jamby77 каза:
Какво не? Излиза си точно както го искаш ли?
Не дава ми грешка
Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in C:\xampp\htdocs\maps\index2.php on line 5
 

Горе