2016-08-02 82 views
2

我只是想使用PHP和XAMP添加兩個整數。未定義的變量:_get XAMP PHP

我已經把我的client.html文件和service.php(其中加號)在C:\ XAMPP \ htdocs中

,我得到

「通知:未定義的變量:在_GET C:\ XAMPP \ htdocs中\ service.php上 線7

說明:

理解過程罰款變量:_get在第8行的C:\ xampp \ htdocs \ service.php「 錯誤。

將此錯誤發佈到堆棧溢出之前。讓我告訴你,我仔細檢查了我的文件名,變量名區分大小寫等等。但仍然有相同的錯誤。任何幫助將非常感激。

這是我client.html

form action="service.php" method="get"> 
    input type="text" name="txt1"> <br /> 
    input type="text" name="txt2"> <br /> 
    input type="submit" value="add"><br /> 

,這裏是service.php

<?PHP 

echo "This is my first program in php"; 
$a= $_get['txt1']; 
$b= $_get['txt2']; 
echo $a + $b; 
?> 
+0

'$ _GET'。同時使用'POST'更安全 –

+0

如果你願意,你也可以使用'$ _POST',因爲它更安全,因爲用戶在url中看不到它。 '$ _GET'將會在url中傳輸。 – tomfl

回答

0

GET是一個SUPER GLOBAL VARIABLE和訪問它,你必須使用$_GET

所以做象下面這樣: -

<?PHP 

echo "This is my first program in php"; 
$a= $_GET['txt1']; 
$b= $_GET['txt2']; 
echo $a + $b; 
?> 

注: - 使用

POSTGET更安全(在顯示爲URL數據get request感,但不是在post

所以只是用post代替get<form method>

$_POST而不是$_GET

,如: -

form action="service.php" method="POST"> 
    input type="text" name="txt1"> <br /> 
    input type="text" name="txt2"> <br /> 
    input type="submit" value="add"><br /> 

<?PHP 

echo "This is my first program in php"; 
$a= $_POST['txt1']; 
$b= $_POST['txt2']; 
echo $a + $b; 
?> 
+2

定義「更安全」。在哪些方面?如果安全無關緊要呢? GET表單提交方法有其用途。 – deceze

+0

@deceze補充說明 –

+2

目前尚不清楚爲什麼URL中未顯示的數據「更安全」,或者在哪種情況下「更安全」。你不能像這樣做一攬子報表,對於與「安全」有關的事情有更多的細微差別。 – deceze

2

這是因爲$_GET$_get是兩個不同的變量。您必須使用大寫字母。所以PHP認爲你指的是另一個變量。

這將工作:

<?php 
echo "This is my first program in php"; 
$a= $_GET['txt1']; 
$b= $_GET['txt2']; 
echo $a + $b; 

如果你是新來的PHP,這兩個網頁應該有所幫助: Variable basics (php.net)$_GET

1

GET變量名稱應該是所有CAPS

所以你的代碼可能看起來像這樣,

<?PHP 

echo "This is my first program in php"; 
$a= $_GET['txt1']; 
$b= $_GET['txt2']; 
echo $a + $b; 
?> 

參考:http://php.net/manual/en/reserved.variables.get.php

$ _GET是預定義的保留變量。


而且它的最好使用POST方法(如@Anant提到的)對敏感數據發送到服務器,您可以訪問它使用POST方法,通過$ _ POST變量發送這些數據。