LoginSignup
1

More than 5 years have passed since last update.

PHP T_ENCAPSED_AND_WHITESPACE Parse error

Last updated at Posted at 2018-02-23

エラーが取れず悩んだ覚書

php のバージョンは7.2.1 です。
ブラウザーはChrome 64 32ビットです。

test11.php
<?php
if('POST' == $_SERVER['REQUEST_METHOD']){
    print "Hello, ". $_POST['my_name'];
} else {

print <<<__HTML__
<html><body>
<form action="$_SERVER['PHP_SELF']?" method="POST">
your name: <input type="text" name="my_name">
<br>
<input type="submit" value="Say Hello">
</form>

</body></html>
__HTML__;
}
?>

このプログラムをブラウザーから実行すると以下のエラーが出ます。

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\test11.php on line 8

解決法1

'PHP_SELF'のシングルコーテーションで括るのをやめる。

correct.php
<form action="$_SERVER[PHP_SELF]?" method="POST">

解決法2

$_SERVER['PHP_SELF']を{} で括る。

correct.php
<form action="{$_SERVER['PHP_SELF']}?" method="POST">

どちらでも思った動作となりました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1