-1

フォームを単一の $variable に入れたいのですが、エラーが発生します。

これらのフォームを単一の変数に入れる適切な形式は次のとおりです。

<form method="post" action="?pageid=C_beheer&amp;cmd=edit&id=<?php echo $events['ID']; ?>&month=<?php echo $month?>&day=<?php echo $day?>&year=<?php echo $year?>">
<input type="hidden" name="up_event_id" id="event_id" value="<?php echo $events['kalenderID']; ?>">
<input type="submit" name="edit"  value="Edit">
</form>

$formEdit = "ここにコードを投稿";

すべての " を \ でエスケープし、PHP の終了/開始タグを削除する必要があることはわかっていますが、投稿の $variables をどうする必要がありますか?

4

3 に答える 3

3
$formEdit = "<form method=\"post\" action=\"?pageid=C_beheer&amp;cmd=edit&id=".$events['ID']."&month=".$month."&day=".$day."&year=".$year."\">";

.文字列連結の演算子として使用します。
私はあなたの入力を省略し、例として開始フォームタグを使用しましたが、残りのタグは自分で簡単に追加できます.

于 2013-11-13T13:18:28.480 に答える
0

HTML ではバックスラッシュ文字に特別な意味はありません。しかし、もちろん手動でエスケープする必要はありません

コードの静的部分にも無効な HTML があります。

cmd=edit&id=
        ^

あなたは他の部分でそれを正しく理解しました:

?pageid=C_beheer&amp;cmd=edit
                ^^^^^
于 2013-11-13T13:19:42.903 に答える
0

HTML 文字の束をエスケープすることを心配したくない場合は、バッファを使用して変数を作成できますob_start()ob_get_clean()

<?php ob_start(); ?>
<form method="post" action="?pageid=C_beheer&amp;cmd=edit&id=<?php echo $events['ID']; ?>&month=<?php echo $month?>&day=<?php echo $day?>&year=<?php echo $year?>">
<input type="hidden" name="up_event_id" id="event_id" value="<?php echo $events['kalenderID']; ?>">
<input type="submit" name="edit"  value="Edit">
</form>
<?php $form = ob_get_clean(); ?>

基本的ob_start()に出力バッファリングをオンにし、その後エコーされるものはすべてバッファにキャプチャされます。 ob_get_clean()both はバッファの内容を返し、それを消去します (基本的に両方ob_get_contents()と を実行しob_end_clean()ます)。

大量の HTML を変数に格納する必要がある場合は、この方法を使用するのが好きです。

于 2013-11-13T13:20:18.887 に答える