Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zapisywanie danych do plików (chmod?)
Forum PHP.pl > Forum > Przedszkole
KMO
Napisałem dzisiaj skrypt składający się z dwóch plików. Właściwie ten drugi plik to tylko baza do przechowywania informacji wprowadzonych do formularza, który znajduje się w pliku pierwszym. Na serwerze lokalnym wszystko działa idealnie, problem pojawił się gdy zuploadowałem te pliki na serwer i okazało się, że informacje w bazie nie są zmieniane. Podejrzewam, że problem leży po stronie chmodów. Nadawałem już 777 i 666 niestety bez efektów. Czy jest jakieś wyjście z tej sytuacji?

To kod pliku konfiguracja.php
  1. <?php
  2.  
  3. if(empty($site)  and empty($title)){
  4. include("config.php");    
  5. // prosty formularz zawierający dwa pola
  6. echo '<form action="" method="post">
  7. <table>
  8. <tr><td width="300">Szerokość całej strony: </td><td><textarea type="text" name="site" style="width: 40px; height: 20px;" />'.$site.'</textarea></td></tr>
  9. <tr><td>Szerokość menu: </td><td><textarea type="text" name="menu" style="width: 40px; height: 20px;" />'.$menu.'</textarea></td></tr>
  10. <tr><td>Szerokość diva content (treści strony): </td><td><textarea type="text" name="content" style="width: 40px; height: 20px;" />'.$content.'</textarea></td></tr>
  11. <tr><td>Tytuł strony: </td><td><textarea type="text" name="title" style="width: 300px; height: 20px;">'.$title.'</textarea></td></tr>
  12. <tr><td>Opis strony: </td><td><textarea type="text" name="opis_strony" style="width: 300px; height: 20px;">'.$opis_strony.'</textarea></td></tr>
  13. <tr><td>Autor strony: </td><td><textarea type="text" name="autor_strony" style="width: 300px; height: 20px;">'.$autor_strony.'</textarea></td></tr>
  14. <tr><td>Słowa kluczowe (oddzielone przecinkami): </td><td><textarea type="text" name="keys" style="width: 300px; height: 20px;">'.$keys.'</textarea></td></tr>
  15. <tr><td width="300">Lewy margines treści strony: </td><td><textarea type="text" name="lmts" style="width: 40px; height: 20px;" />'.$lmts.'</textarea></td></tr>
  16. <tr><td width="300">Prawy margines treści strony: </td><td><textarea type="text" name="pmts" style="width: 40px; height: 20px;" />'.$pmts.'</textarea></td></tr>
  17. <tr><td width="300">Lewy margines menu strony: </td><td><textarea type="text" name="lmms" style="width: 40px; height: 20px;" />'.$lmms.'</textarea></td></tr>
  18. <tr><td width="300">Prawy margines menu strony: </td><td><textarea type="text" name="pmms" style="width: 40px; height: 20px;" />'.$pmms.'</textarea></td></tr>
  19. <tr><td><br><input type="submit" value="Zapisz zmiany" /></td><td></td></tr>
  20. </table>
  21. </form>';
  22.  
  23.  
  24. }
  25. else {
  26.  
  27.    //znaczniki php
  28.    $start='<?'."\n";
  29.    $meta='?>'."\n";
  30.    $obszar_menu = $menu-$lmms-$pmms;
  31.    $obszar_tekstu = $content - $lmts - $pmts;
  32.    // dane pochodzące z formularza
  33.    $site = '$site="'.$site.'";'."\n";
  34.    $menu = '$menu="'.$menu.'";'."\n";
  35.    $content = '$content="'.$content.'";'."\n";
  36.    $title = '$title="'.$title.'";'."\n";
  37.    $opis_strony = '$opis_strony="'.$opis_strony.'";'."\n";
  38.    $autor_strony = '$autor_strony="'.$autor_strony.'";'."\n";
  39.    $keys = '$keys="'.$keys.'";'."\n";
  40.    // marginesy
  41.    
  42.    $obszar_tekstu = '$obszar_tekstu="'.$obszar_tekstu.'";'."\n";
  43.    
  44.    $obszar_menu = '$obszar_menu="'.$obszar_menu.'";'."\n";
  45.    $lmts = '$lmts="'.$lmts.'";'."\n";
  46.    $pmts = '$pmts="'.$pmts.'";'."\n";
  47.    $lmms = '$lmms="'.$lmms.'";'."\n";
  48.    $pmms = '$pmms="'.$pmms.'";'."\n";  
  49.    
  50.    
  51.    $dane = $start.$site.$menu.$content.$title.$opis_strony.$autor_strony.$keys.$obszar_tekstu.$obszar_menu.$lmts.$pmts.$lmms.$pmms.$meta;
  52.    
  53.    
  54.    // przypisanie zmniennej $file nazwy pliku
  55.    $file = "config.php";
  56.    // uchwyt pliku, otwarcie do nadpisania
  57.    $fp = fopen($file, "w");
  58.    // blokada pliku do zapisu
  59.    flock($fp, 2);
  60.    // zapisanie danych do pliku
  61.    fwrite($fp, $dane);
  62.    // odblokowanie pliku
  63.    flock($fp, 2);
  64.    // zamknięcie pliku
  65.    fclose($fp);
  66.    
  67.    echo "Dane zostały zapisane!<br />";
  68.    echo "<a href=\"index.php\">Zobacz wpisane dane</a>";
  69. }
  70.  
  71. ?>


A to config.php (tutaj dane powinny się zmieniać dane wpisywane z formularza)
  1. <?
  2. $site="860";
  3. $menu="260";
  4. $content="600";
  5. $title="Nazwa strony";
  6. $opis_strony="Opis strony";
  7. $autor_strony="Autor strony";
  8. $keys="Słowa kluczowe";
  9. $obszar_tekstu="545";
  10. $obszar_menu="240";
  11. $lmts="50";
  12. $pmts="5";
  13. $lmms="10";
  14. $pmms="10";
  15. ?>
lord_t
A nadałeś odpowiedni chmod katalogowi nadrzędnemu dla tych plików?
KMO
Te pliki mam w katalogu głównym, ale mogę je przenieś do jakiegoś innego, jeśli przeniose to jakie chmody dać?
lord_t
Np. takie jakie opisywałeś w swoim poscie.
KMO
Zrobiłem tak, jak napisałeś ale to niestety nie pomogło sad.gif
erix
A czy nie ma problemów z właścicielem plików?

Włącz raportowanie błędów i sprawdź, czy niczego nie wysypuje.
KMO
Nie wyświetla żadnych błędów. Link do skryptu: http://admin-bejbe.lua.pl/konf/konfiguracja.php
Kompletnie nie mam pojęcia dlaczego to nie działa. Przecież jak nadaje wszystkim plikom chmody 777 to powinno zapisywać te dane z formularza bez problemu. Przynajmniej tak mi się wydaje. Może się mylę?
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.