我对“高级 PHP”很陌生,而且我一直遇到 PHP 标头错误。
<?php
$getTrans = dbquery("SELECT * FROM cms_transactions WHERE userid = '".USER_ID."' AND pin = '0' ORDER BY date DESC LIMIT 50");
$oe = 1;
while($transaction = mysql_fetch_assoc($getTrans)){
if ($oe == 2)
{
$oe = 1;
}
else
{
$oe = 2;
}
$oDate = strtotime($transaction['date']);
$sDate = date("<b>l, j - F, o</b> g:ha",$oDate);
echo'
<tr style=" background-color: ' . (($oe == 2) ? '#e2e2e2' : '#fff') . ';">
<td>'.$transaction['id'].'</td>
<td>'.$transaction['descr'].'</td>
<td>'.$transaction['credits'].' deducted</td>
<td>'.$transaction['amount'].' deducted</td>
<td>'.$transaction['vip_points'].' deducted</td>
<td>'.$sDate.'</td>
<td><input type="submit" value="+ Pin" name="'.$transaction['id'].'" /></td>
</tr>
';
$trans = $transaction['id'];
if(isset($_POST["$trans"])){
dbquery("UPDATE cms_transactions SET pin = '1' WHERE id = '".$trans."' AND userid = '".USER_ID."' LIMIT 1");
header("Location: ".WWW."/identity/transactions");
}
}
if(mysql_num_rows($getTrans) == 0){
echo '<div class="error" id="black">You have no recent Transactions</div>';
}
?>
我不断在 /identity/transactions 的底部收到 PHP Header 错误。
我意识到我遇到了问题,因为“页面已经加载了内容”,并且必须在页面的开头使用 PHP Header。我发布的以下片段是一个包含的文件;在主文件中。
主要问题是,我正在寻找一种将内容与“后端”php 工作分开的方法。
例如:
主 PHP 文件包含所有代码,以及 include(); 文件有“内容”的一面。
有什么办法可以做到这一点?如果你能举个例子,那就太好了!
如果您有不清楚的地方,请告诉我。
编辑; 这是整个文件:
<table class="information-table" style="margin-top:-5px;">
<tr>
<td style="text-shadow:none;">
<a class="new-button" href="<?php echo WWW ; ?>/account/logout"><b>Log out</b><i></i></a>
<div id="back-link" style="color:#fff;">
<a href="<?php echo WWW ; ?>/identity/avatars" style="color:#fff;">My Avatars</a> » <a href="<?php echo WWW ; ?>/identity/settings" style="color:#fff;">Account Settings</a> » Transactions
</div>
</td></tr>
</table>
<div id="column1" class="column" style="width:960px;margin-right:10px;">
<h1>Account Transactions:</h1>
<h3>Pinned Transactions:</h3>
<i>Pinning a transaction is useful if you have a transaction that is important; that you might need in the future!</i>
<p>
<table>
<thead>
<tr><td>ID</td><td>Description</td><td>Credits</td><td>Pixels</td><td>Stars</td><td>Purchase Date</td><td></td></tr>
</thead>
<tbody>
<form method="post">
<?php
$getTrans = dbquery("SELECT * FROM cms_transactions WHERE userid = '".USER_ID."' AND pin = '1' ORDER BY date DESC LIMIT 100");
$oe = 1;
while($transaction = mysql_fetch_assoc($getTrans)){
if ($oe == 2)
{
$oe = 1;
}
else
{
$oe = 2;
}
$oDate = strtotime($transaction['date']);
$sDate = date("<b>l, j - F, o</b> g:ha",$oDate);
$transs = $transaction['id'];
if(isset($_POST["un$transs"])){
dbquery("UPDATE cms_transactions SET pin = '0' WHERE id = '".$transs."' AND userid = '".USER_ID."' LIMIT 1");
header("Location: ".WWW."/identity/transactions");
}
echo'
<tr style=" background-color: ' . (($oe == 2) ? '#e2e2e2' : '#fff') . ';">
<td>'.$transaction['id'].'</td>
<td>'.$transaction['descr'].'</td>
<td>'.$transaction['credits'].' deducted</td>
<td>'.$transaction['amount'].' deducted</td>
<td>'.$transaction['vip_points'].' deducted</td>
<td>'.$sDate.'</td>
<td><input type="submit" value="- Pin" name="un'.$transaction['id'].'" /></td>
</tr>
';
}
if(mysql_num_rows($getTrans) == 0){
echo '<div class="error" id="black">You have no Pinned Transactions</div>';
}
?>
</form>
</tbody>
</table>
</p>
<h3>Recent Transactions</h3>
<p>
<table>
<thead>
<tr><td>ID</td><td>Description</td><td>Credits</td><td>Pixels</td><td>Stars</td><td>Purchase Date</td><td></td></tr>
</thead>
<tbody>
<form method="post">
<?php
$getTrans = dbquery("SELECT * FROM cms_transactions WHERE userid = '".USER_ID."' AND pin = '0' ORDER BY date DESC LIMIT 50");
$oe = 1;
while($transaction = mysql_fetch_assoc($getTrans)){
if ($oe == 2)
{
$oe = 1;
}
else
{
$oe = 2;
}
$oDate = strtotime($transaction['date']);
$sDate = date("<b>l, j - F, o</b> g:ha",$oDate);
$trans = $transaction['id'];
if(isset($_POST["$trans"])){
dbquery("UPDATE cms_transactions SET pin = '1' WHERE id = '".$trans."' AND userid = '".USER_ID."' LIMIT 1");
header("Location: ".WWW."/identity/transactions");
}
echo'
<tr style=" background-color: ' . (($oe == 2) ? '#e2e2e2' : '#fff') . ';">
<td>'.$transaction['id'].'</td>
<td>'.$transaction['descr'].'</td>
<td>'.$transaction['credits'].' deducted</td>
<td>'.$transaction['amount'].' deducted</td>
<td>'.$transaction['vip_points'].' deducted</td>
<td>'.$sDate.'</td>
<td><input type="submit" value="+ Pin" name="'.$transaction['id'].'" /></td>
</tr>
';
}
if(mysql_num_rows($getTrans) == 0){
echo '<div class="error" id="black">You have no recent Transactions</div>';
}
?>
</form>
</tbody>
</table>
</p>
</div>
<style>
td {
padding:10px;
}
tbody td {
text-shadow:0 1px 0 #fff;
}
thead td {
font-weight:bold;
text-align:center;
}
</style>