Ok, here goes:
Requested page (via ajax):
PHP Code:
<?php #Admin delete post
DEFINE("CURPAGE","DELETEPOSTADMIN.php");
session_start();
include("dbc.php");
include("../SL_modules.php");
if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] != 'Admin Sikuneh') {
echo "You do not have permission to view this page";
} else {
$postID = $_GET['id'];
$sth = $dbh->prepare("SELECT * FROM submissions WHERE id = '$postID'");
$sth->execute();
if($sth->columncount() === 0)
echo "Error: Cannot find post.";
else {
try{
$sth2 = $dbh->prepare("UPDATE submissions SET status = '2' WHERE id = '$postID'");
$sth2->execute();
} catch(PDOException $e) {
writeError($e->getMessage(),CURPAGE);
}
try{
echo "Post $postID has been deleted.";
#Problem here
$sth3 = $dbh->query("SELECT submitter FROM submissions WHERE id = '$postID'");
while($row=$sth3->fetch())
$poster = $row['submitter'];
$sth4 = $dbh->query("SELECT id FROM users WHERE username = '$poster'");
while($row=$sth4->fetch())
$posterID = $row['id'];
$mailMessage = "Your post has been deleted by the administrator.";
$mailSubject = "Post deleted";
$sth4 = $dbh->exec("INSERT INTO mail(id,toUser,'from',subject,message,date,read) VALUES(0,'$posterID','10','$mailSubject','$mailMessage',now(),0)");
} catch(PDOException $e) {
writeError($e->getMessage(),CURPAGE);
}
}
}
?>
Page that calls the Ajax:
PHP Code:
<?php if(!isset($_SESSION['admin_login'])) { ?>
You do not have permission to view this page
<?php } else {?>
include("dbc.php");
<h2 style="margin-top:0; padding-top:5px;">Administration for Submission Lore</h2>
<style type="text/css">
table#admin_entries a:link,
table#admin_entries a:visited
{
color:#FFF;
}
</style>
<script type="text/javascript">
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
function confirmEntry(id,box){
request = createRequest();
var url= 'inc/admin/addEntry.php?id='+id+'&&session=Admin Sikuneh&&sid='+Math.random();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById(box).innerHTML = request.responseText;
setTimeout("updateStatus()",5000);
}
}
}
request.open("GET", url, true);
request.send(null);
}
function deleteEntry(id,box){
request = createRequest();
var url= 'inc/admin/deletePostAdmin.php?id='+id+'&&session=Admin Sikuneh&&sid='+Math.random();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById(box).innerHTML = request.responseText;
setTimeout("updateStatus()",5000);
}
}
}
request.open("GET", url, true);
request.send(null);
}
function restoreEntry(id,box){
request = createRequest();
var url = 'inc/admin/restorePostAdmin.php?id='+id+'&&session=Admin Sikuneh&&sid='+Math.random();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById(box).innerHTML = request.responseText;
setTimeout("updateStatus()",5000);
}
}
}
request.open("GET", url, true);
request.send(null);
}
function placeOnHold(id,box) {
request = createRequest();
var url = 'inc/admin/onHold.php?id='+id+'&&session=Admin Sikuneh&&sid='+Math.random();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById(box).innerHTML = request.responseText;
setTimeout("updateStatus()",5000);
}
}
}
request.open("GET", url, true);
request.send(null);
}
function updateStatus(){
request = createRequest();
var url= 'inc/admin/admin_checkentries2.php?sid='+Math.random();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
document.getElementById("place").innerHTML = request.responseText;
}
}
}
request.open("GET", url, true);
request.send(null);
}
window.onload=updateStatus;
</script>
<div id="place" style="width:100%"></div>
<h2>Most recent errors:</h2>
<div style="font-size:10px;">
<?php
include("Logs/errors.log");
?>
</div>
<?php } ?>
Database connection page (dbc.php):
PHP Code:
<?php
$host = "localhost";
$dbname = dbname;
$username = dbusername;
$password = dbpassword;
try
{
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e)
{
print ("Could not connect to server.\n");
writeError($e->getMessage());
}
?>
Module which is giving trouble:
PHP Code:
include("dbc.php");
# Error write script
function writeError($error,$page) {
if($page == null)
$page = "INDEX.PHP";
# Get the current date
$date = date('r');
# Where, when and what
$logstring = "Error on page $page at line $location on $date ERROR: $error\n";
# Open the file
$fp = fopen("http://sikuneh.x10hosting.com/Logs/errors.log",'a');
# Write to it
fwrite($fp,$logstring);
# Close
fclose($fp);
$closingString = "Error with script. The webmaster has already been notified.";
echo $closingString;
$sth = $dbh->prepare("INSERT INTO mail VALUES(0,:T,:F,:S,:M,now(),0)");
$sth->bindValue(":T",'10');
$sth->bindValue(":F",'10');
$sth->bindValue(":S",'Error(s)');
$sth->bindValue(":M",$logstring);
$sth->execute();
}
I would like to give you a live URL but this is on the admin page and it would take me a day or two to recreate an example. Yes it is the same error. GL.