2015-05-07 52 views
-1
<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "vish"; 
$database = "android"; 

$conn= new mysqli($servername,$username,$password,$database); 

if(!$conn) 
{ 
    #ie("connection failed" ,mysql_connect_error()); 
    echo "connection failed"; 
} 
if(!isset($_POST['fname'])) 
{ 
    $uname = $_POST['fname']; 
} 
if(!isset($_POST['lname'])) 
{ 
    $lnam = $_POST['lname']; 
} 
$qur = " 
     INSERT INTO test(Username, l_name) 
     VALUES ('$uname','$lnam') 
     "; 
$fetch_qur = "SELECT * FROM test"; 
$result = mysqli_query($conn,$qur); 
$result2 = mysqli_query($conn,$fetch_qur); 
while($row=mysqli_fetch_assoc($result2)) 
{ 
    echo $row['Username']; 
    echo $row['l_name']; 
} 
mysqli_close($conn); 

>PHP POST方法未定義指數誤差

它給了我錯誤的通知:未定義指數:FNAME在C:\ WAMP \ WWW \上線17 測試\ database.php中以及至於lname。

如果我使用get方法,此代碼工作正常。 任何人都可以解釋爲什麼這是如此 謝謝

+0

線什麼是17?你的代碼在哪裏?聽起來就像你試圖在變量作爲GET請求發送時一樣獲得POST的結果。但是,由於我無法讀懂頭腦,這是一個猜測。 –

+0

請現在檢查它..行號17是$ uname = $ _POST ['fname']; – Vish

+0

@ user3448278 if語句的作用是:'如果未設置$ _POST [「fname」],則將其分配給$ uname' – Rizier123

回答

1

你檢查它錯了。如果它們存在,則設置該值。這應該是 -

if(isset($_POST['fname'])) 
{ 
    $uname = $_POST['fname']; 
} 
if(isset($_POST['lname'])) 
{ 
    $lnam = $_POST['lname']; 
} 

更新

if(isset($_POST['fname']) && isset($_POST['lname'])) 
{ 
    $uname = $_POST['fname']; 
    $lnam = $_POST['lname']; 
    $qur = " 
     INSERT INTO test(Username, l_name) 
     VALUES ('$uname','$lnam') 
     "; 
} 
+0

然後它說在查詢未定義的變量說未定義的變量:lnam和UNAME – Vish

+0

檢查更新。 –

+0

我這樣做,但它不會在IF循環中,所以現在它說undefined變量qur當我使用$ result = mysqli_query($ conn,$ qur); – Vish