4

OC 1.5.1.3、Captcha 画像は次のページのいずれにも表示されません。

  1. 商品・レビュー欄
  2. お問い合わせページ
  3. このhttp://www.directmall.co.uk/index.php?route=information/contact/captchaにアクセスして(画像を生成する直接リンク)

エラーが表示されません (Apache ログ / error.txt ファイル)。言語ファイル内にスペースが見当たりません。実際、確認のために EN パッケージ全体を再ダウンロードしました..

壊れた依存関係が疑われます (GD がある場合でも..何か他のものがあるに違いありません..); キャッシュを完全に無効にしました - 支援が必要です!

2009 年にフォーラムでそのようなエラーの痕跡を見つけましたが、言語ファイルの問題があったようです。つまり、スペースの痕跡が通常よりも早くページ ヘッダーを送信していました。関係があり、余分なスペースをすべて削除しましたが、結果はありません。

ありがとう、ボグダン

4

7 に答える 7

14

参考までに、私はこれと同じ問題を抱えていましたが、この解決策 (system\library\captcha.php への変更)により、キャプチャ画像正常に表示され、フォームは検証に合格しました:

function getCode(){
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $this->code);
ob_end_clean();

    return $out;
}
于 2012-12-11T13:13:03.553 に答える
1

これを探している人のために明確にするために。システム/ライブラリ/captcha.php

関数行 11 を変更 getCode()

これに:

function getCode(){
    //return $this->code;
    $out = ob_get_contents();
            $out = str_replace(array("\n", "\r", "\t", " "), "", $input);
            ob_end_clean();

            return $out;
}

これで済むはずです。

于 2013-07-05T13:22:08.310 に答える
1

Google Chromeview-source:http://www.directmall.co.uk/index.php?route=information/contact/captchaで実行すると、画像のコンテンツの前に空白があることがわかりました。

の前または後の"\n"コードのどこかに誤って出力した可能性があります。<?php?>

于 2011-11-24T23:32:01.893 に答える
1

getcode 関数の後にこのコードを追加する必要があります (ライブラリの captcha.php)。

$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();
于 2012-01-30T16:05:45.927 に答える
0

私は同じ問題を抱えていましたが、私の特定のケースでは、これが解決策でした。おそらく、product.php を修正したときに、デバッグが非常に困難ないくつかの空白行が導入されました。いずれにせよ、このコード:

$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();

return $out;

そこにあるべきではないものをすべてきれいにするので、それを修正しました。

誰にも役立つことを願っています。

于 2013-07-03T02:52:08.157 に答える