1

キャプチャを介して検証しているフォームがあります。if ステートメントがあります。ユーザーが間違ったキャプチャを入力すると、戻るように指示されます。それ以外の場合、ページは次のページにリダイレクトされます

  http://tre.emv3.com/D2UTF8?emv_tag=876020001C384269&emv_ref=EdX7CqkdLe_d8SA9MOPQNCffL0p6Hq3D-jmueKEyWsbQKbo&FIRSTNAME_FIELD=XXXXXXXXX&LASTNAME_FIELD=XXXXXXXXX&DATEOFBIRTH_FIELD=XXXXXXXXX&EMAIL_FIELD=XXXXXXXXX&EMVCELLPHONE_FIELD=XXXXXXXXX&STORE_NAME_FIELD=XXXXXXXXX&

ここで、XXXXXXXX はすべて、フォームの変数に置き換える必要があります。以下のコードを試してみると、変数が置き換えられません。ご協力ありがとうございました。

      <?php session_start(); ?>
      <?php 
      ob_start();
          date_default_timezone_set("Europe/London");
          include_once $_SERVER['DOCUMENT_ROOT'] . '/maininc/securimage/securimage.php';

          $securimage = new Securimage();
          if ($securimage->check($_POST['captcha_code']) == false) {
            // the code was incorrect
            // you should handle the error so that the form processor doesn't continue

            // or you can use the following code if there is no validation or you do not know how
            echo "THIS IS WRONG.<br /><br />";
            echo "Please go <a href='javascript:history.go(-1)'>back</a> and try again.";
            exit;
          }else{
           $FIRSTNAME_FIELD = $_POST['FIRSTNAME_FIELD'];
           $LASTNAME_FIELD = $_POST['LASTNAME_FIELD'];
           $DATEOFBIRTH_FIELD = $_POST['DATEOFBIRTH_FIELD'];
           $EMAIL_FIELD = $_POST['EMAIL_FIELD'];
           $EMVCELLPHONE_FIELD = $_POST['EMVCELLPHONE_FIELD'];
           $STORE_NAME_FIELD = $_POST['STORE_NAME_FIELD'];
           header('location: http://tre.emv3.com/D2UTF8?emv_tag=876020001C384269&emv_ref=EdX7CqkdLe_d8SA9MOPQNCffL0p6Hq3D-jmueKEyWsbQKbo&FIRSTNAME_FIELD=echo$FIRSTNAME_FIELD;&LASTNAME_FIELD=echo$LASTNAME_FIELD;&DATEOFBIRTH_FIELD=echo$DATEOFBIRTH_FIELD;&EMAIL_FIELD=echo$EMAIL_FIELD;&EMVCELLPHONE_FIELD=echo$EMVCELLPHONE_FIELD;&STORE_NAME_FIELD=echo$STORE_NAME_FIELD;&');
          }
      ob_end_flush();
      exit;
      ?>
4

2 に答える 2

0

関数内の文字列は。headerで囲まれてい'ます。これは変数を変換しません。で周囲'を変更し"、echoコマンドも削除します。

       header("location: http://tre.emv3.com/D2UTF8?emv_tag=876020001C384269&emv_ref=EdX7CqkdLe_d8SA9MOPQNCffL0p6Hq3D-jmueKEyWsbQKbo&FIRSTNAME_FIELD=$FIRSTNAME_FIELD&LASTNAME_FIELD=$LASTNAME_FIELD&DATEOFBIRTH_FIELD=$DATEOFBIRTH_FIELD&EMAIL_FIELD=$EMAIL_FIELD&EMVCELLPHONE_FIELD=$EMVCELLPHONE_FIELD&STORE_NAME_FIELD=$STORE_NAME_FIELD");
于 2012-12-04T12:31:41.350 に答える
0

リンク内のエコーを取り除き、' の代わりに header(" .. ") を使用してください。

なぜここを読んでくださいhttp://php.net/manual/en/language.operators.string.php

于 2012-12-04T12:35:03.103 に答える