2017-05-08 11 views
0

私は本当にPHPに新しいですが、私はasp.netで以前の知識を持っています。 私は読んでたくさんのことをしてきましたhttps://www.w3schools.com 問題はフォームを投稿して電子メールで送信することです。私はphpDesigner8にそれをコピーしたが、私は実行時に押したときに、私は次のエラーを得た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; 
    } 
} 
?> 

::注意:未定義のインデックス:CでREQUEST_METHOD ので最初のステップとして、私は次のリンクから、次のコードを試してみました:\ Users \ User \ AppData \ Local \ Temp \無題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

ありがとうございました –

関連する問題