プロが教える店舗&オフィスのセキュリティ対策術

以下のページにあるPHP開始タグの直後の等号の意味を教えてください。

http://nyx.pu1.net/practice/form/form2.php

以下の行の「=」の箇所です。

<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">

A 回答 (4件)

こんにちは。



変数を表示します。
(ehcoの省略みたいな感じ)
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/11/05 16:44

通常の開始タグは、<?php です。

<? はショートタグというもので、php.ini で設定すると使えるようになります。( short_open_tag = On )
その場合、<?= は、<?php echo と同じになります。
普通はショートタグは使いません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/11/05 16:45

<?= は <?php echo の短縮形です。



細かい話ですが、php5.4.0以降この短縮形( <?= )はshort_open_tag( <? を有効にするかどうか)の設定に依存しなくなりました。

http://www.php.net/manual/ja/ini.core.php#ini.sh …

今後は「 <? は無効だが <?= は使える」という環境が増えてきますね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/11/05 16:45

ショートタグについてはすでに回答があるとおり


phpの柔軟性の一つで簡潔に表記できる利点でもありますが、
正直このくらいならechoやらprintすればいいじゃん・・・
とも思える仕様ですね。

それより$_SERVER['PHP_SELF']は、いちぶセキュリティの問題もあり
最近ではあまりつかわれなくなっており、
$_SERVER['SCRIPT_NAME']を利用するケースが増えているようです。
詳細はググってみてください
    • good
    • 0
この回答へのお礼

ありがとうございます。
SCRIPT_NAMEについても、ありがとうございます。

お礼日時:2012/11/05 16:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!