0

私はPHPとフォームに少し慣れていません。PHP形式であるページから別のページにいくつかの変数を送信しようとしています。

これはフォームです:

<form name="dates" action="document_creation/7bform.php" method="post"  onsubmit="return mandatoryFields()">
  <table width="748" border="0" cellspacing="2" cellpadding="2">
    <tr>
      <td class="main_text">
        <div align="right" class="main_text">*Contract Start Date:</div>
      </td>
      <td>
        <input name="start_date" type="text" value="YYYY-MM-DD" maxlength="100" class="datepick" id="date1" />
      </td>
    </tr>
    <tr>
      <td class="main_text">
        <div align="right" class="main_text">*Contract End Date:</div>
      </td>
      <td>
        <input name="end_date" type="text" value="YYYY-MM-DD" maxlength="100" class="datepick" id="date2" />
      </td>
    </tr>
    <tr>
      <td height="36" colspan="2">
        <table width="100" border="0" align="center" cellpadding="2" cellspacing="2">
          <tr>
            <td width="68"> <input name="submit" type="submit" id="Submit" value="Generate 7B Form" <?php if($disable ==1){?>disabled<?php }?>/></td>
            <td width="48">
              <label><input type="reset" name="reset" value="Reset" /></label>
            </td>
            <td width="46"><div align="center"><a href="javascript:history.go(-1);">Back</a></div></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>

別のページに移動したいのですがstart_date、機能しません。document_creation/7bform.phpは次のようになります。end_datedocument_creation/7bform.php

<?php
     $start_date = ($_POST['start_date']);
     $end_date = ($_POST['end_date']);

これらの変数を出力しようとすると、空白として表示されます。どこが間違っているのですか?

4

3 に答える 3

1

mandatoryFields()すべてが正常に見えるので、関数がfalseを返していると思います。

それ以外に、取得ページでこれを使用することをお勧めします。

if(isset($_POST['start_date']) && !empty($_POST['start_date'])){
 // now assign values
}

if(isset($_POST['end_date']) && !empty($_POST['end_date'])){
 // now assign values
}
于 2013-03-23T16:21:37.427 に答える
0

また、役立つヒント...


<?php if($disable ==1){?>disabled<?php }?>

それは非常に厄介です...あなたは短いタグを使用する必要があります


<?=($disable==1 ? " disabled" : "")?>

さらに、1はTRUEなので、実際には必要ありません...


<?=($disable ? " disabled" : "")?>

于 2013-03-23T16:22:11.540 に答える
0

$_POST呼び出しを囲む括弧を削除します。また、弦の消毒を検討することもできます。私はあなたが新しいことを知っていますが、私が誰かにPHPフォームを教えるときはいつでも、私は常に最初に衛生的な手順を説明します。@rckhoeでは、短いタグを使用しないでください。短いタグは非常にバグが多く、ブラウザの変数に依存します。

ここで入力のサニタイズについて読むことができます。パラメータ化されたクエリhtmlspecialchars()を使用することは常に良い習慣であり、使用することも良いことです。また、PHP/SQLについて詳しく読むことも問題ありません。

$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
于 2013-03-23T16:29:35.963 に答える