1

これをどのように機能させるのですか?

$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step ."2"><select>";

2行目に(解析エラー:構文エラー、予期しない'<')が表示されます。停止しますか?

4

5 に答える 5

4

文字列内で引用符をエスケープします。

echo "<form action=\"${step}2\"><select>";

これで問題は解決しますが、HTMLに配置する前に属性値をエスケープすることをお勧めします。

echo "<form action=\"" . htmlspecialchars($step) . "2\"><select>";
于 2012-07-24T02:43:08.850 に答える
3

2の後の"は文字列を終了します。エスケープするか、一重引用符を使用してください。

$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=\"", $step , "2\"><select>";
于 2012-07-24T02:41:40.257 に答える
2

二重引用符をエスケープするか、double/singeの組み合わせを使用してみてください。

echo "<form action=\"". $step ."2\"><select>";

また

echo '<form action="'. $step .'2"><select>';
于 2012-07-24T02:42:02.970 に答える
2

実際に色分けに注意してみてください。または、色分けされていない場合は、色分けされたエディターを使用してください。

echo '<form action="'.$step.'2"><select>';
于 2012-07-24T02:42:15.333 に答える
1
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step .'"2"><select>';

また

$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step ."\"2\""><select>";
于 2012-07-24T02:44:35.007 に答える