Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt Pozdrowien
Forum PHP.pl > Forum > Gotowe rozwiązania
m4tt_pl
Witam , prowadzimy z kolega radio (www.uradio.abc.pl) i robimy skrypt pozdrowien wyglada on tak (nie liczac tego co zapisuje do pliku i wyswietla):

  1. <? 
  2.  
  3. $ip=&#092;"$_SERVER[REMOTE_ADDR]\";
  4.  
  5. if($_COOKIE['pozdrawiales'] == &#092;"0\")
  6. {
  7. setcookie(&#092;"pozdrawiales\", \"1\", time()+1200);
  8. }
  9. elseif($_COOKIE['pozdrawiales'] == &#092;"1\")
  10. {
  11. print(&#092;"Sorka;) z adresu ip : <b>$ip</b> juz przeslano pozdro.. poczekaj 20 minutek i pozdrawiaj dalej biggrin.gif.\");
  12. }
  13. else
  14. {
  15. <form ACTION=\"zapis.php\" method=\"post\">
  16. <table>
  17. <tr>
  18. <td>
  19. <font>Nick:</FONT>
  20. </Td>
  21. <td>
  22. <input name=\"nick\" TYPE=\"text\" size=43s>
  23. </TD>
  24. </TR>
  25. <tr>
  26. <td valign=top>
  27. <font>Tresc:</FONT>
  28. </Td>
  29. <td>
  30. <textarea name=\"pozd\" cols=\"40\" rows=\"8\"></textarea>
  31. </TD>
  32. </TR>
  33. <input name=\"ip\" TYPE=\"hidden\" value='$ip' size=30>
  34. </TABLE>
  35. <input TYPE=\"submit\" value=\"Pozdrów\">&<input TYPE=\"reset\" value=\"Resetuj\">
  36. </FORM>');
  37. }
  38. ?>


Ale nie chce dzialac ;( chce zrobic tak aby ktos mogl tylko co 20 minut mogl wyslac pozdro a to nie dziala . i pozatym tak gdzie jest podkreslone zapisuje pozniej do pliku $ip a nie adres ip jak powinno byc kiedys moj skrypt (jeszcze bez cookie) wygladal tak:

  1. <form ACTION=\"zapis.php\" method=\"post\">
  2. <table>
  3. <tr>
  4. <td>
  5. <font>Nick:</FONT>
  6. </Td>
  7. <td>
  8. <input name=\"nick\" TYPE=\"text\" size=43s>
  9. </TD>
  10. </TR>
  11. <tr>
  12. <td valign=top>
  13. <font>Tresc:</FONT>
  14. </Td>
  15. <td>
  16. <textarea name=\"pozd\" cols=\"40\" rows=\"8\"></textarea>
  17. </TD>
  18. </TR>
  19. <input name=\"ip\" TYPE=\"hidden\" value='<? $ip = &#092;"$REMOTE_ADDR\"; print \"$ip\"; ?>' size=30>
  20. </TABLE>
  21. <input TYPE=\"submit\" value=\"Pozdrów\">&<input TYPE=\"reset\" value=\"Resetuj\">
  22. </FORM>


i wtedy dobze ip zapisywalo ale teraz jak to daje to dostaje error:
Cytat
Parse error: parse error, unexpected '?' in d:\program files\easyphp1-7\www\kape\pozdrowienia.php on line 53

Pomocy, naprawdzie skrypt. Pozdrowienia smile.gif
dr_bonzo
"Dostaje error ze costam jest gdziestam zle". No to popraw to i to i bedzie ok.



Nie masz po prostu zdefinowanego indexu (pisze w errorze) 'pozdrawiales' -- sprawdzasz $_COOKIES[ 'pozdr,' ] zamin wyslesz ciastko.

Takie zabezpieczenie nie dziala: usune ciastko (lub zmienie jego wartosc na "zzzzz") i moge pozdrawiac bez ograniczen.

U siebie na serwerze zapisuj jak dawno i ktory numer IP pozdrawial a nie w cookie u usera.
m4tt_pl
Ehh ;/ to moglbys pomoc poprawic skrypt tak aby na serwie zapisywal bo jestem chobo straszny w php happy.gif a co z tym zapisywaniem ip do pliku .txt tak jak pisalem kiedys to bylo tak:

<input name="ip" TYPE="hidden" value='<? $ip = "$REMOTE_ADDR"; print "$ip"; ?>

i w wyslane.txt (tak sie nazywa plik do ktorego zapisuja sie dane) zapisywalo sie np tak:
Ja|Pozdrowienia|127.0.0.1

a teraz gdy jest tam tak:

$ip="$_SERVER[REMOTE_ADDR]";

<input name="ip" TYPE="hidden" value=\'$ip\' size=30>

to w pliku zapisuje sie tak:
Ja|pozdro|$ip ... wiec mam dwa problemy ;> jakbyscie mogli pomoc - thx.
Andree
zrob tak

$ip= $_SERVER[REMOTE_ADDR];

<input name=\"ip\" TYPE=\"hidden\" value=\"$ip\" size=30> - pojedyncze apotrofy php traktuje jako string i nie czyta zmiennych dlatego trzeba ""
m4tt_pl
Parse error: parse error, unexpected T_STRING in /home/ogar/public_html/matt/pozdrowienia2.php on line 23

niestety takie cos jak ty podales Andree nei dziala
crash
Ta linia wewnątrz print powinna wyglądać tak:
  1. <?php
  2. '<input name=\"ip\" type=\"hidden\" value=\"'.$_SERVER[REMOTE_ADDR].'\" size=\"30\"/>'
  3. ?>
dr_bonzo
A po co ta linie jest tak w ogole?
Przeciez ip sprawdzasz dopiero po otrzymaniu fanych z formularza z popozdrowieniami -- a nie w ten sposob ze user przysyla ci swoje ip w formularzu!
m4tt_pl
no wlasnie ip jest w formularzu HIDDEN jak widzisz.. to zbiera poprostu ip i przez inny plik zostaja zmodifikowane i zapisane do pliku txt dane. Crashu - dziala IP smile.gif a teraz jeszcze tylko te cookies.. jak zrobic zeby uzytkownik mogl pozdrawiac co 15 minut? Ktos moze dopisac odpowiednia rzecz?smile.gif
ganimedes
Siema jak chcesz to zgłoś się do mnie na gg, dogadamy się, napisalem taki skrypt z bajerkami smile.gif)

---REGARDS---
crash
  1. <?php
  2. if(empty($_COOKIE['pozdrawiales']))
  3. {
  4.  // tu normalna cześć z dodawaniem pozdrowień
  5.  
  6.  setcookie('pozdrawiales', 1, time() + 1200);
  7. }
  8. else
  9. {
  10.  echo 'Głosowałeś już!';
  11. }
  12. ?>
m4tt_pl
nie dziala .. dostaje taki error:


Warning: Cannot modify header information - headers already sent by (output started at /home/ogar/public_html/matt/pozdrowienia.php:1) in /home/ogar/public_html/matt/pozdrowienia.php on line 46

  1. <style type=\"text/css\">
  2. <!-- 
  3. select, option, textarea, input{
  4. BORDER-RIGHT: #808080 1px solid;
  5. BORDER-TOP: #808080 1px solid;
  6. BORDER-BOTTOM: #808080 1px solid;
  7. BORDER-LEFT: #808080 1px solid;
  8. COLOR: #000000;
  9. FONT-SIZE: 11px;
  10. FONT-FAMILY: Verdana;
  11. }
  12. font{
  13. COLOR: #000000;
  14. FONT-SIZE: 11px;
  15. FONT-FAMILY: Verdana;
  16. }
  17. -->
  18. </style>
  19. <?php
  20. if(empty($_COOKIE['pozdrawiales']))
  21. {
  22.   print('
  23. <form ACTION=\"zapis.php\" method=\"post\">
  24. <table>
  25. <tr>
  26. <td>
  27. <font>Nick:</FONT>
  28. </Td>
  29. <td>
  30. <input name=\"nick\" TYPE=\"text\" size=43s>
  31. </TD>
  32. </TR>
  33. <tr>
  34. <td valign=top>
  35. <font>Tresc:</FONT>
  36. </Td>
  37. <td>
  38. <textarea name=\"pozd\" cols=\"40\" rows=\"8\"></textarea>
  39. </TD>
  40. </TR>
  41. <input name=\"ip\" TYPE=\"hidden\" value=\"'.$_SERVER[REMOTE_ADDR].'\" size=30>
  42. </TABLE>
  43. <input TYPE=\"submit\" value=\"Pozdrów\">&nbsp;<input TYPE=\"reset\" value=\"Resetuj\">
  44. </FORM>');
  45.  
  46.    setcookie('pozdrawiales', 1, time() + 900);
  47. }
  48. else
  49. {
  50.    echo 'Juz puszczales pozdro;] poczekaj 20';
  51. }
  52. ?>
crash
Sorry, troche mój błąd. Nie możesz wyświetlać niczego przed wysłaniem ciacha. setcookie daj na początku tego warunku, a te style z samego początku musisz wrzucić w printa.
m4tt_pl
Dzieki crashu , respect. smile.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.