2

私のサイトは以前は問題なく動作していましたが、htaccess ファイルを追加して URL を修正するなど、いくつかの小さなことを調整しました。現在、自分のグラフが自分のサイトに表示されないことに気付きました。

これは問題のページです:

http://www.huge-river.com/product/Samsung-Galaxy-SIII-Smartphone-16GB-UK-Sim-Free-Unlocked-Pebble-Blue

次のような URL から直接グラフにアクセスすると、次のようになります。

http://www.huge-river.com/graph/B0080DJ6C2/3months

次のエラーが表示されます。

JpGraph エラー: HTTP ヘッダーは既に送信されています。ファイルproducts.phpの1行目からの出力が原因です。これにより、ライブラリが画像データをブラウザに送り返すことができなくなります (ブラウザによってテキストとして解釈され、ジャンク テキストとして表示されるため)。ほとんどの場合、Graph::Stroke() を呼び出す前に、スクリプトに何らかのテキストが含まれています。このテキストがブラウザに送り返されると、ブラウザはすべてのデータがプレーン テキストであると想定します。ブラウザに送り返された可能性のあるテキスト (スペースや改行も含む) を探します。

For example it is a common mistake to leave a blank line before the opening "<?php".

エラーによると、次のように見えるのは私のproduct.phpであると書かれています:

<br />
<div class="row">
    <div class="span3" style="text-align: center;">
        <a class="fancybox" href="<?=$product_data['pLargeImage']?>"><img src="<?=$product_data['pMediumImage']?>" alt="<?=htmlspecialchars($product_data['pTitle'])?>" /></a>
        <br />
        <span class="small-and-grey">Click image for larger version</span>
    </div>
    <div class="span6">
        <h1 class="product-title"><?=htmlspecialchars($product_data['pTitle'])?></h1><br />
        <strong>ASIN</strong> <span class="double-arrow"></span> <?=$asin?>
        <?php if (isset($product_data['pManufacturer']) && $product_data['pManufacturer'] != ''): ?>
        <br /><strong>Manufacturer</strong> <span class="double-arrow"></span> <?=$product_data['pManufacturer']?>
        <?php endif; ?>
        <?php if (isset($product_data['pMpn']) && $product_data['pMpn'] != '' && $product_data['pMpn'] != '0'): ?>
        <br /><strong>MPN</strong> <span class="double-arrow"></span> <?=$product_data['pMpn']?>
        <?php endif; ?>
        <br /><strong>Category</strong> <span class="double-arrow"></span> <?=$product_data['pCategory']?>
        <?php if (isset($product_data['pEan']) && $product_data['pEan'] != '' && $product_data['pEan'] != '0'): ?>
        <br /><strong>EAN</strong> <span class="double-arrow"></span> <?=$product_data['pEan']?>
        <?php endif; ?>
    </div>
    <div class="span3">
        <div class="current-prices pull-right">
            <?php foreach ($history_data as $id => $row): ?>
            <div class="flag-price">
                <div class="pull-left">
                    <a href="<?=htmlspecialchars($row['rAffiliateLink'])?>" rel="nofollow"><img src="<?=base_url() . "img/site/flags/" . $row['rCode']?>.jpg" alt="Amazon <?=$row['rCode']?>"/></a>
                </div>
                <div class="pull-right">
                    <a href="<?=htmlspecialchars($row['rAffiliateLink'])?>" rel="nofollow"><?=$row['hRecordedPriceFormatted']?></a>
                </div>
            </div>
            <?php endforeach; ?>
        </div>
        <div class="small-and-grey pull-right">Click flag to buy direct from Amazon.</div>
    </div>
</div>

<br />
<div class="tab-container">
    <ul class="nav nav-tabs">
      <li class="active">
        <span>Overview</span>
      </li>
    </ul>

    <div class="tabbed-data-container">
        <div class="row">
            <div class="graph-container"><img src="<?=base_url()?>graph/<?=$asin?>/3months" style="width:650px;height:600px;" alt="Item history"/></div>
            <div class="span3 pull-right">
                <br /><br /><br /><br /><br />
                <div class="graph-info">
                    <span class="title">Please Note:</span><br /><br />
                    Product prices and availability are accurate as of the date/time indicated and are subject to change.
                    <br /><br />
                    The graph will always display the recorded price converted to GBP.
                    <br /><br />
                    Converted GBP prices are approximated based on the current exchange rate at the point of being recorded.
                </div>
                <!--
                <div style="margin:20px;margin-left: 0;padding:20px;border:1px solid #ddd;">
                    <div class="controls">
                        <label class="radio">
                            <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked="">
                            Europe
                        </label>
                        <label class="radio">
                            <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
                            UK Only
                        </label>
                    </div>
                    <br /><br />
                    <div class="controls">
                        <label class="radio">
                            <input type="radio" name="optionsRadios" id="optionsRadios2" value="option1" checked="">
                            6 Months
                        </label>
                        <label class="radio">
                            <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
                            All time
                        </label>
                    </div>
                </div>
                -->
            </div>
        </div>
    </div>
</div>
<br />
<div class="tab-container">
    <ul class="nav nav-tabs">
      <li class="active">
        <a href="#price_history" data-toggle="tab">Price History</a>
      </li>
      <!--
      <li>
        <a href="#price_history" data-toggle="tab">Price History</a>
      </li>
      -->
    </ul>

    <div class="tabbed-data-container tab-content">

        <div class="tab-pane fade in active" id="price_history">
            <table class="table table-striped">
                <thead>
                    <tr>
                        <th>Region</th>
                        <th style="text-align:right;">Latest Price</th>
                        <th style="text-align:right;">Last Change</th>
                        <th style="text-align:right;">Cheapest Price</th>
                    </tr>
                </thead>
                <tbody>
                <?php foreach ($history_data as $id => $row): ?>
                <tr>
                    <td><img src="<?=base_url() . "img/site/flags/" . $row['rCode']?>.jpg" alt="Amazon <?=$row['rCode']?>"/>&nbsp;&nbsp;&nbsp;<?=$row['rName']?></td>
                    <td style="text-align:right;"><?=$row['hRecordedPriceFormatted']?>
                    <span class="grey">(<?=(isset($row['hConvertedGbpPriceFormatted'])) ? $row['hConvertedGbpPriceFormatted'] : '-';?>)</span>
                    <br /><span class="small-and-grey"><?=$row['hCreatedFormatted']?></span>
                    </td>
                    <td style="text-align:right;">
                        <?php if ($row['hLastChangeValue'] > 0) echo '<i class="icon-price-up"></i>';?>
                        <?php if ($row['hLastChangeValue'] < 0) echo '<i class="icon-price-down"></i>';?>
                        &pound;&nbsp;<?=($row['hLastChangeValue'] != 0) ? $row['hLastChangeValue'] : '-';?>
                        <span class="grey">(<?=($row['hLastChangePercent'] != 0) ? $row['hLastChangePercent'] . ' %' : '-';?>)</span>
                        <br /><span class="small-and-grey"><?=$row['hLastChangeDateFormatted']?></span>
                    </td>
                    <td style="text-align:right;"><?=$row['hCheapestPriceFormatted']?>
                    <span class="grey">(<?=(isset($row['hCheapestConvertedGbpPriceFormatted'])) ? $row['hCheapestConvertedGbpPriceFormatted'] : '-';?>)</span>
                    <br /><span class="small-and-grey"><?=$row['hCheapestDateFormatted']?></span>
                    </td>
                </tr>
                <?php endforeach; ?>
                </tbody>
            </table>
        </div>

        <!--
        <pre><?php //print_r($history_data);?></pre>
        <div class="tab-pane" id="price_">
        </div>
        -->

    </div>
</div>
<br />
<div class="tab-container">
    <ul class="nav nav-tabs">
      <li class="active">
        <span>Comments</span>
      </li>
    </ul>

    <div class="tabbed-data-container" style="padding-left: 10px; padding-right: 10px;">
<br />
    <div id="disqus_thread"></div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'hugeriver'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
</div>

これが突然機能しなくなる原因を教えてください。

4

0 に答える 0