これをどのように機能させるのですか?
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step ."2"><select>";
2行目に(解析エラー:構文エラー、予期しない'<')が表示されます。停止しますか?
これをどのように機能させるのですか?
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step ."2"><select>";
2行目に(解析エラー:構文エラー、予期しない'<')が表示されます。停止しますか?
文字列内で引用符をエスケープします。
echo "<form action=\"${step}2\"><select>";
これで問題は解決しますが、HTMLに配置する前に属性値をエスケープすることをお勧めします。
echo "<form action=\"" . htmlspecialchars($step) . "2\"><select>";
2の後の"は文字列を終了します。エスケープするか、一重引用符を使用してください。
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=\"", $step , "2\"><select>";
二重引用符をエスケープするか、double/singeの組み合わせを使用してみてください。
echo "<form action=\"". $step ."2\"><select>";
また
echo '<form action="'. $step .'2"><select>';
実際に色分けに注意してみてください。または、色分けされていない場合は、色分けされたエディターを使用してください。
echo '<form action="'.$step.'2"><select>';
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step .'"2"><select>';
また
$step = $_SERVER['PHP_SELF']. '?&step=';
echo "<form action=". $step ."\"2\""><select>";