2017-08-09 70 views
0

我試圖證明$_GET['start']是一個數字,但我明白了事實並非如此。

我也需要做出的$start值不低於10

$number = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'j'); 
$start = 2; 
$len = isset($_GET['len']) ? (int) $_GET['len'] : 2; 
$s = isset($_GET['start']) ? (int) $_GET['start'] + 2 : 4; 

foreach($number as $value) { 
    print_r($value); 
} 
echo '<br>' . '<br>'; 

if(isset($_GET['start'])) 
    $start = $_GET['start']; 

foreach(array_slice($number, $start, $len) as $k) { 
    print_r($k); 
} 
echo '<br>' . '<br>'; 

if(is_numeric($_GET['start'])) { 

    echo '<a href="http://192.168.1.6/alpha.php?start=' . $s . '&len=2"> 
            continue</a>'; 
} 

else { 
    echo "not a nummber"; 
} 
+1

測試是爲了你自己你可以[**驗證或消毒**](https://stackoverflow.com/questions/44445913/filter-sanitize-vs-filter -validate-what-the-difference-and-which-use/44446245#44446245)值。正如@Blaise所言, – Qirel

+1

,你的意思是使用'$ start'變量嗎?你確定你將這個變量作爲GET傳遞嗎? – GrumpyCrouton

+0

我同意,這似乎已經工作。你可以再加一點解釋這個問題嗎? –

回答

1

我輸入您的代碼到測試服務器更大,和它的工作對我來說是。但是,您的代碼未定義$_GET['start'],因此請確保您的測試網址包含?start=2

您可以通過鍵入$_GET['start']=2甚至$_GET['start']='2'

相關問題