Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlaczego Skrypty Nie Dzialają?
Forum PHP.pl > Forum > PHP
heniek22
Witam!
Mam taki problem. Mam na dysku zainstalowany serwer php (krasnal) i wykonalem pare skryptow. W krasnalu wszystko smiga jak nalezy a jak wrzuce na serwer (z obsluga php) to nie dziala ani jeden dlaczego tak sie dzieje? Ponizej przedstawilem kody zrodlowe poszczegolnych plikow:

Strona z Formularzem(czesc kodu)

Kod
<table width="640" border="1" cellpadding="0" cellspacing="0" align="center" bordercolor="dodgerblue">
          <tr>
            <td width="640">
<p align="center"><font size="2"><i><b> <font size="1">.:: Pozdrowienia!! ::.</font></tr></td>
<tr><td>
<br><p align="center"><font size="2"><form name="post" method="POST" action="pozdrowienia_zapis.php">
Nick: <input id=nick name="dane" style="text" width="20" height="20"><br><br><br>
<textarea WRAP="virtual" rows="6" name="danee" cols="42" id=textarea style="BACKGROUND-IMAGE: url(pozdrowienia_tlo.jpg)"></textarea><br><br>  
<input id=guzik type="submit" value="W Y Ś L I J exclamation.gif" name="Submit">
</form>
</font>
</form> </i></b></p></p></tr></td>
</table>
<br>
<br>

</table>


Zapis do pliku
Jak widzicie jest to strona z wbudowanym skryptem zapisu danych z formularza do pliku .txt. Niestety to nie dziala Nie mam pojecia dlaczego. Na krasnalu dziala a na servie nie. Wogole nie dopisuje do pliku.

Kod
<html>
<head>
<title> Pozdrowienia </title>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body bgcolor="black">
<?php

//z formularza, zmienna dane o ktorej wspominalem
$dane = $_POST['dane'];
$danee = $_POST['danee'];

chmod("pozdrowienia.txt", 0777);

// przypisanie zmniennej $file nazwy pliku
$file = "pozdrowienia.txt";

// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "a");

// blokada pliku do zapisu
flock($fp, 2);

// zapisanie nickow do pliku i dodanie spacji
fwrite($fp,$dane . '<br><br>Treść:<br>');
fwrite($fp,$danee . '<br><br><br><br><br><br>Pozdrawia: ');
// odblokowanie pliku
flock($fp, 3);


// zamknięcie pliku, to juz koniec skryptu
fclose($fp);


?>
<p align="center">
<font color="white">Pozdrowienie Wyslane!!<br>
<a href="index.php"> <<< Strona Główna >>></a></p>
</body>
</html>


Skrypt odczytu
Jest to skrypt ze strony ktora ma wyswietlac zapisane dane w pliku.

Kod
<?php

$nazwa_pliku = "pozdrowienia.txt";

if (is_readable($nazwa_pliku))
  {
   if ($plik = fopen($nazwa_pliku, "r"))
     {
      $dane = fread($plik, filesize($nazwa_pliku));
      
      if ($dane === FALSE) echo "Odczyt danych z pliku nie powiódł się...";
        else echo " Pozdrawia: ".$dane."<br><br><br />";

if ($danee === FALSE) echo "Odczyt danych z pliku nie powiódł się...";
        else echo " ".$danee."<br><br><br />";

      fclose($plik);

     } else echo "Nie mogę nawiązać połączenia z plikiem...";

  } else echo "Z pliku nie można odczytać informacji lub on nie istnieje...";

?>

Jezeli wiecie dlaczego tak sie dzieje to prosze o pomoc. Moim zdaniem skrypty sa dobre tylko to wynika z czegos innego. Lecz jak sie mysle to prosze o poprawe skryptu.

Dokladnie to chodzi mi o ta stronke: www.heniek22.cba.pl/index.php (jest to tylko po to by zobaczyc czy dziala). haslo do panelu admin. to: panel2 wpiszcie pozdrowienie i zobaczcie czy dopisalo. poczytajcie sobie takze zrodla stron jezeli to moze jakos naprowadzic Raz wychodzi ze gotowe ale wystapily bledy na stronie a raz jest wszystko ok. teraz raczej juz nie wychodzi ze jest blad. ustawilem takze atrybuty przed zapisem i tekze nie dziala (zobacz zrodlo pliku pozdrowienia_zapis).

I jeszcze jedno zauwazcie ze w tym panelu dj'a jest takze pole zeby sie wpisac. i jest to wyswietlane na stronie glownej. To tez nie dziala. nie dopisuje do pliku. i w tym panelu jest takze na dole "kasuj liste pozdrowien" i to tez nie dziala. ale mysle ze jak tylko sie dowiem dlaczego pozdrowienia nie dzialaja to wszystko juz bedzie dzialac. Poprostu na tej stronie wszystkie skrypty ktore zapisuja do pliku albo musza miec do niego dostep nie dzialaja. Mam nadzieje ze cos poradzicie. Dzięki za pomoc smile.gif
My4tic
Ehh a gdzie ten panel administratora? Albo coś przeoczyłem albo nie podałeś adresu... chyba, że mamy zgadywać?

Jeśli chodzi o to, że nie działa to dlaczego nie sprawdzasz nigdzie jakie wartości zwracają funkcje? Jeśli otwierasz plik do zapisu to sprawdzaj czy operacja się powiodła - fopen () wygeneruje błąd jeśli jest coś nie tak.

  1. <?php
  2. $handle = fopen("/pozdrowienia/plik.txt", "a");
  3. if ($handle == false) echo 'Błąd';
  4. ?>


...albo zapoznaj się z http://pl.php.net/manual/pl/function.error-reporting.php
sticker
to pewnie jest to że nie sprawdzasz errorów a na hostingach zazwyczaj na apachach wyłączane jest raportowanie błędów smile.gif raporty wysyłaj sobie na maila albo wpisuj do bazy smile.gif
heniek22
Panel jest w menu po lewej stronie na samym dole (http://www.heniek22.cba.pl/panel2.php) "Panel DJ'a". A powiedzcie Wy mi po co mi raportowanie bledow? Ja nie chce zeby mi przychodzil raport o bledzie tylko chce aby tego bledu nie bylo... I po co mam sprawdzac czy sa bledy jak na krasnalu mi to dziala... i to tak jak tego chcialem. Na innym forum powiedziano mi ze tu chodzi o prawo dostepu do pliku... dalem to i nadal nic... Jest to 4 forum na ktorym dalem ten temat... i nawet mi nie mowcie ze i tutaj mi nikt nie pomoze sad.gif

Wlaczylem raportowanie i nie wyskakuje ze jest blad. wszystko wskazuje na to ze jest dobrze. nie mam pojecia co jest grane sad.gif
My4tic
Cytat(heniek22 @ 28.01.2007, 17:08:38 ) *
A powiedzcie Wy mi po co mi raportowanie bledow? Ja nie chce zeby mi przychodzil raport o bledzie tylko chce aby tego bledu nie bylo... I po co mam sprawdzac czy sa bledy jak na krasnalu mi to dziala... i to tak jak tego chcialem.


Chłopie - ciężko zrobić tak jak pisałem? Widze, że wolisz czekać aż ktoś przypadkiem zgadnie w czym tkwi problem. To, że na 'krasnalu' działa wiele nie mówi. Może problem tkwi w prawach dostępu, może w konfiguracji serwera, może jeszcze gdzie indziej. Włącz raportowanie to będziesz wiedział.

Cytat(heniek22 @ 28.01.2007, 17:08:38 ) *
Na innym forum powiedziano mi ze tu chodzi o prawo dostepu do pliku... dalem to i nadal nic... Jest to 4 forum na ktorym dalem ten temat... i nawet mi nie mowcie ze i tutaj mi nikt nie pomoze sad.gif


Nic dziwnego - pytania trzeba umieć zadawać i stosować się do rad jakie Ci ktoś daje a nie głupio drążyć temat.
borec
  1. Nick: <input id=nick name="dane" style="text" width="20" height="20">

A nie czasem type="text" zamiast style="text" ?

Żeby móc zapisywać do tego pliku musisz też mieć chmod 0777 na katalog w którym się on znajduje, a nie tylko na sam plik. Z resztą na plik wystarczy 0666.
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.