2017-05-08 49 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

非常感谢你 –

相关问题