I am pretty new to "advanced PHP", and I keep coming across an error with PHP headers.
<?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>';
}
?>
I keep getting a PHP Header error at the bottom for /identity/transactions.
I realise that I am getting the problem because the "page has already loaded content", and a PHP Header must be used at the start of the page. The following snippet I posted is a file which is included; in the main file.
The main problem is, I am looking for a way to separate the content from the "backend" php work.
So for example:
The main PHP file has all the code, and the include(); file has the "content" side.
Is there any way that this is possible? If you could give an example, that would be great!
Please let me know if something is unclear to you.
EDIT; This is the WHOLE file:
<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>