2

私の質問がややこしいのは承知していますが、私が言いたいのは、HTML フォームを PHP の「エコー」で表示したいということです。したがって、HTML コード全体が php の開始タグと終了タグ内にあり、HTML スクリプト内に php コードが必要でしたが、次のようなエラーが表示されます。

解析エラー: 構文エラー、予期しない「エコー」(T_ECHO)、「,」または「;」が必要です

私のコードは次のようになります:

<?php
   echo '<form method="post" id="customForm" action="add_assessment.php">
    <table>
     // this line is where I get the error
    <input type="hidden" name="res_id" value='echo($_GET['res_id']);' />
?>
4

5 に答える 5

5

.PHP で文字列を連結するために使用できます。したがって、次のように書くことができます。

<?php
   echo '<form method="post" id="customForm" action="add_assessment.php">
    <table>
     // this line is where I get the error
   <input type="hidden" name="res_id" value="'.$_GET['res_id'].'" />';
?>
于 2013-01-03T14:42:31.630 に答える
2

.文字列を連結するために使用できます。,それらを別々のエコーとして送信するwhichを使用することもできます。

<?php
   echo '<form method="post" id="customForm" action="add_assessment.php">
    <table>
    <input type="hidden" name="res_id" value="' . intval($_GET['res_id']) . '" />';
?>

XSS保護を忘れないでください。これintval()は、$ _ GETからのユーザー入力を整数に変換し、悪意のないことを保証します。これはシステムにとって重要なIDのようです。コードを変更してもコードが破損しないことを確認する必要があります。破損する場合は、代わりにセッションの使用を検討してください。

XSSまたはクロスサイトスクリプティングとは、攻撃がJavaScriptをページに挿入して、ページの動作を変えたり、ユーザーをリダイレクトしたりすることです。この場合、攻撃者はこのフォームを別の場所に送信する可能性があります。このフォームにクレジットカード情報、その他の個人情報、またはアプリケーションの内部データが含まれている場合。攻撃者は、ユーザーを不正なデータを含むフォームにリンクするだけで、その情報にアクセスする可能性があります。

正しく設定されていれば、ユーザーは自分の情報が盗まれたことさえ知らないかもしれません。

于 2013-01-03T14:42:50.057 に答える
1

ここでは、公式の php ドキュメントから、php-tag の操作方法について説明しています: http://php.net/manual/en/language.basic-syntax.phpmode.php

于 2013-01-03T14:45:11.473 に答える
1
<?php
   echo '<form method="post" id="customForm" action="add_assessment.php">
    <table>
    <input type="hidden" name="res_id" value="' . $_GET['res_id'] . '" />';
?>
于 2013-01-03T14:40:54.633 に答える
1

どうぞ:

<?php
   echo '<form method="post" id="customForm" action="add_assessment.php">
    <table>
    <input type="hidden" name="res_id" value="' . $_GET['res_id'] . '" />';
?>
于 2013-01-03T14:41:28.363 に答える