Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] nie widzi pliku
Forum PHP.pl > Forum > PHP
shpaque
Witam, mam jeszcze jeden problem - trochę nagmatwałem, ale to przez moją lichą znajomość php...

oto początek pliku:

  1. <?php
  2. if (isset($_SESSION['username']))
  3. {
  4. $uzytkownik = $_SESSION['username'];
  5. }
  6. else
  7. {
  8. $uzytkownik = Niezalogowany;
  9. }
  10. $user = $_GET['user'];
  11. $ulogdates = array();
  12. $uimies = array();
  13. $unazwiskos = array();
  14. $uplecs = array();
  15. $ubirths = array();
  16. $uklubowiczs = array();
  17. $uactivs = array();
  18. $database = "./../db/users.db";
  19. $count = 0;
  20. $kodindex = -1;
  21.  
  22. $items = file($database);
  23. foreach($items as $line)
  24. {
  25. list($uip, $ulogdate, $uusername, $upass, $uimie, $unazwisko, $uplec, $ubirth, $umail, $utel, $uklubowicz, $uactiv) = explode('|', trim($line));
  26.  
  27. $ulogdates[$count] = $ulogdate;
  28. $uimies[$count] = $uimie;
  29.  
  30. ...
  31.  
  32. <?php
  33. $base = "./../db/profile/$user/rekordy.db";
  34. $items = file($base);
  35. $last = count($items)-4;
  36. for($i = $last; $i > $last - 1; $i--)
  37. {
  38. list($m25, $m50, $m100, $m200, $m400, $m800) = explode('|', $items[$i]);
  39. }
  40. ?>
  41. <?php
  42. $base = "./../db/profile/$user/rekordy.db";
  43. $items = file($base);
  44. $last = count($items)-3;
  45. for($i = $last; $i > $last - 1; $i--)
  46. {
  47. list($g25, $g50, $g100, $g200, $g400, $g800) = explode('|', $items[$i]);
  48. }
  49. ?>
  50. <?php
  51. $base = "./../db/profile/$user/rekordy.db";
  52. $items = file($base);
  53. $last = count($items)-2;
  54. for($i = $last; $i > $last - 1; $i--)
  55. {
  56. list($k25, $k50, $k100, $k200, $k400, $k800) = explode('|', $items[$i]);
  57. }
  58. ?>
  59. <?php
  60. $base = "./../db/profile/$user/rekordy.db";
  61. $items = file($base);
  62. $last = count($items)-1;
  63. for($i = $last; $i > $last - 1; $i--)
  64. {
  65. list($d25, $d50, $d100, $d200, $d400, $d800) = explode('|', $items[$i]);
  66. }
  67. ?>
  68. <?php
  69. $opisbase = "./../db/profile/$user/opis.db";
  70. $items = file($opisbase);
  71. foreach($items as $line)
  72. {
  73. list($grupa, $opis) = explode('|', trim($line));
  74. }
  75. ?><?php
  76. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  77. {
  78. $action = isset($_POST['action']) ? $_POST['action'] : '';
  79. $folder = $_POST['folder'];
  80. $newopis = $_POST['newopis'];
  81. $dbase = "./../db/profile/$folder/rekordy.db";
  82. $obase = "./../db/profile/$folder/opis.db";
  83. $success_page = './klubowicze.php';
  84.  
  85. if (!file_exists($dbase))
  86. {
  87. echo 'Nie odnaleziono bazy danych!<br>';
  88. }
  89.  
  90. if (!file_exists($obase))
  91. {
  92. echo 'Nie odnaleziono bazy danych!<br>';
  93. }
  94.  
  95. if ($action == 'zmiany')
  96. {
  97. $file = fopen($dbase, 'a');
  98. fwrite($file, $_POST['newm25']);
  99. fwrite($file, '|');
  100. fwrite($file, $_POST['newm50']);
  101. f...
  102. fwrite($file, $_POST['newd800']);
  103. fwrite($file, "\r\n");
  104. fclose($file);
  105.  
  106. $file2 = fopen($obase, 'a');
  107. fwrite($file2, $_POST['newgrupa']);
  108. fwrite($file2, '|');
  109. fwrite($file2, $newopis);
  110. fclose($file2);
  111.  
  112. header('Location: '.$success_page);
  113. }
  114. }
  115. ?>


i tak: jeśli chodzi o czytanie z baz $database i $base - jest ok, problem zaczyna być wtedy, kiedy dam identyczną ścieżkę i przy formularzu (zapisz) wywala, że brak pliku z bazą...

aha formularz wygląda tak:

  1. <form name="zmiany" method="post" action="<?php echo basename(__FILE__); ?>" enctype="multipart/form-data" accept-charset="UTF-8" id="zmiany">
  2. <input type="hidden" name="folder" value="<? echo $user; ?>">
  3. <input type="hidden" name="newopis" value="<? echo $opis; ?>">
  4. <input type="text" id="newm25" name="newm25" value="<? echo $m25; ?>" tabindex="1" autocomplete="off" required="required">
  5. <input type="text" id="newm50" name="newm50" value="<? echo $m50; ?>" tabindex="2" autocomplete="off" required="required">
  6. <input type="text" id="newm100" name="newm100" value="<? echo $m100; ?>" tabindex="3" autocomplete="off" required="required">
  7. ...mplete="off" required="required">
  8. <input type="text" id="newd800" name="newd800" value="<? echo $d800; ?>" tabindex="24" autocomplete="off" required="required">
  9. <input type="text" id="newgrupa" name="newgrupa" value="<? echo $grupa; ?>" tabindex="25" autocomplete="off" required="required">
  10. <button id="reset" type="reset" name="reset" value="Wyczyść">
  11. <div id="wb_uid87"><span id="wb_uid88">Wyczyść</span></div>
  12. </button>
  13. <button id="submit" type="submit" name="submit" value="Zapisz">
  14. <div id="wb_uid89"><span id="wb_uid90"><b>Zapisz zmiany</b></span></div>
  15. </button>
  16. </form>
Raven1122
Dołączając pliki w PHP musisz podać ścieżkę bezwzględną tzn od roota strony
shpaque
ale wszędzie indziej chodzi bez...
markonix
Co za masakryczny kod.

  1. $uzytkownik = Niezalogowany;

Masz stałą "Niezalogowany"?
shpaque
tak, bo strona wyświetla "Witaj, niezalogowany..."


a może po prostu chodzi o to że nie może być
  1. fwrite($file, $_POST['newm25']);
tylko powinno
  1. $newm25 = $_POST['newm25'];
  2. fwrite($file, $newm25);
?
markonix
Nie może Ci wyświetlać bo nie masz nigdzie stałej o nazwie "niezalogowany" - chyba, że to nie cały kod.
Poza tym nie jest niezalogowany, tylko ma nick "niezalogowany", nie sądzisz, że to troszkę głupawe?
Np. założę konto o nicku niezalogowany i co wtedy?

Co do kodu co on w ogóle ma zadanie robić?
shpaque
kod jest pociety bo nie zmiescil sie caly - jesli ktos bedzie mial nick 'niezalogowany' to wyswietli jego nick po prostu - ale osoba ta bedzie wiedziala jaki ma nick prawda? Ktoś inny kto nie jest zalogowany zobaczy po prostu "Witaj, Niezalogowany!"

co ma robić kod?

updateować zmiany, czyli otwiera plik, wyciaga z niego poszczegolne dane z kazdej linijki (sa to rekordy w pływaniu) i wyswietlać je w formularzu w odpowiednich polach.
Po zmianie (lub nie) danych po SUBMIT'cie, ma zapisać nadpisać wszystko do poszczególnych plików spowrotem... zwykly update...
markonix
Nie masz możliwość zrobienia tego na normalnej bazie?
shpaque
na mysql?

nie znam sie na tym zupelnie...
markonix
Na pewno jest to prostsze niż operowanie na plikach jako "baza danych".
shpaque
zauważyłem, bo nikt nie potrafi mi pomóc w tym temacie...
Damonsson
A w czym pomagać? Skoro masz złą ścieżkę to musisz ją poprawić.

1. Podaj strukturę plików/katalogów.
2. Podaj linijkę, która pokazuje złą ścieżkę do pliku.
3. Podaj gdzie w strukturze znajduje się plik z tą linijką.
4. Pokaż kod błędu.
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.