2017-05-08 47 views
0

我對PHP真的很陌生,但我對asp.net有以前的知識。 我一直在閱讀並嘗試了很多,通過https://www.w3schools.com 問題是張貼表格並將它們作爲電子郵件發送。 所以作爲第一步,我嘗試從以下鏈接下面的代碼:在C REQUEST_METHOD:https://www.w3schools.com/php/php_superglobals.asp

<html> 
<body> 

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
    Name: <input type="text" name="fname"> 
    <input type="submit"> 
</form> 

<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    // collect value of input field 
    $name = $_POST['fname']; 
    if (empty($name)) { 
     echo "Name is empty"; 
    } else { 
     echo $name; 
    } 
} 
?> 

我它複製到phpDesigner8但我得到以下錯誤,當我按下運行:注意:未定義指數:\ Users \ User \ AppData \ Local \ Temp \ Untitled 1 on line 10

任何人都可以請幫助我,向我解釋什麼是錯的? 非常感謝您提前!

更新版本:

<html> 
<body> 

<form method="post" action=""> 
    Name: <input type="text" name="fname"> 

    <input type="submit"> 
</form> 

<?php 



if(isset($_POST['fname'])) { 
    // collect value of input field 
    $name = $_POST['fname']; 
    if (empty($name)) { 
     echo "Name is empty"; 
    } else { 
     echo $name; 
    } 
} 


?> 

現在還沒有更多的錯誤,但沒有什麼是輸出到屏幕,回聲

+1

爲什麼你要檢查請求方法?你可以簡單地檢查該字段本身是否被張貼,例如:if(isset($ _ POST ['fname']))' btw,檢查這個http://stackoverflow.com/questions/12754388/serverrequest-方法不存在 – Mohammad

+0

這個刪除了錯誤,現在我得到這個頁面無法顯示,當我按下提交 –

+0

好吧,這是由行動造成的,現在刪除了這個 –

回答

1

嘗試使用這樣的:

$var = $GLOBALS["_SERVER"]; 
print_r($var); 

從一個答案on stackoverflow得到,

$request_method = strtoupper(getenv('REQUEST_METHOD')); 
$http_methods = array('GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS'); 

    if (in_array($request_method, $http_methods)) { 
    //this would only allow the above methods. 
    if ($request_method == 'POST') { 
     //proceed 
     $name = $_POST['fname']; 
    if (empty($name)) { 
     echo "Name is empty"; 
    } else { 
     echo $name; 
    } 
    } 
} else { 
    die('invalid request'); 
} 
+0

這對我來說有點複雜瞭解這個級別......我可以請更詳細的說明嗎? –

+0

給我一分鐘。我會添加評論 – Akintunde007

+0

非常感謝你 –

相關問題