Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Co jest nie tak z tym sktyptem
-darkowski-
post
Post #1





Goście







Witam mam problem ze skryptem do komentarzy tzn. nie wiem dlaczego wyświetla mi cały czas napis NAPISAŁ u samej góry no i nie wiem dlaczego jak ktoś w polu gdzie się pisze treść ktoś da ENTER a potem wyślij to się sypie cały komentarz ja bym wolał żeby po naciśnięciu ENTER był dodawany komentarz a nie obniżenie kursora na następną linijke
Mam nadzieje że mnie ktoś zrozumiał poniżej skrypt i z góry dzięki

dodawacz.php
  1. <style type="text/css">
  2. <!--
  3. body {
  4. background-color: #000000;
  5. }
  6. .style2 {
  7. color: #FF0000;
  8. font-weight: bold;
  9. font-size: 18px;
  10. }
  11. #Layer1 {
  12. position:absolute;
  13. left:204px;
  14. top:69px;
  15. width:81px;
  16. height:22px;
  17. z-index:1;
  18. }
  19. #Layer2 {
  20. position:absolute;
  21. left:98px;
  22. top:54px;
  23. width:82px;
  24. height:20px;
  25. z-index:2;
  26. }
  27. .style3 {
  28. color: #FF0000;
  29. font-weight: bold;
  30. }
  31. -->
  32. </style>
  33. <form action="zapis.php" method="POST">
  34. <table width="100%">
  35. <tr>
  36.  <td width="1%"><div align="center"></div></td>
  37.  <td width="99%">
  38.  <div align="center"><span class="style2">Treść</span>
  39.  <textarea name="tresc" cols="20" rows="5" style="width: 252; height: 70;"></textarea>
  40.  </div></td></tr>
  41. <tr>
  42.  <td width="1%"><div align="center"></div></td>
  43.  <td width="99%"> 
  44.  
  45.  <div align="center">
  46.  <span class="style2">
  47.  Autor</span><span class="style2">
  48.  <input name="autor" type="text" value="" size="38" />
  49.  </span></div></td>
  50. </tr>
  51. <tr>
  52. <td >&nbsp;</td>
  53.  <td>
  54.  
  55.  <div align="center">
  56.  <input type="submit" value="Dodaj" />
  57.  </div></td></tr>
  58. </table>
  59.  
  60. <div align="center"><span class="style3">Komentarze sa własnoscia ich  autor&oacute;w. <br />
  61. Autor strony nie ponosi odpowiedzialności za ich tresć!</span>
  62. </div>
  63. </form>
  64. <table class="all" border="0" width="100%">
  65.  <tr>
  66. <td><?php include "wiadomosc.php"; ?></td>
  67.  </tr>
  68. </table>
  69. <meta http-equiv="Pragma" content="no-cache" />
  70. <div align="center"></div>


zapis.php
  1. <style type="text/css">
  2. <!--
  3. body {
  4. background-color: #CCCCCC;
  5. }
  6. a:link {
  7. color: #000000;
  8. text-decoration: none;
  9. }
  10. a:visited {
  11. text-decoration: none;
  12. color: #000000;
  13. }
  14. a:hover {
  15. text-decoration: none;
  16. color: #FF0000;
  17. }
  18. a:active {
  19. text-decoration: none;
  20. color: #FF0000;
  21. }
  22. .style2 {font-weight: bold; font-size: 36px; color: #000000;}
  23. -->
  24. </style>
  25. <p align="center" class="style2">&nbsp;</p>
  26. <p align="center" class="style2">Właśnie dodałeś komentarz</p>
  27. <p align="center"><a href="http://niedojeby.lua.pl/dodawacz2.php"><strong>wr&oacute;ć</strong></a></p>
  28. <?php
  29. setlocale (LC_TIME, "pl_PL");
  30.  $fp=fopen("dane.php","a+");
  31.  flock($fp,LOCK_EX);
  32.  fwrite($fp,$_POST["autor"]."|".$_POST["tresc"]."|".strftime('%e %B %G o %H:%M:%S')."\n");
  33.  flock($fp,LOCK_UN);
  34.  fclose($fp);
  35.  
  36. ?>


wiadomosc.php
  1. <style type="text/css">
  2. <!--
  3. <meta http-equiv="Pragma" content="no-cache" />
  4. body {
  5. background-color: #000000;
  6. }
  7. body,td,th {
  8. color: #FFFFFF;
  9. }
  10. -->
  11. </style><?php
  12.  
  13.  $linia=explode("\n",file_get_contents("dane.php")); // kolejne linie sa zapisywane jako kolejne elementy tablicy "linia"
  14.  
  15.  $ilosc=count($linia); // ilosc linii/newsów
  16.  
  17.  for($c=$ilosc-1;$c>=3;$c--)
  18.  {
  19.  $element=explode("|",$linia[$c]); // kolejne czesci linii sa rozdzielane jako elementy tablicy "element"
  20.  echo '<table><tr><tr><tr><tr><tr><td><span style="color: #FF0000">'.$element[2].'</span></td></tr>';
  21.  echo '<tr><td><span style="color: #FF0000">Napisal: <b></span>' .$element[0].'</b></td></tr></table>';
  22.  echo '<TR><TD>&nbsp;&nbsp;&nbsp;'.stripslashes($element[1]).'</TD></TR>';
  23.  }
  24.  
  25. ?>
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 29)
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Co do ENTERA, daj zamiast textarea pole input (jak autor) i już (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-darkowski-
post
Post #3





Goście







Juz sprawdze
Go to the top of the page
+Quote Post
-darkowski-
post
Post #4





Goście







No działa tylko że teraz w polu gdzie się tekst wpisuje zapamiętuje to co było pisane wcześniej. Da się zrobić zeby tego nie pamiętał?
Go to the top of the page
+Quote Post
PawelC
post
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Cytat

(IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

Ten post edytował ExPlOiT 11.03.2008, 19:17:58
Go to the top of the page
+Quote Post
-darkowski-
post
Post #6





Goście







DZIAŁA WIELKIE DZIĘKI!!
Został tylko problem z tym czemu cały czas pisze NAPISAŁ(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) czyli to co pisałem na górze w poście
Go to the top of the page
+Quote Post
PawelC
post
Post #7





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Cytat
echo '<tr><td><span style="color: #FF0000">Napisal: <b></span>' .$element[0].'</b></td></tr></table>';

napisz sobie skrypt który po imieniu albo nicku rozpozna płeć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mam gdzieś taki, zaraz poszukam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował ExPlOiT 11.03.2008, 19:40:25
Go to the top of the page
+Quote Post
-darkowski-
post
Post #8





Goście







Chyba jednak nie wiecie o co mi chodzi najlepiej by było jakbyście weszli na tą strone www.niedojeby.republika.pl i dali na POGADUCHY i zobaczycie wtedy że na górze pisze samo NAPISAŁ choć nikt nie napisał
Go to the top of the page
+Quote Post
PawelC
post
Post #9





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


To sprawdzaj czy pola z formularza są wypełnione, jak nie to nie dodawaj do bazy a jak są to dodaj, wystarczy że teraz ktoś naciśnie u Ciebie guzik który dodaje komentarz i będziesz miał kolejne napisał bez jakiego kolwiek tekstu.
Go to the top of the page
+Quote Post
-darkowski-
post
Post #10





Goście







Ale ja nie wiem jak to zrobić w tym właśnie jest problem
Go to the top of the page
+Quote Post
PawelC
post
Post #11





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


na przykładzie inputu autor
  1. <input name="autor" type="text" value="" size="38" />

dla przykładu zrobie tak jeżeli pole autor będzie puste to wyświetli komunikat brak autora etc... a jak będzie to wyświetli kto jest autorem.
  1. <?php
  2. if($autor=='')
  3. print "Uzupełnij pole autor"; 
  4. }
  5. else 
  6. {print $autor;
  7. }
  8. ?>


Ten post edytował ExPlOiT 11.03.2008, 19:47:32
Go to the top of the page
+Quote Post
-darkowski-
post
Post #12





Goście







No dobra rozumiem cię ale ten napis NAPISAŁ który się cały czas wyświetla na stronie to nie jest przez to że ktoś wysłał puste pola bo przed chwilą sprawdzałem i jak się wyśle puste pola to jest podana data i kto niby napisał a tamto to nie wiem skąd się wzięło
Go to the top of the page
+Quote Post
PawelC
post
Post #13





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Zrób tak to nie doda Ci pustego wpisu:
  1. <?php
  2. $tresc=$_POST['tresc'];
  3. $autor=$_POST['autor'];
  4. if ($tresc=='') {
  5.  print "Wpisz treść komentarza";
  6. } elseif ($autor=='') {
  7.  print "Uzupełnij pole autor";
  8. } else {
  9.  setlocale (LC_TIME, "pl_PL");
  10.  $fp=fopen("dane.php","a+");
  11.  flock($fp,LOCK_EX);
  12.  fwrite($fp,$_POST["autor"]."|".$_POST["tresc"]."|".strftime('%e %B %G o %H:%M:%S')."\n");
  13.  flock($fp,LOCK_UN);
  14.  fclose($fp);
  15. }
  16. ?>

Wstaw to w miejsce tego:
  1. <?php
  2. setlocale (LC_TIME, "pl_PL");
  3.  $fp=fopen("dane.php","a+");
  4.  flock($fp,LOCK_EX);
  5.  fwrite($fp,$_POST["autor"]."|".$_POST["tresc"]."|".strftime('%e %B %G o %H:%M:%S')."\n");
  6.  flock($fp,LOCK_UN);
  7.  fclose($fp);
  8.  
  9. ?>


Ten post edytował ExPlOiT 11.03.2008, 20:00:43
Go to the top of the page
+Quote Post
-darkowski-
post
Post #14





Goście







Fajne to jest tylko to że nadal nie działa tzn jak skasuje wszystkie wpisy z dane.php i wpisze treść komentarza to pierwszego nie wyswietla potem pisze drugi raz to wyświetla tylko NAPISAŁ czyli tak jak wcześniej wogóle nie kumam tego
Go to the top of the page
+Quote Post
PawelC
post
Post #15





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Czemu nie zrobisz tego na bazie byś niemiał takich problemów? BYć może gdzieś Ci wysyła puste zmienne.
I wywal to:
  1. <p align="center" class="style2">Właśnie dodałeś komentarz</p>

Bo nawet jak formularz będzie pusty to komentarza nie doda a Wyświetli że dodano, już lepiej wstaw to pod kod który dodaje komentarz.

Ten post edytował ExPlOiT 11.03.2008, 20:48:35
Go to the top of the page
+Quote Post
Cienki1980
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


W kodzie pliku 'wiadomosc.php' wpisz
  1. <?php
  2. //zamiast
  3. for($c=$ilosc-1;$c>=3;$c--)
  4. //wpisz
  5. for($c=$ilosc-2;$c>=3;$c--)
  6. ?>


I problem z pustym "Napisał " masz z głowy
Go to the top of the page
+Quote Post
-darkowski-
post
Post #17





Goście







WIELKIE DZIĘKI JESTEŚCIE WIELCY!!! TO DZIAŁA!!
Go to the top of the page
+Quote Post
-darkowski-
post
Post #18





Goście







A jeszcze jedno jak zrobić żeby w polu gdzie się pisze treść i się pisze dłuższe zdanie to żeby przechodziło do następnej linijki a nie tak jak teraz wyświetlało w jednym ciągu jak się coś pisze?(chyba wiecie o co chodzi)
Go to the top of the page
+Quote Post
-darkowski-
post
Post #19





Goście







oto kod w którym trzeba coś zmienić

  1. <style type="text/css">
  2. <!--
  3. body {
  4. background-color: #000000;
  5. }
  6. .style2 {
  7. color: #FF0000;
  8. font-weight: bold;
  9. font-size: 18px;
  10. }
  11. #Layer1 {
  12. position:absolute;
  13. left:204px;
  14. top:69px;
  15. width:81px;
  16. height:22px;
  17. z-index:1;
  18. }
  19. #Layer2 {
  20. position:absolute;
  21. left:98px;
  22. top:54px;
  23. width:82px;
  24. height:20px;
  25. z-index:2;
  26. }
  27. .style3 {
  28. color: #FF0000;
  29. font-weight: bold;
  30. }
  31. -->
  32. </style>
  33. <form action="zapis.php" method="POST">
  34. <table width="100%">
  35. <tr>
  36.  <td width="1%"><div align="center"></div></td>
  37.  <td width="99%">
  38.  <div align="center"><span class="style2">Autor</span>
  39.  <span class="style2">
  40.  <input name="autor" type="text" autocomplete="off" value="" size="38" />
  41.  </span></input>
  42.  </div></td></tr>
  43. <tr>
  44.  <td width="1%"><div align="center"></div></td>
  45.  <td width="99%"> 
  46.  
  47.  <div align="center">
  48.  <span class="style2">
  49.  Treść</span>
  50.  <input type="text" name="tresc" autocomplete="off" cols="20" rows="5" style="width: 252; height: 70;" />
  51.  </div></td>
  52. </tr>
  53. <tr>
  54. <td > </td>
  55.  <td>
  56.  
  57.  <div align="center">
  58.  <input type="submit" value="Dodaj" />
  59.  </div></td></tr>
  60. </table>
  61.  
  62. <div align="center"><span class="style3">Komentarze sa własnoscia ich  autorów. <br />
  63. Autor strony nie ponosi odpowiedzialności za ich tresć!</span>
  64. </div>
  65. </form>
  66. <table class="all" border="0" width="100%">
  67.  <tr>
  68. <td><?php include "wiadomosc.php"; ?></td>
  69.  </tr>
  70. </table>
  71. <meta http-equiv="Pragma" content="no-cache" />
  72. <div align="center"></div>

i co tu zmienić żeby nie pisać w jednnym ciągu?
Go to the top of the page
+Quote Post
-darkowski-
post
Post #20





Goście







Chyba nikt mnie nie rozumie to wytłumacze jeszcze raz.
Chodzi mi o to żeby w polu gdzie się wpisuje tekst dział tak jakbym to było <tekstarea>tylko z działającym <input> czyli jak ktoś pisze coś dłuższego i dojdzie do końca ramki to od kursor przechodzi o linijke niżej tak samo jak tutaj się pisze tekst to automatycznie przejdzie kursor na dół jak się dojdzei do końca ramki.
Tego to tym bardziej nikt nie skuma(-:
Go to the top of the page
+Quote Post
-darkowski-
post
Post #21





Goście







Czyli tak jak jesto oknie GG
Go to the top of the page
+Quote Post
PawelC
post
Post #22





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


To jest nie realne żeby w polu input text zejść linijke niżej, to nie jest pole textarea że możesz sobie śmigać ile chcesz. A jak już chcesz powalczyć to poczytaj o formularzach html.
Go to the top of the page
+Quote Post
-darkowski-
post
Post #23





Goście







No to szkoda bede musiał zostawić tak jak jest ale dzieki
Go to the top of the page
+Quote Post
PawelC
post
Post #24





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


zobacz to:
  1. <textarea name="nazwa" style="width:200px;height:25px;"></textarea>
o ile o to Ci chodziło, piszesz tekst i jak dojdzie do końca pola to przechodzi do nowej lini a pole wygląda jak te zwykłe input text
Go to the top of the page
+Quote Post
-darkowski-
post
Post #25





Goście







No mniej więcej o to tylko że teraz jak daje ENTER to przechodzi do następnej linijki a ja chciałbym żeby wysyłało komentarz
Go to the top of the page
+Quote Post
PawelC
post
Post #26





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Do tego służy submit, bo enter to każdy może przez przypadek nacisnąć i Ci wyśle pusty formularz, to będziesz miał więcej spamu niż powinieneś mieć.
Go to the top of the page
+Quote Post
-darkowski-
post
Post #27





Goście







Chcą żebym zmienił ponieważ jak coś napiszą to odruchowo naciskają ENTER a tu jest tak że jak ktoś da ENTER a potem SUBMIT to się wszystko sypie w tych komentarzach i dlatego chciałem to zmienić
Go to the top of the page
+Quote Post
-darkowski-
post
Post #28





Goście







Jeżeli zmienie na textarea i ktoś przez przypadek naciśnie Enert i da DODAJ to wyjdzie takie coś jak tu
Go to the top of the page
+Quote Post
-darkowski-
post
Post #29





Goście







Albo co zrobić żeby w polu TREŚĆ po naciśnieciu ENTER nie zapisywało tego jako następna linia bo np: jak w polu Autor dam Darkowski a w polu TREŚĆ napisze test1 dam ENTER i napisze tes2 to zapisuje mi to tak:

Napisal: test1

13 marzec 2008 o 16:23:55

Napisal: Darkowski
test2

A powinno być

13 marzec 2008 o 16:23:55
Napisał: Darkowski
test1
test2
Go to the top of the page
+Quote Post
-darkowski-
post
Post #30





Goście







A nie dałoby się tak zrobić jak jest w gg tzn przycisk WYŚLIJ jest tak jakby cały czas wciśnięty i jak się daje enter to wysyła?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 12:07