有高手没 我的出错了 求教
php吧
全部回复
仅看楼主
level 3
2013年05月04日 05点05分 1
level 3
<html>
<head>
<title>Bob's Auto parts -Order Results</title>
</head>
<body>
<h1>Bob's Auto parts</h1>
<h2>Order Results</h2>
<?php
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
$address = $_POST['address'];
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
$totalamount = 0.00;
echo "<p>Order processed at".date('H:i, js F Y')."</p>";
echo '<p>Your order is as follows:</p>';
echo "Items ordered: ".$totalqty."<br/>";
if($totalqty == 0)
{
echo "You did not order anything on the previous page!<br/>";
}
else
{
if($tireqty > 0)
{
echo $tireqty." tires<br/>";
}
if($oilqty)
{
echo $oilqty." bottles of oil<br/>";
}
if($sparkqty)
{
echo $sparkqty." spark plugs<br/>";
}
}
define('TIREPRICE', 100);
define('OILPRICE', 10);
define('SPARKPRICE', 4);
$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;
$totalamount = number_format($totalamount, 2, '.', ' ');
echo "<p>Total of order is $".$totalamount."</p>";
echo "<p>Address to ship to is ".$address."</p>";
$outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t".$sparkqty." spark plugs\t\$".$totalamount."\t".$address."\n";
@ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
flock($fp, LOCK_EX);
if(!$fp)
{
echo "<p><strong>Yout order could not be processed at this time. Please try again later.</stong></p></body></html>";
exit;
}
fwrite($fp, $outputstring, strlen($outputstring));
flock($fp, LOCK_UN);
fclose($fp);
echo "<p>Order written.</p>";
?>
</body>
</html>
2013年05月04日 05点05分 2
level 3
求解
2013年05月04日 08点05分 3
level 1
2013年05月04日 08点05分 4
level 3

2013年05月04日 11点05分 5
level 3
?
2013年05月04日 12点05分 6
level 9
出什么错也不说。谁知道怎么回答你啊
2013年05月04日 13点05分 7
level 7
从你的出错语句以及你自己的错误处理语句可以看出
@ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
这句执行后
1.$fp是一个bool类型的值 而不是文件句柄
2.$fp为false
我查了下fopen函数 手册上说 如果该函数执行失败 会返回null 而null可以自动转换为false 这个就说明是你的fopen执行出错了 你最好看看这个函数的mode参数
2013年05月04日 15点05分 8
我把$DOCUMENT_ROOT/../orders/这去掉后就成功了 不知道为什么
2013年05月05日 01点05分
回复 回忆怎么掩 :那可能是$DOCUMENT_ROOT的问题吧 你打印出来看看?
2013年05月06日 12点05分
1