Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Coś z serweram :/
Forum PHP.pl > Forum > Przedszkole
Tsiru
Mam takie coś, i u mnie działa a na serwerze nie.
CHMODY dałem wszystkim zainteresowanym plikom 777.
Wiecie może jak to ugryść ?
  1. <?php
  2. $gra=$_POST['gra'];
  3. if($gra==&#092;"\")
  4. echo'<H1 ALIGN=\"center\">Sonda</H1><BR>
  5. <P>Najlepszy Silent Hill według was to:</P>
  6. <center>
  7. <FORM ACTION=\"index.php?chapter=sonda\" METHOD=\"post\">
  8. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
  9. <TR>
  10. <TD WIDTH=\"16\" HEIGHT=\"16\" ALIGN=\"center\" VALIGN=\"middle\"><INPUT TYPE=\"radio\" NAME=\"gra\" VALUE=\"sh1\"></TD>
  11. <TD WIDTH=\"384\" COLSPAN=2 HEIGHT=\"16\" ALIGN=\"left\" VALIGN=\"middle\"><B>Silent Hill 1</B></TD>
  12. </TR>
  13. <TR>
  14. <TD WIDTH=\"16\" HEIGHT=\"16\" ALIGN=\"center\" VALIGN=\"middle\"><INPUT TYPE=\"radio\" NAME=\"gra\" VALUE=\"sh2\"></TD>
  15. <TD WIDTH=\"384\" COLSPAN=2 HEIGHT=\"16\" ALIGN=\"left\" VALIGN=\"middle\"><B>Silent Hill 2</B></TD>
  16. </TR>
  17. <TR>
  18. <TD WIDTH=\"16\" HEIGHT=\"16\" ALIGN=\"center\" VALIGN=\"middle\"><INPUT TYPE=\"radio\" NAME=\"gra\" VALUE=\"sh3\"></TD>
  19. <TD WIDTH=\"384\" COLSPAN=2 HEIGHT=\"16\" ALIGN=\"left\" VALIGN=\"middle\"><B>Silent Hill 3</B></TD>
  20. </TR>
  21. <TR>
  22. <TD WIDTH=\"16\" HEIGHT=\"16\" ALIGN=\"center\" VALIGN=\"middle\"><INPUT TYPE=\"radio\" NAME=\"gra\" VALUE=\"sh4\"></TD>
  23. <TD WIDTH=\"384\" COLSPAN=2 HEIGHT=\"16\" ALIGN=\"left\" VALIGN=\"middle\"><B>Silent Hill 4</B></TD>
  24. </TR>
  25. <TR><TD COLSPAN=3 WIDTH=\"400\" HEIGHT=\"35\" ALIGN=\"center\" VALIGN=\"middle\"><INPUT TYPE=\"submit\" VALUE=\"Głosuj\"> <input type=\"button\" value=\"Zobacz wyniki\" onclick=\"window.location.href='index.php?chapter=sonda&gra=show'\" /></TD></TR>
  26. </TABLE>
  27. </FORM></center>
  28. <P>P.S.: Wynikami Sondy posłuże się przy dalszym tworzeniu strony serwisu.</P>';
  29. else
  30. {
  31. if($gra==&#092;"sh1\"||$gra==\"sh2\"||$gra==\"sh3\"||$gra==\"sh4\")
  32. $plik=fgets(fopen(&#092;"data/sonda/$gra.txt\",\"r\" ),250);
  33. if(!($_COOKIE['sonda']==&#092;"sonda\"))
  34. {
  35. $plik++;
  36. echo'<table border=0 cellpadding=0 cellspacing=5><tr><td colspan=3 width=\"150\" height=\"16\" align=\"center\" valign=\"middle\"><b>Twój głos został dodany.</b></td></tr>';
  37. //setcookie('sonda','sonda',time()+(60*60*24*31*12));
  38. if($gra==&#092;"sh1\"||$gra==\"sh2\"||$gra==\"sh3\"||$gra==\"sh4\")
  39. fwrite(fopen(&#092;"data/sonda/$gra.txt\",\"w\"),$plik,250 );
  40. }
  41. else
  42. {
  43. if($gra==&#092;"show\")
  44. echo'<table border=0 cellpadding=0 cellspacing=5><tr><td colspan=3 width=\"\"150\"\" height=\"16\" align=\"center\" valign=\"middle\"><b>Najlepszy Silent Hill Waszym zdaniem - wyniki Sondy.</b></td></tr>';
  45. else
  46. echo'<table border=0 cellpadding=0 cellspacing=5><tr><td colspan=3 width=\"\"150\"\" height=\"16\" align=\"center\" valign=\"middle\"><b>Już oddałeś swój głos - sonda zablokowana.</b></td></tr>';
  47. }
  48. $s1=fgets(fopen(&#092;"data/sonda/sh1.txt\",\"r\"),100);
  49. $s2=fgets(fopen(&#092;"data/sonda/sh2.txt\",\"r\"),100);
  50. $s3=fgets(fopen(&#092;"data/sonda/sh3.txt\",\"r\"),100);
  51. $s4=fgets(fopen(&#092;"data/sonda/sh4.txt\",\"r\"),100);
  52. $suma=$s1+$s2+$s3+$s4;
  53. echo&#092;"
  54. <tr>
  55. <td width=&#092;"150\" height=\"16\" align=\"right\" valign=\"middle\"><b>SILENT HILL 1</b></td>
  56. <td width=&#092;"600\" height=\"16\" align=\"left\" valign=\"middle\"><img src=\"rc.gif\" border=0 height=12 width=$s1 hspace=0 vspace=0></td>
  57. <td width=&#092;"50\" height=\"16\" align=\"center\" valign=\"middle\"><b>$s1</b></td>
  58. </tr>
  59. <tr>
  60. <td width=&#092;"150\" height=\"16\" align=\"right\" valign=\"middle\"><b>SILENT HILL 2</b></td>
  61. <td width=&#092;"600\" height=\"16\" align=\"left\" valign=\"middle\"><img src=\"rc.gif\" border=0 height=12 width=$s2 hspace=0 vspace=0></td>
  62. <td width=&#092;"50\" height=\"16\" align=\"center\" valign=\"middle\"><b>$s2</b></td>
  63. </tr>
  64. <tr>
  65. <td width=&#092;"150\" height=\"16\" align=\"right\" valign=\"middle\"><b>SILENT HILL 3</b></td>
  66. <td width=&#092;"600\" height=\"16\" align=\"left\" valign=\"middle\"><img src=\"rc.gif\" border=0 height=12 width=$s3 hspace=0 vspace=0></td>
  67. <td width=&#092;"50\" height=\"16\" align=\"center\" valign=\"middle\"><b>$s3</b></td>
  68. </tr>
  69. <tr>
  70. <td width=&#092;"150\" height=\"16\" align=\"right\" valign=\"middle\"><b>SILENT HILL 4</b></td>
  71. <td width=&#092;"600\" height=\"16\" align=\"left\" valign=\"middle\"><img src=\"rc.gif\" border=0 height=12 width=$s4 hspace=0 vspace=0></td>
  72. <td width=&#092;"50\" height=\"16\" align=\"center\" valign=\"middle\"><b>$s4</b></td>
  73. </tr>
  74. <tr>
  75. <td colspan=3 width=&#092;"800\" height=\"50\" align=\"right\" valign=\"bottom\">W sumie oddano <b>$suma</b> głosów.</td>
  76. </tr>
  77. </table>
  78. &#092;";}
  79. ?>
Cysiaczek
A jaki błąd wyrzuca serwer?
Tsiru
no właśnie - żadnego - nawet niewiem jak to ugryść :-/
Vengeance
error_reporting(E_ALL);
Tsiru
wyrzucił
Kod
Notice: Undefined index: gra in /usr/local/apache2/htdocs/alessa/sonda.php on line 3

ale tylko przy formularzu.
W tej linijce jest
  1. <?php
  2. if($gra=='')
  3. ?>
i niewiem co ma współnego z resztą
usunąłem w 49 linijce slashe
teraz jest
  1. <?php
  2. setcookie('sonda','sonda',time()+(60*60*24*31*12));
  3. ?>

zamiast:
  1. <?php
  2. //setcookie('sonda','sonda',time()+(60*60*24*31*12));
  3. ?>

Sonda jest na stronie http://www.dhost.info/alessa/index.php?chapter=sonda
A na localu działa elegancko
Już niewiem gdzie ręce włorzyć sad.gif .
dr_bonzo
$gra=$_POST['gra'];
to jest to miejsce^^^^
musisz sprawdzic najpierw czy istnieje taka zmienna
  1. <?php
  2. if ( isset( $_POST[ 'gra' ] ) )
  3. { $gra = $_POST[ 'gra' ]; }
  4. ?>
Tsiru
Panowie, nie skupiamy się na problemie.
Wpisałem:
  1. <?php
  2.  
  3. $gra=$_POST['gra'];
  4. if(!($_POST['gra']))
  5. ?>

w 3 i 4 linijce i wypluło coś takiego
Kod
Warning: Undefined index: gra in f:\alessa\sonda.php on line 3
Warning: Undefined index: gra in f:\alessa\sonda.php on line 4

Kiedy było
  1. <?php
  2. if(!($gra==&#092;"\"));
  3. ?>

wywalało błąd o niezdefiniowanej żmiennej.
Wielu ludzi tak pisze i niewidziałem, żeby przez taki warunek coś niedziałało.
W tym problemie niechodzi tu a to, że jest coś ze zmiennymi, tylko jest problem z zapisem do pliku (oczywiście mogę się mylić).

Na serwerrz w windozą działa to, ale na serwerze z UNIXem już nie
chmody dałem 777 na wszystko co sie tylko dało i dalej kicha.
Cysiaczek
Spróbuj tak:

  1. <?php
  2.  
  3. $gra=$_POST[gra];
  4. if(!($_POST[gra]))
  5. ?>


Niekiedy nie działa z apostrofami

P.S.

Czy nadałes katalogowi prawa na 777 ?

Once again:

powineneś ustawić wskaźnik dla pliku

tzw. FLOCK

czyli zabezpieczył przed ewentualnym otwarciem pliku przez dwie osoby naraz.


z zresztą masz:
Cytat
Blokowanie plików

Jak dotąd wszystko wydaje się proste. Co jednak stanie się, jeżeli jednocześnie zostaną uruchomione dwie kopie skryptu, i obie będą próbowały zmienić ten sam plik? Sytuacja taka jak łatwo się domyślić, może miec przykre konsekwencje. Aby rozwiązać ten problem należy użyć blokowania plików. Służy do tego funkcja flock:
flock($file, mode);

Pierwszy argument funkcji flock to identyfikator otwartego pliku. Argument mode określa typ dostępu, jaki chcemy uzyskać. Może mieć następujące wartości:
1 - dostęp do odczytu
2 - dostęp do zapisu
3 - zwolnienie blokady
Jeżeli chcemy uzyskać dostęp do zapisu, najpierw wszystkie inne blokady muszą być zwolnione. Do uzyskania dostępu do odczytu wystarczy, ze plik nie będzie zablokowany do zapisu - w ten sposób wiele skryptów może jednocześnie czytać z pliku, ale tylko jeden może do niego zapisywać. Dodatkowo w trakcie zapisu żaden inny skrypt nie może odczytywać z pliku - dzięki temu nie natrafi na niekompletne dane.


Z serwisu http://www.webdeveloper.pl/

mam nadzieje, że się nie obrażą hehe
Tsiru
NAdałem mu prawa 777
I każdemu plikowi w nim z osobna.
I to na początku
Ale chyba przerobie to na tablice zamiast plików, bo kodoś już gryzło i probówał mi roz****** strone
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.