Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: Script do not work properly on Windows server/On linux works |
|
Author |
|
bovcan
Joined: 15 Dec 2009 Posts: 19 Location: Slovenia
|
Posted: Wed 06 Jan '10 20:39 Post subject: Script do not work properly on Windows server/On linux works |
|
|
I have strange problem with website page/php script.
on Windows is not working all corectly.
I get some errors when something must wrote into database(Mysql)
Then I try the same script on VM on system CentOS 5.3(host is Windows 7) and this script is working just fine.
I just do not get it why on Windows is not working as on VMachine?
The addad.php file where errors are on Windows Server:
Code: | <?
if(!defined("ADMIN_PROCESS")) { exit(); }
$ref_title = "Upgrade Settings";
if($admin_loggedin)
{
function filter_data($val)
{
return htmlentities($val,ENT_QUOTES);
}
if($_POST)
{
$post=array_map("filter_data",$_POST);
mysql_query("INSERT INTO ad_packages (id,clicks,price)
VALUES ('', '{$post['clicks']}', '{$post['price']}');") or die (mysql_error());
$contents .= "<br /><br /><br /><br /><p>Ad Package Added.</p>";
} else {
$contents .= "
<br /><br /><br /><br />
<center>
<form method='post'>
<table width=50% style='border:1px solid black'; cellspacing='0px';'>
<th align='center' colspan='2' style='border-bottom:1px solid black; background-color: #3799e5;'><font color='white'>Add New Package</font></th>
<tr class='menu1'>
<td align='center' style='border-bottom:1px solid black; border-right:1px solid black;'>Clicks:</td>
<td align='center' style='border-bottom:1px solid black;'><input type='text' name='clicks' value=''></td>
</tr>
<tr class='menu2'>
<td align='center' style='border-bottom:1px solid black; border-right:1px solid black;'>Price:</td>
<td align='center' style='border-bottom:1px solid black;'>$<input type='text' name='price' value=''></td>
</tr>
<tr>
<td align='center' colspan='2' style='background: #FFFFFF;'><input type='submit' value='Add Ad Package'></td>
</tr>
</table>
</form></center>";
}
} else {
header("Location: index.php");
}
?>
<style>
tr.menu1:hover
{
background-color:#eeff30;
}
tr.menu2:hover
{
background-color:#eeff30;
}
tr.menu1
{
background-color:#FFFFFF;
}
tr.menu2
{
background-color:#dddddd;
}
</style> |
When I click ADD AD Package this error come on a next blank page:
Field 'orderid' doesn't have a default value
In this adcategories.php file nothing happen. If I click on "Add new"(category), popup show up for enter the category name, then another popup report that Advertisment Category was added. But there are no Categories.
Code: | <?
if(!defined("ADMIN_PROCESS")) { exit(); }
$ref_title = "Advertisement Categories";
if($admin_loggedin)
{
$contents .= "<center><br /><br /><br /><br />";
if($_GET['delete'] && !$gen3demo)
{
mysql_query("DELETE FROM ad_catagories WHERE ac_id='{$_GET['delete']}' LIMIT 1;");
mysql_query("UPDATE ads SET aCatagory='1' WHERE aCatagory='{$_GET['delete']}' LIMIT 1;");
$contents .= "<p>Advertisement Category Deleted</p>";
} else {
$q = mysql_query("SELECT * FROM ad_catagories WHERE ac_draft=0");
$contents .= "<center><a href='javascript:;' onclick='addNewCatagory();'>Add New</a><br /><br />
<table width=50% style='border:1px solid black'; cellspacing='0px';'>
<th align='center' colspan='2' style='border-bottom:1px solid black; background-color: #3799e5;'><p><font color='white'>Advertisement Categories</font></p></th>
<tr>
<td align='center' style='border-bottom:1px solid black; border-right:1px solid black; background-color: #3799e5;'><p><font color='white'><b>Ad Category Name</b></font></p></td>
<td align='center' style='border-bottom:1px solid black; background-color: #3799e5;'><p><font color='white'><b>Delete</b></font></p></td>
</tr>";
$count = 0;
while($r=mysql_fetch_array($q))
{
if($count % 2 == 0 || $count == 0) {
$contents .= "<tr class='menu1'>
<td align='center' style='border-right:1px solid black;'>{$r['ac_name']}</td>
<td align='center'><a href='?action=adcatagories&delete={$r['ac_id']}'>Delete</a></td>
</tr>";
} else {
$contents .= "<tr class='menu2'>
<td align='center' style='border-right:1px solid black;'>{$r['ac_name']}</td>
<td align='center'><a href='?action=adcatagories&delete={$r['ac_id']}'>Delete</a></td>
</tr>";
}
$count++;
}
$contents .= "</table></center>";
}
} else {
header("Location: index.php");
}
?>
<style>
tr.menu1:hover
{
background-color:#eeff30;
}
tr.menu2:hover
{
background-color:#eeff30;
}
tr.menu1
{
background-color:#FFFFFF;
}
tr.menu2
{
background-color:#dddddd;
}
</style> |
This a par of js.php file. I guess it is for addcategories.php.
Code: |
<?php
if(!defined("ADMIN_PROCESS")) { exit(); }
$stop_ei = true;
header("Content-type: text/javascript");
if($_GET['check'] == "newcat" and $_GET['name'] and $admin_loggedin && !$gen3demo)
{
mysql_query("INSERT INTO ad_catagories VALUES ('', '{$_GET['name']}', '0', '5');");
?>
alert('Advertisement Catagory Added'); |
I do not get it why this script is working just fine on Linux server, with default configuration.
Regards |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Thu 07 Jan '10 0:15 Post subject: |
|
|
At the very top of your scripts after <?php add
Code: |
ini_set("display_errors",1);
error_reporting(E_ALL);
|
Also so might enable the php error logging in php.ini
Code: |
error_reporting = E_ALL & ~E_NOTICE
log_errors = On
error_log = php_errors.log
|
Without an error message it is hard to guess. |
|
Back to top |
|
bovcan
Joined: 15 Dec 2009 Posts: 19 Location: Slovenia
|
Posted: Thu 07 Jan '10 23:05 Post subject: |
|
|
If I add this in php.ini - error_log = php_errors.log apache do not start.
I add this code in addad.php
Code: | ini_set("display_errors",1);
error_reporting(E_ALL); |
And I get this errors:
Notice: Undefined variable: contents in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\addad.php on line 42
Notice: Undefined variable: stop_ei in L:\SERVER\Apache2.2\htdocs\WEB\admin\index.php on line 47
Notice: Undefined variable: stop_ei in L:\SERVER\Apache2.2\htdocs\WEB\admin\index.php on line 49
Notice: Undefined variable: HTTP_REFERRER in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
Notice: Undefined variable: ir in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
ERROR LINES:
Code: |
addad.php on line 42
[b]</form></center>";[/b]
index.php on line 47
[b]if(!$stop_ei) { include_once("pre/header.php"); }[/b]
index.php on line 49
[b]if(!$stop_ei) { include_once("pre/footer.php"); }[/b]
footer.php on line 19
[b]mail($set['contact_email'],"Hack Alert","There's been a SQL Injection hacking attempt. $HTTP_REFERRER $REMOTE_ADDR","FROM:".$ir['email']);[/b] |
-------------------------------------------------------------------------------------
I add this code in adcategories.php
Code: | ini_set("display_errors",1);
error_reporting(E_ALL); |
And I get this errors:
Notice: Undefined variable: contents in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\adcatagories.php on line 8
Notice: Undefined index: delete in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\adcatagories.php on line 9
Notice: Undefined variable: stop_ei in L:\SERVER\Apache2.2\htdocs\WEB\admin\index.php on line 47
Notice: Undefined variable: stop_ei in L:\SERVER\Apache2.2\htdocs\WEB\admin\index.php on line 49
THIS ARE THE SAME
Notice: Undefined variable: HTTP_REFERRER in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
Notice: Undefined variable: ir in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in L:\SERVER\Apache2.2\htdocs\WEB\admin\pre\footer.php on line 19
ERROR LINES:
Code: |
adcatagories.php on line 8
[b]$contents .= "<center><br /><br /><br /><br />";[/b]
adcatagories.php on line 9
[b]if($_GET['delete'] && !$gen3demo)[/b]
\index.php on line 47
[b]if(!$stop_ei) { include_once("pre/header.php"); }[/b]
|
----------------------------------------------------------------------------------- |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Thu 07 Jan '10 23:49 Post subject: |
|
|
Your script breaks / stops because your script can't send a mail. No connection to the mail server.
Since you said it works on linux, but not on windows. On Linux php can use sendmail to send mails, but on windows you have to run a mail server.
Code: |
Failed to connect to mailserver at "localhost" port 25
|
|
|
Back to top |
|
bovcan
Joined: 15 Dec 2009 Posts: 19 Location: Slovenia
|
Posted: Fri 08 Jan '10 10:07 Post subject: |
|
|
Ok, will try to setup mail server on windows.
Do you suggest witch mail server is OK? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Fri 08 Jan '10 14:40 Post subject: |
|
|
I prefer Mercury Mail Transport System. Other people like other mail servers |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Fri 08 Jan '10 14:47 Post subject: |
|
|
You should try to change your scripts that they don't stop executing if there is no mail, but display an error message like
Code: |
<?php
if( ! mail($to,$subject,$message) ){
echo 'Whoops failed to send mail';
}
|
|
|
Back to top |
|
|
|
|
|
|