Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: fwrite () - в чем ошибка?
Форумы портала PHP.SU » PHP » Программирование на PHP » fwrite () - в чем ошибка?

Страниц (1): [1]
 

1. user123 - 23 Марта, 2009 - 11:51:52 - перейти к сообщению
$fp = fopen("$DOCUMENT_ROOT/orders/orders.txt", "a", 1); //файл создается нормально

fwrite ($fp, $outputstring); //пытаюсь записать в него данные выдает Notice: Undefined variable: outputstring in C:\wamp\www\processorder.php on line 68

$outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
.$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
fclose($fp);
2. Champion - 23 Марта, 2009 - 12:36:18 - перейти к сообщению
И где ошибка?
3. Andrey2005 - 23 Марта, 2009 - 12:44:51 - перейти к сообщению
Сначала это кусок кода должен идти,
PHP:
скопировать код в буфер обмена
  1. $outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
  2. .$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
  3. fclose($fp);

а затем

Так у вас ?
А так должно быть
PHP:
скопировать код в буфер обмена
  1. $fp = fopen("$DOCUMENT_ROOT/orders/orders.txt", "a", 1);
  2. $outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
  3. .$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
  4. fwrite ($fp, $outputstring);
  5. fclose($fp);
4. user123 - 23 Марта, 2009 - 12:47:27 - перейти к сообщению
Поставил

$outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
.$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
fclose($fp);

вперед - тоже самое.
Notice: Undefined variable: date in C:\wamp\www\processorder.php on line 62
Notice: Undefined variable: total in C:\wamp\www\processorder.php on line 63
Notice: Undefined variable: address in C:\wamp\www\processorder.php on line 63

по всем трем строкам.

Может в php.ini запреты стоят на запись?
5. Andrey2005 - 23 Марта, 2009 - 12:52:49 - перейти к сообщению
А весь кусок кода увидеть можно?
Это где последовательность кода неправильная, ИМХО.
6. user123 - 23 Марта, 2009 - 12:56:46 - перейти к сообщению
Andrey2005 пишет:
А весь кусок кода увидеть можно?
Это где последовательность кода неправильная, ИМХО.

Андрей - респект вам.
Поменял местами, как вы говорили, в файл стали записи вноситься. Спасибо.
Только ошибку продолжает выдавать - видимо тут ошибки.

CODE (text):
скопировать код в буфер обмена
  1. $outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
  2. .$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
  3.  
  4. Notice: Undefined variable: outputstring in C:\wamp\www\processorder.php on line 62
  5. Notice: Undefined variable: date in C:\wamp\www\processorder.php on line 63
  6. Notice: Undefined variable: total in C:\wamp\www\processorder.php on line 64
  7. Notice: Undefined variable: address in C:\wamp\www\processorder.php on line 64


А кусок кода вот.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo "<p>Ваш заявка принята в&nbsp;";
  3. echo date ("H:i, j.n.Y");
  4. echo "<br>";
  5. echo "<p>Вы закали следующее:";
  6. echo "<br>";
  7. echo $tireqty. " tires<br>";
  8. echo $oilqty. " bottles of oil<br>";
  9. echo $sparkqty. " spark plugs<br>";
  10. $totalqty = 0;
  11. $totalamount = 0.00;
  12. define("TIREPRICE", 100);
  13. define("OILPRICE", 10);
  14. define("SPARKPRICE", 4);
  15. $totalqty = $tireqty + $oilqty + $sparkqty;
  16. $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE
  17. + $sparkqty * SPARKPRICE;
  18. $totalamount = number_format($totalamount, 2);
  19. echo "<br>\n";
  20. echo "Items ordered: ".$totalqty."<br>\n";
  21. echo "Subtotal: $".$totalamount."<br>\n";
  22. $taxrate =0.10; // местный налог с продаж составляет 10%
  23. $totalamount = $totalamount * (1 + $taxrate);
  24. $totalamount = number_format($totalamount, 2) ;
  25. echo "Total including tax: $".$totalamount."<br>\n";
  26. if($totalqty == 0 )
  27. {
  28. echo "<font color=red>";
  29. echo "You did not order anything on the previous page!<br>";
  30. echo "</font>";
  31.  
  32. }
  33. else
  34. {
  35. if ( $tireqty>0 )
  36. echo $tireqty." tires<br>";
  37. if ( $oilqty>0 )
  38. echo $oilqty." bottles of oil<br>";
  39. if ( $sparkqty>0 )
  40. echo $sparkqty." spark plugs<br>";
  41. }
  42. if( $tireqty < 10 )
  43. $discount = 0;
  44. elseif ( $tireqty >= 10 && $tireqty <= 49 )
  45. $discount = 5;
  46. elseif ( $tireqty >= 50 && $tireqty <= 99 )
  47. $discount = 10;
  48. elseif( $tireqty > 100 )
  49. $discount = 15;
  50.  
  51. $fp = fopen("$DOCUMENT_ROOT/orders/orders.txt", "a", 1);
  52. fwrite ($fp, $outputstring);
  53. $outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
  54. .$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
  55. fclose($fp);
  56. ?>
7. Champion - 23 Марта, 2009 - 12:59:15 - перейти к сообщению
Уважаемые! Там же написано Notice. Это не ошибка. И дальше написано, что просто переменная, которая участвует в операции не имеет значения. Вот и всё!
Автор, посмотри, есть ли в коде место, где инициализируются эти переменные. Если ты видишь это замечание (notice), вполне возможно, что на самом деле всё идет как надо. Ты проверял, файлы создаются?
// Сообщение не помню кого про php.ini удалил, т.к. оно было написано по неизвестной мне причине
(Добавление)
Champion пишет:
fwrite ($fp, $outputstring);
$outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t"
.$sparkqty." spark plugs\t\$".$total."\t".$address."\n";
Думай сюда
8. user123 - 23 Марта, 2009 - 13:01:04 - перейти к сообщению
Да - записи в файл вносятся - спасибо за вашу совместную помощь.
9. Andrey2005 - 23 Марта, 2009 - 13:09:32 - перейти к сообщению
Переменные date, total, address нигде неиспользуются, зачем они там ? Удалить их и не будет нотисов
10. user123 - 23 Марта, 2009 - 13:30:03 - перейти к сообщению
Ок. Еще раз благодарю.
11. Гость - 23 Марта, 2009 - 15:42:19 - перейти к сообщению
Цитата:
fwrite ($fp, $outputstring);
$outputstring = $date."\t".$tireqty." tires \t".$oilqty." oil\t";
Это вам не буферизированный код
На момент попытки записи в дескриптов переменная еще не создана!!!
Будьте внимательны и следите в каком порядке вы создаете и объяаляете переменные

 

Powered by ExBB FM 1.0 RC1