Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz
Forum PHP.pl > Forum > Gotowe rozwiązania
ozeksportu
Witam,
Tworze stronę ligi piłkarskiej bazującej na extreme-fusion i wpadłem na pomysł, by zrobić formularz zgłoszeniowy, bo zapisywać swoją drużynę do ligi i po naciśnięciu przycisku "Wyślij" dodawało to zgłoszenie pod formularzem by automatycznie wskakiwało na tą stronę zgłoszenie. Myślę, że każdy wie mniej więcej o co mi chodzi, i generalnie mam pytanie czy wiecie jak coś takiego zrobić? smile.gif

Pozdrawiam.
Szymciosek
Wiemy, aczkolwiek, gdzie masz kwestie bezpieczeństwa? Jeśli wprowadzę do formularza dane tekstowe obrażające Ciebie to to i tak przejdzie, no chyba, że drużyny są wybierane z listy, to już inaczej wtedy...

Czego potrzebujesz:
- Formularze html
- Odebranie danych z formularza w php
- Wysłanie danych do bazy (INSERT INTO... - wpisz w google)
- Na innej podstronie odebranie danych z bazy i ich wyświetlenie (SELECT x FROM...)
ozeksportu
Dzięki za linki, ale mam jeszcze pytanie, bo skorzystałem z takiego kodu, lecz gdy w drugim polu do wpisywania chcę napisać więcej lini, przykładowo:

Siemka
Siemka
Siemka

To on mi daje <hr> od razu po pierwszym Siema, a chciałbym żeby załamał po ostatnim wypisanym. Podaje screena ze strony o co mi chodzi:

http://pokazywarka.pl/ipw7po/

A oto kod:
  1. <?php
  2.  
  3. $pole1 = trim($_POST['pole1']);
  4. $pole2 = trim($_POST['pole2']);
  5.  
  6. if(empty($pole1) and empty($pole2)) {
  7.  
  8. // prosty formularz zawierający dwa pola
  9. echo '<form action="" method="post">
  10. <input type="text" name="pole1" style="width: 200px;" /><br />
  11. <textarea name="pole2" style="width: 200px; height: 100px;">
  12. </textarea><br />
  13. <input type="submit" value="Zapisz" />
  14. </form>';
  15. }
  16. else {
  17.  
  18. // dane pochodzące z formularza
  19. $dane = $pole1."`".$pole2."\n";
  20. // przypisanie zmniennej $file nazwy pliku
  21. $file = "baza.txt";
  22. // uchwyt pliku, otwarcie do dopisania
  23. $fp = fopen($file, "a");
  24. // blokada pliku do zapisu
  25. flock($fp, 2);
  26. // zapisanie danych do pliku
  27. fwrite($fp, $dane);
  28. // odblokowanie pliku
  29. flock($fp, 3);
  30. // zamknięcie pliku
  31. fclose($fp);
  32.  
  33. echo "Dane zostały zapisane!<br />";
  34. echo "<a href=\"podglad.php\">Zobacz wpisane dane</a>";
  35. }
  36.  
  37. ?>
  38. <?php
  39.  
  40. // wczytanie zawartości pliku do tablicy
  41. $file = file("baza.txt");
  42. // przechodzimy przez tablicę za pomocą pętli foreach
  43. foreach($file as $value) {
  44. // rozbijamy poszczególne linie na części
  45. $exp = explode("`",$value);
  46. // wyświetlamy rozbity tekst
  47. echo $exp[0]."<br />".$exp[1]."<hr />";
  48. }
  49.  
  50. ?>
toaspzoo
  1. ...
  2.  
  3. echo $exp[0]."<br />".$exp[1];
  4. } echo '<hr>';
ozeksportu
Już jest w pewnym sensie ok, ale chciałbym żeby wysłanie formularza oddzielało kolejne właśnie przez <hr>. Także nie wiem czemu druga linia w polu formularza nie jest później oddzielana np: wpisuję do pola:

Siemka
Siemka
Siemka

Po wysłaniu formularza otrzymuje:

Siemka Siemka
Siemka

Da się coś z tymi rzeczami zrobić?
toaspzoo
  1. echo'<br>'. $exp[0].$exp[1];
ozeksportu
Lepiej, ale nadal średnio to wygląda. Nadal po wpisaniu tematu, pierwsza linia w drugim polu jest napisane obok tematu, oraz po wysłaniu następnego formularza nie odddziela mi poprzedniego poprzez <hr>. Tutaj pokazuje jak to teraz wygląda:

http://pokazywarka.pl/6309ki/
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-2024 Invision Power Services, Inc.