Skocz do zawartości


Zdjęcie

[PHP] zapisywanie danych do plików (chmod?)


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 KMO

KMO

    Nowy

  • 3 postów

Napisano 11 04 2009 - 18:16

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
CODE-BOX
<?php
error_reporting(E_ALL); // poziom raportowania, http://pl.php.net/manual/pl/function.error-reporting.php
ini_set('display_errors', 1);
?>

<?php

if(empty($site) and empty($title)){
include("config.php");
// prosty formularz zawieraj±cy dwa pola
echo '<form action="" method="post">
<table>
<tr><td width="300">Szeroko¶ć całej strony: </td><td><textarea type="text" name="site" style="width: 40px; height: 20px;" />'.$site.'</textarea></td></tr>
<tr><td>Szeroko¶ć menu: </td><td><textarea type="text" name="menu" style="width: 40px; height: 20px;" />'.$menu.'</textarea></td></tr>
<tr><td>Szeroko¶ć diva content (tre¶ci strony): </td><td><textarea type="text" name="content" style="width: 40px; height: 20px;" />'.$content.'</textarea></td></tr>
<tr><td>Tytuł strony: </td><td><textarea type="text" name="title" style="width: 300px; height: 20px;">'.$title.'</textarea></td></tr>
<tr><td>Opis strony: </td><td><textarea type="text" name="opis_strony" style="width: 300px; height: 20px;">'.$opis_strony.'</textarea></td></tr>
<tr><td>Autor strony: </td><td><textarea type="text" name="autor_strony" style="width: 300px; height: 20px;">'.$autor_strony.'</textarea></td></tr>
<tr><td>Słowa kluczowe (oddzielone przecinkami): </td><td><textarea type="text" name="keys" style="width: 300px; height: 20px;">'.$keys.'</textarea></td></tr>
<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>
<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>
<tr><td width="300">Lewy margines menu strony: </td><td><textarea type="text" name="lmms" style="width: 40px; height: 20px;" />'.$lmms.'</textarea></td></tr>
<tr><td width="300">Prawy margines menu strony: </td><td><textarea type="text" name="pmms" style="width: 40px; height: 20px;" />'.$pmms.'</textarea></td></tr>
<tr><td><br><input type="submit" value="Zapisz zmiany" /></td><td></td></tr>
</table>
</form>';


}
else {

//znaczniki php
$start='<?'."\n";
$meta='?>'."\n";
$obszar_menu = $menu-$lmms-$pmms;
$obszar_tekstu = $content - $lmts - $pmts;
// dane pochodz±ce z formularza
$site = '$site="'.$site.'";'."\n";
$menu = '$menu="'.$menu.'";'."\n";
$content = '$content="'.$content.'";'."\n";
$title = '$title="'.$title.'";'."\n";
$opis_strony = '$opis_strony="'.$opis_strony.'";'."\n";
$autor_strony = '$autor_strony="'.$autor_strony.'";'."\n";
$keys = '$keys="'.$keys.'";'."\n";
// marginesy

$obszar_tekstu = '$obszar_tekstu="'.$obszar_tekstu.'";'."\n";

$obszar_menu = '$obszar_menu="'.$obszar_menu.'";'."\n";
$lmts = '$lmts="'.$lmts.'";'."\n";
$pmts = '$pmts="'.$pmts.'";'."\n";
$lmms = '$lmms="'.$lmms.'";'."\n";
$pmms = '$pmms="'.$pmms.'";'."\n";


$dane = $start.$site.$menu.$content.$title.$opis_strony.$autor_strony.$keys.$obszar_tekstu.$obszar_menu.$lmts.$pmts.$lmms.$pmms.$meta;


// przypisanie zmniennej $file nazwy pliku
$file = "config.php";
// uchwyt pliku, otwarcie do nadpisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 2);
// zamknięcie pliku
fclose($fp);

echo "Dane zostały zapisane!<br />";
echo "<a href=\"index.php\">Zobacz wpisane dane</a>";
}

?>


config.php:

CODE-BOX
<?
$site="860";
$menu="260";
$content="600";
$title="Nazwa strony";
$opis_strony="Opis strony";
$autor_strony="Autor strony";
$keys="Słowa kluczowe";
$obszar_tekstu="545";
$obszar_menu="240";
$lmts="50";
$pmts="5";
$lmms="10";
$pmms="10";
?>


  • 0

#2 Ziele

Ziele

    Biblioteka Zielińskiego

  • 1 812 postów

Napisano 11 04 2009 - 19:12

plik konfiguracja.php i config.php mają chmod 777, a jak katalog, w którym się znajdują?
I.. Do jakiego pliku to wszystko ma być zapisywane?

  • 0

#3 KMO

KMO

    Nowy

  • 3 postów

Napisano 11 04 2009 - 22:30

No właśnie to z formularza konfiguracja.php ma być zapisywane do config.php (próbowałem w ten sposób napisać konfigurację do mini systemu newsów opartego na plikach tekstowych). Chody nadawałem już chyba wszystkie z możliwych, czyli 777 zarówno dla plików jak i katalogów, próbowałem też 666, 755 aż w końcu pomysły mi się skończyły i zwracam się tutaj z prośbą o pomoc, bo nie wiem co robię źle.
  • 0

#4 Ziele

Ziele

    Biblioteka Zielińskiego

  • 1 812 postów

Napisano 11 04 2009 - 23:14

Proponuję sprawdzić na przykładzie licznika tekstowego co jest nie tak.
Licznik zbiera odwiedziny i zapisuje je w pliku np licznik.txt. Moim zdaniem jest błąd właśnie w tych okolicach

  • 0

Zobacz więcej tematów z tagiem: CSS formularz



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych