Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapisem do pliku txt
Forum PHP.pl > Forum > PHP
Meduz
Witam tak więc raczkuję w PHP jestem w trakcie nauki i mam pewien problem... próbuję zapisywać dane do pliku txt i oczywiście nie udaje mi się to...

OTO KOD:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Części samochodowe janka - wyniki zamówienia</title>
  6. </head>
  7. <body>
  8. <h1> Części Samochodowe Janka</h1>
  9. <h2> Wyniki zamówienia</h2>
  10. </body>
  11. <?php
  12. $iloscopon = $_POST['iloscopon'];
  13. $iloscoleju = $_POST['iloscoleju'];
  14. $iloscswiec = $_POST['iloscswiec'];
  15. $jak = $_POST['jak'];
  16. $wp;
  17. $cenanetto;
  18. $cenabrutto;
  19. $zamowienia;
  20.  
  21. echo '<p>Zamówienie przujęte o ' .date ('H:i , jS F Y') . '</p>' ;
  22. echo '<p>Państwa zamówienie wygląda następująco: </p>';
  23. echo $iloscopon. ' opon<br>';
  24. echo $iloscoleju. ' butelek oleju<br>';
  25. echo $iloscswiec. ' swiec<br>';
  26.  
  27.  
  28. $ilosc = 0;
  29. $ilosc = $iloscopon + $iloscoleju + $iloscswiec ;
  30. echo 'zamówionych części: '.$ilosc.'<br>';
  31.  
  32. $wartosc = 0.00;
  33.  
  34. define("CENAOPON", 100);
  35. define("CENAOLEJU", 10);
  36. define("CENASWIEC", 4);
  37.  
  38. $wartosc = $iloscopon * CENAOPON
  39. + $iloscoleju * CENAOLEJU
  40. + $iloscswiec * CENASWIEC;
  41. echo 'cena netto: '.number_format($wartosc, 2). ' PLN<br>';
  42. $stawkavat = 0.22;
  43. $wartosc = $wartosc * (1 + $stawkavat);
  44.  
  45. echo 'Cena brutto wynosi: '.number_format($wartosc, 2). ' PLN<br>';
  46. $stawka = 1.22;
  47.  
  48.  
  49.  
  50. if ($ilosc == 0){
  51. echo '<p style= "color:red">';
  52. echo 'Nie wpisaleś liczby zamawianych rzeczy';
  53. echo '</p>';
  54.  
  55. }
  56. if ($iloscopon < 10){
  57. $znizka = 0;
  58. }
  59. elseif($iloscopon >=10 && $iloscopon <=49){
  60. $znizka = 5;
  61. }
  62. elseif($iloscopon >=50 && $iloscopon <=99){
  63. $znizka = 10;
  64. }
  65. elseif($iloscopon >100){
  66. $znizka = 15;
  67. }
  68. if ($znizka >0){
  69. echo 'znizka wynosi: '.$znizka. '%<br>';
  70. }
  71. elseif ($znizka < 5){
  72. echo 'kupiono mniej niż 10 opon - brak zniżki <br>';
  73. }
  74. echo "Dowiedziałem się przez: ";
  75. if ($jak == "a") {
  76. echo "Stały klient";
  77. } elseif ($jak = "b") {
  78. echo "Reklama telewizyjna";
  79. } elseif ($jak = "c") {
  80. echo "Książka telefoniczna";
  81. } elseif ($jak = "d") {
  82. echo "Znajomy";
  83. }
  84. $zamowienia= "ilość opon ".$iloscopon."\t ilość świec ".$iloscswiec." \t ilość oleju ".$iloscoleju."\t Dowiedział się po przez: ".$jak."\t Cena brutto: ".$wartosc."----------------------------------------------------------------------------------------------------------------------";
  85.  
  86. @ $wp = fopen("$DOCUMENT_ROOT/../zamowienia.txt",'a');
  87.  
  88. if(!$wp){
  89. echo 'w tej chwili nie mozna zglosic zamowienia sproboj pozniej';
  90. }
  91.  
  92.  
  93. fwrite($wp, $zamowienia, strlen($zamowienia));
  94. fclose($wp);
  95. ?>
  96. </html>
  97.  
qrzysztof
Co konkretnie nie działa?

-plik się nie tworzy?
-dane się nie zapisują w pliku?
-zapisują się złe?
Meduz
Plik jest stworzony natomiast dane nie zapisują się do niego
qrzysztof
No to najwyraźniej problem jest poza tym plikiem - czyli tam gdzie masz formularz.

  1. $iloscopon = $_POST['iloscopon'];
  2. $iloscoleju = $_POST['iloscoleju'];
  3. $iloscswiec = $_POST['iloscswiec'];
  4. var_dump($_POST); #powinno wyświetlić dane wejściowe, jeśli nie wyświetli to problem z danymi wejściowymi


Przypuszczalnie może to być atrybut "action" formularza, który ma wskazywać na plik, którego kod wkleiłeś.
Meduz
Ok naprawione biggrin.gif Dzięki za pomoc


Kolejny problem tym razem nie znajduje mi pliku zamowienia.txt gdy próbuje je otworzyć

KOD

  1. <?php
  2.  
  3. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
  4.  
  5.  
  6. $zamowienia = file("$DOCUMENT_ROOT/../zamowienia.txt");
  7. $ilosc_zmowien = count($zamowienia);
  8. if ($ilosc_zamowien == 0) {
  9. echo "Brak zamówień";
  10.  
  11. }
  12.  
  13. for ($i=0; $i < ilosc_zamowien; $i++) {
  14. echo $zamowienia[$i]. "<br>";
  15. }
  16. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.