Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: znowu blędy na za.pl
Forum PHP.pl > Forum > PHP
dexter_m
Na serwerze www.za.pl mam 3 pliki:
index.html, ob_rejestracji.php no i registion.txt.

index.html:

  1. <title>Rejestracja</title>
  2. </head>
  3. <center><b>Szybka rejestracja.</b></center>
  4. <br>
  5. Drogi użytkowniku, rejestrując się dostaniesz dostęp do wielu niedostępnych przed rejestracją opcji.
  6. Nie zwlekaj! Skorzystaj z szybkiej rejestracji która trwa maksymalnie 10 sekund !!!
  7. <br>
  8. <br>
  9. UWAGA!!!<br>
  10. Proszę podać poprawny e-mail gdyż na niego zostaną wysłane kolejne informacje dotyczące rejestracji!
  11. <br>
  12. <form action="ob_rejestracji.php" method="post">
  13. <pre>
  14. Login : <input type="text" name="login">
  15. Hasło : <input type="password" name="haslo">
  16.  
  17. Imię: <input type="text" name="imie">
  18. Nazwisko: <input type="text" name="nazwisko">
  19. E-mail: <input type="text" name="email">
  20. Wiek: <input type="text" name="wiek">
  21. </pre>
  22. <br>
  23. <br>
  24. <input type="submit" value="Wyślij!">
  25. </form>
  26. </body>
  27. </html>


plik ob_rejestracji.php

  1. <?php
  2. //script by Juri
  3.  
  4.  echo &#092;"<u>Twoje dane:</u> <br><br>\";
  5.  echo &#092;"<b>Login:</b>   $login <br>\";
  6.  echo &#092;"<b>Hasło:</b>   $haslo <br><br>\";
  7.  echo &#092;"<b>Imię:</b>    $imie <br>\";
  8.  echo &#092;"<b>Nazwisko:</b>$nazwisko <br>\";        //Pokarz dane
  9.  echo &#092;"<b>E-mail:</b>  $email <br>\";
  10.  echo &#092;"<b>Wiek</b>    $wiek <br>\";
  11.  
  12.   $file = fopen(&#092;"registion.txt\", 'a');         // open file
  13.   $save_file = &#092;"
  14.  Login:  $login
  15.  Hasło:  $haslo
  16.  Email:  $email
  17.  Imię :  $imie
  18.  Nazwisko: $nazwisko
  19.  Wiek: $wiek
  20.  -----------------------------------------------
  21.  &#092;";                       //value
  22.  fwrite($file, $save_file); //save file
  23.  
  24.  
  25. ?>


i trzeci pusty plik registion.txt.

i powinno być tak:
1) użytkownik wypełnia formularz (jest dobrze)
2) na drugiej stronie pojawiają mu się jego dane (jest dobrze)
3) dane użytkownika są zapisywane w pliku registion.txt (jest źle)

Wyskakują mi dwa błędy naraz:

Warning: fopen(registion.txt): failed to open stream: Permission denied in /home4/fr/freeregister/ob_rejestracji.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /home4/fr/freeregister/ob_rejestracji.php on line 22

nie wiem co jest grane...

dodam jeszcze że u mnie na komputerze z zainstalowanym 'krasnalem' wszystko jest ok. ale jak już puszczę na serwer w necie to do bani
maciu
musisz ustawić odpowiednie prawa dostępu (chmod 755) dla pliku registion.txt
dexter_m
Możesz mi w tym pomóc?? Nigdy nie ustawiałem praw dostępu na serwerze.
kiedyś coś słyszałem o chmod777, ale nigdy o chmod755. Twoja pomoc bardzo by mi pomogła rolleyes.gif nie chcę abyś wszystko za mnie odwalił tylko abyś mi pomógł, w ostateczności link gdzie i jak to zrobić.
Z góry dzięki...
maciu
chmod" title="Zobacz w manualu PHP" target="_manual
tu masz wszystko wyjaśnione
dexter_m
no nie, ja już nie mogę.
do mojego kodu dodałem jeszcze jedną linijkę która miała 'aktywować' prawa dostępu i tym samym usunąć tamte wcześniejsze będdy

dodałem:
chmod("registion.txt", 0755);

i oprócz tamtych błędów wyleciał jeszcze jeden!!

Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11

czyli cała strona ob_rejestracji.php wygląda tak:

Twoje dane:

Login: klj
Hasło: kljkl

Imię:
Nazwisko:
E-mail:
Wiek

Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11

Warning: fopen(registion.txt): failed to open stream: Permission denied in /home4/fr/freeregister/ob_rejestracji.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /home4/fr/freeregister/ob_rejestracji.php on line 22

chyba się zabiję... proszę o pomoc sad.gif
mike
Cytat(dexter_m @ 2005-07-24 21:27:45)
chyba się zabiję... proszę o pomoc sad.gif

No przykro mi ale tutaj Ci nie pomożemy.

Na serwerze na, którym pracujesz funkcja chmod() została wyłączona ze względów bezpieczeństwa.

Nie rób sobie krzywdy, zmień serwer winksmiley.jpg
dexter_m
Aha, rozumiem, to znaczy że za chiny na tym serwerze za.pl nie będę mógł zapisywać danych do pliku?questionmark.gif Dobra, to teraz zanim będę wybierał serwer to będę sprawdzał jakie funkcje są zablokowane. Z tego co wiem to funkcja phpini(); sprawdza jakie funkcje są dostępne na serwerze. czy się nie mylę?
A może ktoś zna darmowy serwer gdzie będę mógł zapisywać dane do pliku, (i jeszcze fajnie by było aby też obsługiwał funkcję mail()) tylko proszę, nie odsyłajcie mnie do tego tematu gdzie jest kilkadziesiąt różnych serwerów.
Nie chcę aby ktoś zaraz pisał że wymuszam gotowce, i żebym sam coś poszukał ale liczę na waszą wyrozumiałoś, jestem początkujący sad.gif
mike
Cytat(dexter_m @ 2005-07-24 21:42:01)
Aha, rozumiem, to znaczy że za chiny na tym serwerze za.pl nie będę mógł zapisywać danych do pliku?questionmark.gif

No nie do końca.
Na Twoim serwerze jest zablokowana funkcja chmod() czyli nie możesz ustawić praw dostępu z poziomu skryptu php, nie oznacza to że nie możesz soebi wejść poprzez FTP i zmienić tych praw ręcznie.

Jeżeli piszesz skrypt, który kożysta z gotowych plików to nie ma przeszkód. Tworzysz pliki, ustawiasz im praw i jazda.
Jeżeli natomiast piszesz skrypt, który w czasie działania tworzy pliki ustawia im prawa to niestety nie uda Ci się.
dexter_m
Dobra, jestem śpiący i zaraz idę spać, ale jeszcze jedno takie podsumujące pytanko:
co mam wkońcu zrobić abym osiągnąć już tak długo upragniony efekt, czyli:

1) użytkownik wypełnia formularz
2) na drugiej stronie pojawiają mu się jego dane oraz w tym samym czasie zapisywane są one w pliku registion.txt

Po prostu napiszcie co sami byście zrobili.
mike
Widzę że nie tworzysz plików hurtowo za pomocą php tylko kożystasz z jednego, utwożonego wcześniej, pliku registration.txt tongue.gif

Wejdź zatem na konto za pomocą jakiegos programo do obsługo FTP (tak jak to pewnie robisz żeby umieścić na serwerze pliki ze skryptami) i zmień ręcznie prawa dostępu dla pliku registration.txt.

Nie wiem z czego kożystasz, może z TotalCommandera, to masz opcje Pliki->Zmień Atrybuty ... Skożystej z tego.
No chyba że kożystasz z innego klienta FTP, poszukaj w nim podobnej opcji.

P.S. Ja też padam z nóg, a rano do pracy :/ Dobranoc.
dexter_m
Ale się wyspałem...
Dobra, trafiłeś w dziesiątkę. Używam TotalCommandera. Zrobiłem to co pisałeś no i pomogło ale nie do końca. Wszystko działa fest (dane sązapisywane do pliku, błędy znikają) oprócz jednego błędu:

Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11

czyli że funkcja jest wyłączona na serwerze. ale przecież ona tak naprawdę jest włączona (ja ją włączyłem ręcznie). Znak tłumienia błędów @ nie wchodzi w grę bo to nie jest błąd z przesyłaniem (wstawienie go przed zmiennymi z funkcjami nic nie daje) tylko brakiem dostępu który tak naprawdę jest. Co zrobić aby usunąć ten beznadziejny błąd.
sobstel
Cytat(mike_mech @ 2005-07-24 21:48:23)
Jeżeli piszesz skrypt, który kożysta z gotowych plików to nie ma przeszkód. Tworzysz pliki, ustawiasz im praw i jazda.
Jeżeli natomiast piszesz skrypt, który w czasie działania tworzy pliki ustawia im prawa to niestety nie uda Ci się.

mozna to rozwiazac przez nadaniem katalogowi praw 777, choc nie jest to najlepsze rozwiazanie z punktu widzenia bezpieczenstwa...
dexter_m
Ja właśnie nadąłem temu plikowi chmod777. ale możesz wymienić dlaczego nie jest to bezpieczne??
kwiateusz
Cytat
Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11

co do tego to w konfiguracji serwera ta opcja zostala zablokowana zebys nie mogl jej uzywac ...

co do chamodow to 777 daje prawo do odczytu, modyfikacji i wykonywania dla wszystkich i wiecej na ten temat nie wiem tongue.gif
popo
jesli wywala ci ze ta komenda zostala zablokowana to ja wytnij ze swojego skryptu. jesli nie dziala to po kiego ja tam trzymac ?
Cytat
Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11

oznacza toto ze w linii jedenastej jest uzyta komenda chmod usun ja i powinno byc po klopocie
dexter_m
Cytat
jesli wywala ci ze ta komenda zostala zablokowana to ja wytnij ze swojego skryptu. jesli nie dziala to po kiego ja tam trzymac ?

QUOTE 
Warning: chmod() has been disabled for security reasons in /home4/fr/freeregister/ob_rejestracji.php on line 11


oznacza toto ze w linii jedenastej jest uzyta komenda chmod usun ja i powinno byc po klopocie


Co ty mówisz. Jak ją wytnę to już wogule mi nie będzie przesyłać bo nie będę miał praw. Wprawdzie komenda ta została rzeczywiście zablokowana na serwerze , ale ja ją ręcznie odblokowałem. I dzięki temu pliki są przesyłane, ale jest błąd. I wkońcu go zlikwidowałem! rolleyes.gif

HIHIHIHIH. Znalazłem już banalny sposób. Bo wszystko działa lux, pliki są przesyłane, ale ten głupi błąd. Trochę nie załadnie to wyglądało jak użytkownik rejestrował się i nagle błąd. No i nie wie, czy rejestracja się w końcu powiodła czy też nie... No to walnołem małpkę (tłumienie błędów) przed:
@chmod("registion.txt", 0755);
i już nie mam problemu. rolleyes.gif

Użytkownik zarejestrowany, pliki przesłane a ja zadowolony cool.gif
Pozdrawiam, dexter.
kwiateusz
lol jak jest zablokowana to JEST zablokowana poprostu jak chmody na serwerze dajesz na plik to one zostaja a nie sa jednorazowego uzytku .. wiec przeslalo ci sie dla tego ze przez TotalCommandera poprawne chmody dales a to ze tlumisz bledy na tym poleceniu to ci nic nie daje bo dalej
  1. <?php
  2. @chmod(&#092;"registion.txt\", 0755);
  3. ?>
nie dziala i tylko zjmuje cenne zasoby serwera podczas wykonywania
dexter_m
Trochę cię nie rozumiem, jak nadałem te prawa przez TC to wszystko jest ok, ale jakbym ich nie nadał to nie działa. @kwiateusz, to co proponujesz?? Zmienić serwer? Może znasz jakiś z niezablokowaną tą funkcją? Fajnie by było gdyby też posiadał odblokowaną funkcję mail(); bo nigdzie takiego bezpłatnego nie mogę znaleźć...
kwiateusz
jak nadales prawa przez TC to komenda @chmod("registion.txt", 0755); jest juz zbedna (a ze jest zablokwoana i nic nie robi oprocz sypania bledami to 2 sprawa smile.gif)
yavaho
Jak przez php nie mozesz nadac praw to robisz to raz przez ftp i wszystko ma dzialac ok.
Jezeli te pliki ktore beda przesylane na serwer, beda zawsze przesylane do jednego katalogu to wystarczy ze przez ftp nadasz odpowiednie prawa tylko na ten jeden katalog i tyle.
Sprawa by sie skomplikowala gdybys chcial za pomoca php tworzyc lub usuwac katalogi - w tym przypadku bylo by to chyba nie mozliwe.
dexter_m
Dobra, wszystko już rozumiem. Myślę że temat został całkowicie wyczerpany. rolleyes.gif
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.