Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Maxymalna ilość znaków w formie
dragonate
post 17.12.2005, 23:31:37
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Witam
1.Mam problem tworzę swoją księgę gości i chcę ustawić maksymalną ilość znaków w każdej z tych formularzy textarea itp.
O to kod:
  1. <?php
  2.  
  3. <form method="POST" action="dodaj.php">
  4.         autor: <input type="text" name="T1" size="20">
  5.         <p>gg: <input type="text" name="T2" size="20"></p>
  6.         <p>&nbsp;</p>
  7.         </p>
  8.         <p>
  9.         <textarea rows="14" name="S1" cols="73"></textarea></p>
  10.         <p><input type="submit" value="Prześlij" name="B1"></p>
  11.         <p>&nbsp;</p>
  12.         </form>
  13.  
  14. ?>


2. Jak zrobic, zeby ktoś musiał coś wpisać w te formularze, jak nie to, żeby wyświetlał się tekst, jaka funkcja ?

Plik, ktory zapisuje wpisy do baz:
  1. <?php
  2. $file = fopen("baza.inc", 'a');
  3. if(fwrite($file, $_POST['S1'] . "n"))
  4. {
  5. echo 'Dziękuję za wpis<br />';
  6. }
  7. else
  8. {
  9. echo 'Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony<br />';
  10. }
  11. fclose($file);
  12.  
  13. $file1 = fopen ("baza1.inc", 'a');
  14. fwrite ($file1, $_POST['T1'] . "n");
  15. fclose($file1);
  16. $file2 = fopen ("baza2.inc", 'a');
  17. fwrite ($file2, $_POST['T2'] . "n");
  18. fclose ($file2);
  19. ?>


Ten post edytował dragonate 17.12.2005, 23:35:07


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post 17.12.2005, 23:34:48
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
i chcę ustawić maksymalną ilość znaków w każdej z tych formularzy
Przepraszam ze pytam, ale czy twoj post ma na celu poinformowanie nas wszystkich ze masz pewne zamiary, czy moze ma na celu o zapytanie jak to zrobic. Bo z tresci postu wynika ze ty nas infomujesz. Tak wiec odpowiadam: i bardzo dobrze. rob se ograniczenia.


a na powaznie. Pytasz sie? tak?
  1. <?php
  2. if (strlen($_POST['S1']) > 20) echo 'za duzo znakow';
  3. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ein
post 17.12.2005, 23:35:41
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 15.03.2005

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


wyprobuj maxlength

a tak poza tym sprawdzaj dlugosc po stronie php, bo po stronie klienta nic to nie da worriedsmiley.gif
Go to the top of the page
+Quote Post
nospor
post 17.12.2005, 23:36:23
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




maxlength dziala tylko dla inputow. dla textarea nie dziala


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dragonate
post 17.12.2005, 23:40:49
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Teraz mój plik wygląda tak:
  1. <?php
  2. $file = fopen("baza.inc", 'a');
  3. if(fwrite($file, $_POST['S1'] . "n"))
  4. {
  5. echo 'Dziękuję za wpis<br />';
  6. }
  7. else
  8. {
  9. echo 'Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony<br />';
  10. }
  11. if (strlen($file, $_POST['S1'] ? 20))
  12. else
  13. {
  14. echo 'za duzo znakow';
  15. }
  16. fclose($file);
  17.  
  18. $file1 = fopen ("baza1.inc", 'a');
  19. fwrite ($file1, $_POST['T1'] . "n");
  20. fclose($file1);
  21. $file2 = fopen ("baza2.inc", 'a');
  22. fwrite ($file2, $_POST['T2'] . "n");
  23. fclose ($file2);
  24. ?>


Błąd:
Parse error: parse error in c:\usr\krasnal\www\test\dodaj.php on line 11

Co jest źle ?

Chce zastosowac do wszystkich form ograniczenie.


--------------------
Go to the top of the page
+Quote Post
nospor
post 17.12.2005, 23:43:01
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przyjrzyj sie jeszcze raz uwanie mojemu kodowi. skad ci sie wzielo $file w strlen?
Jak robisz cos prze copy paste to rob to z glową. pozatym nie ? a >
i se poczytaj o if smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dragonate
post 17.12.2005, 23:45:17
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Zrobiłem działa, lecz jak połączyć to, że nie wysłano, że jest za dużo znaków.
Bo mi wyświetla:
Dziękuję za wpis
za duzo znakow

Ten post edytował dragonate 17.12.2005, 23:48:44


--------------------
Go to the top of the page
+Quote Post
nospor
post 17.12.2005, 23:52:22
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zeby programowac, oprocz wiedzy, trzeba tez troche myslec. Nie mozesz zapisywac do pliku, a dopiero potem sprawdzac czy mozesz zapisac. Troche logiki.

  1. <?php
  2.  
  3. if (strlen($_POST['S1'] > 20))
  4. echo 'za duzo znakow';
  5. else{
  6. if(fwrite($file, $_POST['S1'] . "n"))
  7. {
  8. echo 'Dziękuję za wpis<br />';
  9. }
  10. else
  11. {
  12. echo 'Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony<br />';
  13. }
  14. }
  15. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dragonate
post 18.12.2005, 11:44:31
Post #9





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Jeszcze nie przyszła mi książka "php i MYSQL Vademecum Profesionalisty wydanie III" i jeszcze pewnych rzeczy nie rozumiem itp.

Mój kod wygląda tak:
  1. <?php
  2. if (strlen($_POST['S1'] > 20))
  3. echo 'za duzo znakow';
  4. else{
  5. if(fwrite($file, $_POST['S1'] . "n"))
  6. {
  7. echo 'Dziękuję za wpis<br />';
  8. }
  9. else
  10. {
  11. echo 'Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony<br />';
  12. }
  13. }
  14.  
  15. $file1 = fopen ("baza1.inc", 'a');
  16. fwrite ($file1, $_POST['T1'] . "n");
  17. fclose($file1);
  18. $file2 = fopen ("baza2.inc", 'a');
  19. fwrite ($file2, $_POST['T2'] . "n");
  20. fclose ($file2);
  21. ?>


I ma wyświetlać błąd:
Warning: fwrite(): supplied argument is not a valid stream resource in c:\usr\krasnal\www\test\dodaj.php on line 5
Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony

?


--------------------
Go to the top of the page
+Quote Post
sobstel
post 18.12.2005, 11:51:47
Post #10





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(dragonate @ 2005-12-18 11:44:31)
Jeszcze nie przyszła mi książka "php i MYSQL Vademecum Profesionalisty wydanie III" i jeszcze pewnych rzeczy nie rozumiem itp.

co nie znaczy, ze pozwala ci to na zadawanie pytan, na ktore latwo odpowiedzi mozesz znalez w manualu. poczytaj o funkcjach plikowych, poogladaj przyklady, bo caly czas bedziesz mial jakis problem.

w twoim przykladzie wyglada na to, ze probujesz zapisywac do pliku, ktorego wczesniej nie otworzyles. skad php ma wiedziec na jakim pliku wykonywac fwrite?
w pierwszym przykladzie podanym w twoim pierwszym poscie bylo $file = fopen("baza.inc", 'a'); teraz tego nie widze


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
dragonate
post 18.12.2005, 11:56:06
Post #11





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


  1. <?php
  2. $file = fopen("baza.inc", 'a');
  3. if (strlen($_POST['S1'] > 20))
  4. echo 'za duzo znakow';
  5. else{
  6. if(fwrite($file, $_POST['S1'] . "n"))
  7. {
  8. echo 'Dziękuję za wpis<br />';
  9. }
  10. else
  11. {
  12. echo 'Niesty nie udalo się wysłać wpisu, skontaktuj się z administratorem strony<br />';
  13. }
  14. }
  15.  
  16. $file1 = fopen ("baza1.inc", 'a');
  17. fwrite ($file1, $_POST['T1'] . "n");
  18. fclose($file1);
  19. $file2 = fopen ("baza2.inc", 'a');
  20. fwrite ($file2, $_POST['T2'] . "n");
  21. fclose ($file2);
  22. ?>


Teraz działa, lecz nie ma ograniczenia znaków.


--------------------
Go to the top of the page
+Quote Post
nospor
post 18.12.2005, 12:29:18
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jak to nie ma? Przeciez jest. Jesli pole S1 ma wiecej znakow niz 20 to wyswietli odpowiedni komunikat i nie zapisze do pliku baza.inc. Masz w tej chwili ustawione ograniczenie tylko na to jedno pole. Pozostale pola zapisujesz bez ograniczen

ps:
Cytat
Jeszcze nie przyszła mi książka "php i MYSQL Vademecum Profesionalisty wydanie III" i jeszcze pewnych rzeczy nie rozumiem itp.
Myslenie i logika jest nie zalezne od ksiązek. Logiczne przeciez wydaje sie ze, ze zanim cos zjesz, sprawdzasz, czy nie jest to spleśniałe. No chyba ze ty robisz na odwrot? Najpierw jesz a potem lecisz do doktora smile.gif NIe bierz tego do siebie, nie mam zlych intentcji, poprostu staram ci sie wytlumaczyc, ze niektore zachowania sa niezalezne od ksiazek smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dragonate
post 18.12.2005, 12:55:24
Post #13





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Respekt tongue.gif

Tylko teraz pojawia się problem.

Każdy formularz zrobiłem w innej bazie, a chcę zrobić wyświetlenie wpisów.
I trzeba by jakoś to złączyć, żeby w "Wyświetl Wpisy" było tak:

nick:
GG:
Treść:

Niestety nick mam w bazie baza1.inc, GG mam w baza2.inc, a treść mam w baza.inc dry.gif

Nie mam pojęcia jak to zrobić .... worriedsmiley.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post 18.12.2005, 12:58:23
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) retyyy, a czemu wszystko w innym pliku? echhh

2) no ale skoro sie upierasz, to musisz pobierac ity rekord z zkazdego pliku, i kazy ity rekord bedzie info danego ludka. nie widze problemu (oprcz tego ze wszystko w oddzielnych plikach smile.gif )


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dragonate
post 18.12.2005, 17:33:27
Post #15





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.12.2005

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


Moge mieć wszystko w jednym pliku, tylko co i jak zrobić pozniej .... Rkingsmiley.png


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:49