Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz!
Forum PHP.pl > Forum > Przedszkole
Neon125
Witam... Npaisałem Forumlarz PHP i mam pare problemów otórz chciał bym aby nie wysyałało pustego formularza a także zapisywało go do plików txt to znaczy żeby każdy nowy forumlarz był zapisywany w innym pliku tekstowym... Nie podaje już kodu html bo to wiadome...

index2.php

  1. <?php
  2. $name = $_POST[name];
  3. $gra = $_POST[gra];
  4. $typ = $_POST[typ];
  5. $slot = $_POST[slot];
  6. $okres = $_POST[okres];
  7. $lokalizacja = $_POST[lokalizacja];
  8. $haslogry = $_POST[haslogry];
  9. $haslorcon = $_POST[haslorcon];
  10. $hasloftp = $_POST[hasloftp];
  11. $imie = $_POST[imie];
  12. $email = $_POST[email];
  13. $gg = $_POST[gg];
  14. $uwagi = $_POST[uwagi];
  15.  
  16.  
  17. if($gra == 1){
  18. $gra = "Counter-Strike 1.6";
  19. }else if($gra == 2){
  20. $gra = "Counter-Strike Condition Zero";
  21. }else if($gra == 3){
  22. $gra = "Call of Duty";
  23. }else if($gra == 4){
  24. $gra = "Call of Duty 2";
  25. }else if($gra == 5){
  26. $gra = "Call of Duty 4";
  27. }else if($gra == 6){
  28. $gra = "Counter Strike Source (ticrate 100)";
  29. }else if($gra == 7){
  30. $gra = "Counter Strike Source";
  31. }else if($gra == 8){
  32. $gra = "Day of Defeat: Source";
  33. }else if($gra == 9){
  34. $gra = "Half-Life Deathmatch Classic";
  35. }else if($gra == 10){
  36. $gra = "Half-Life 2 Deathmatch";
  37. }else if($gra == 11){
  38. $gra = "Red Orchestra";
  39. }else if($gra == 12){
  40. $gra = "Team Fortress 2";
  41. }else if($gra == 13){
  42. $gra = "Team Fortress Classic";
  43. }else if($gra == 14){
  44. $gra = "Team Speak 2";
  45. };
  46.  
  47. if($typ == typ1){
  48. $typ = "Prywatny";
  49. }else if($typ == typ2){
  50. $typ = "Publiczny";
  51. };
  52.  
  53. if($slot == slot1){
  54. $slot = "1";
  55. }else if($slot == slot2){
  56. $slot = "2";
  57. }else if($slot == slot3){
  58. $slot = "3";
  59. }else if($slot == slot4){
  60. $slot = "4";
  61. }else if($slot == slot25){
  62. $slot = "5";
  63. }else if($slot == slot6){
  64. $slot = "6";
  65. }else if($slot == slot7){
  66. $slot = "7";
  67. }else if($slot == slot8){
  68. $slot = "8";
  69. }else if($slot == slot9){
  70. $slot = "9";
  71. }else if($slot == slot10){
  72. $slot = "10";
  73. }else if($slot == slot11){
  74. $slot = "11";
  75. }else if($slot == slot12){
  76. $slot = "12";
  77. }else if($slot == slot13){
  78. $slot = "13";
  79. }else if($slot == slot14){
  80. $slot = "14";
  81. }else if($slot == slot15){
  82. $slot = "15";
  83. }else if($slot == slot16){
  84. $slot = "16";
  85. }else if($slot == slot17){
  86. $slot = "17";
  87. }else if($slot == slot18){
  88. $slot = "18";
  89. }else if($slot == slot19){
  90. $slot = "19";
  91. }else if($slot == slot20){
  92. $slot = "20";
  93. }else if($slot == slot21){
  94. $slot = "21";
  95. }else if($slot == slot22){
  96. $slot = "22";
  97. }else if($slot == slot23){
  98. $slot = "23";
  99. }else if($slot == slot24){
  100. $slot = "24";
  101. }else if($slot == slot25){
  102. $slot = "25";
  103. }else if($slot == slot26){
  104. $slot = "26";
  105. }else if($slot == slot27){
  106. $slot = "27";
  107. }else if($slot == slot28){
  108. $slot = "28";
  109. }else if($slot == slot29){
  110. $slot = "29";
  111. }else if($slot == slot30){
  112. $slot = "30";
  113. }else if($slot == slot31){
  114. $slot = "31";
  115. }else if($slot == slot32){
  116. $slot = "32";
  117. };
  118.  
  119. if($okres == okres){
  120. $okres= "1 miesiąc";
  121. }else if($okres == okres2){
  122. $okres = "2 miesiące";
  123. }else if($okres == okres3){
  124. $okres = "3 miesiące";
  125. }else if($okres == okres4){
  126. $okres = "4 miesiące";
  127. }else if($okres == okres5){
  128. $okres = "5 miesięcy";
  129. }else if($okres == okres6){
  130. $okres = "6 miesięcy";
  131. }else if($okres == okres7){
  132. $okres = "7 miesięcy";
  133. }else if($okres == okres8){
  134. $okres = "8 miesięcy";
  135. }else if($okres == okres9){
  136. $okres = "9 miesięcy";
  137. }else if($okres == okres10){
  138. $okres = "10 miesięcy";
  139. }else if($okres == okres11){
  140. $okres = "11 miesięcy";
  141. }else if($okres == okres12){
  142. $okres = "12 miesięcy";
  143. };
  144.  
  145. if($lokalizacja == lokalizacja){
  146. $lokalizacja = "PL - Sosnowiec";
  147. }else if($lokalizacja == lokalizacja){
  148. $lokalizacja = "PL - Sosnowiec";
  149. };
  150.  
  151.  
  152.  
  153.  
  154.  
  155. ?>
  156. <table border="1" cellspacing="0" cellpadding="3" align="center">
  157. <tr><td>
  158. Nazwa Serwera:
  159. <td>
  160. <?=$name?>@ColdFire.pl
  161. <tr><td>
  162. Gra:
  163. <td>
  164. <?=$gra?>
  165. <tr><td>
  166. Typ Serwera:
  167. <td>
  168. <?=$typ?>
  169. <tr><td>
  170. Ilosc Slotow:
  171. <td>
  172. <?=$slot?>
  173. <tr><td>
  174. Okres Platnosci:
  175. <td>
  176. <?=$okres?>
  177. <tr><td>
  178. Lokalizacja:
  179. <td>
  180. <?=$lokalizacja?>
  181. <tr><td>
  182. Haslo Gry:
  183. <td>
  184. <?=$haslogry?>
  185. <tr><td>
  186. Haslo Rcon:
  187. <td>
  188. <?=$haslorcon?>
  189. <tr><td>
  190. Haslo Ftp:
  191. <td>
  192. <?=$hasloftp?>
  193. <tr><td>
  194. Imie i Nazwisko:
  195. <td>
  196. <?=$imie?>
  197. <tr><td>
  198. E-Mail:
  199. <td>
  200. <?=$email?>
  201. <tr><td>
  202. Numer Gadu-Gadu:
  203. <td>
  204. <?=$gg?>
  205. <tr><td>
  206. Dodatkowe Uwagi:
  207. <td>
  208. <?=$uwagi?>
  209. </table>


MOJE GG: 4631946
matx132
po pierwsze czy nie za duzo pisania tak?
if else?
jak już piszesz tak to po co lese??
nie lepiej
if
if
if
....


po drugie dodaj sobie sprawdzanie czy zmienna jest pusta jesli jest
to np
  1. <?php
  2. die('nie wypelniono wszystkich pól');
  3. ?>

i nie bedzie nic potem robione
Neon125
jestem w tym początkujący i słabo mi to wychodzi :/ możesz dokładniej wytłumaczyć
batman
Przenoszę na przedszkole.
Neon125
Chodzi mi o to jak zrobić zeby po wysłąniu formularza zapisywał sie on w innych plikach tekstowych . na uniklanym id czyli 1.txt , 2.txt , np. od 1 do 100000

I dalej niewiem jakz ablkować żebym nie wysyłał pustego formularza ;'/
pyro
sprawdzenie wypełnienia: empty" title="Zobacz w manualu PHP" target="_manual

Chcesz zapisywac kazde wypelnienie w oddzielnych plikach o unikalnym id? hmm... moze cos takiego:

  1. <?php
  2. $a = file_get_contents('id.txt');
  3. $a += 1;
  4. file_put_contents($a.'txt', $dane_jakie_chcesz zapisać);
  5. ?>
matx132
wysłać niech wysle ale sprawdzaj czy zmieena jest putsa np

  1. <?php
  2. if (empty (var))
  3. {
  4. die 'zmienna pusta lub jest 0';
  5. }
  6. ?>


po tym juz nic nie bedzie wykonywane jesli zmienna jets pusta


jeśli chodzi o pliki mozna zrobić to tak:D
albo przez mysql zapisuje ostatnie id a potem dodaje 1 i zapisuje nastepny plik
lub w jakims pliku bedzie zapisywana ostatnie id
bądz sprawdzac bedzie czy id 1,2,3....10 istnieje jesli tak dodaje 1 i sprawdza dalej:D
Neon125
Hmm a jak zrobić żeby zapisało do pliku z formularza <option>??

@edit

Skrypt Pyro nie działa nic sie tworzy ;/
matx132
jesli chcesz wybierac plik do którego ma byc zapisane to mozesz tak jak już napisałeś uzyc Option
pyro
Neon123, przecież ja ci nie dałem gotowca tylko podpowiedz jak to zrobić, poza tym specjalnie nie napisałem jeszcze zapisywania do pliku kolejnego id zebys juz sam to zrobil... sprobuj wykorzystac to co ci podalem
Neon125
LEcz ja dopiero od 7 dni bawie sie w php... Mógł by ktoś ten kod złączyć w jedną całosć był bym bardzo wdzięczny

Wiem że robie z sibie kretyna . Ale tego nie potrafie
matx132
http://www.hakthat.webpark.pl/1.txt


otwieranie zapisywanie usuwanie pliku
Neon125
Zrobiłem coś takiego .
  1.  
  2. <?
  3.  
  4. $napis="Dziękujemy Za Wysłanie Zamówienia";
  5.  
  6. $dataloc="data.txt";
  7.  
  8. $name = $_POST[name];
  9.  
  10. $gra = $_POST[gra];
  11.  
  12. $typ = $_POST[typ];
  13.  
  14. $slot = $_POST[slot];
  15.  
  16. $okres = $_POST[okres];
  17.  
  18. $lokalizacja = $_POST[lokalizacja];
  19.  
  20. $haslogry = $_POST[haslogry];
  21.  
  22. $haslorcon = $_POST[haslorcon];
  23.  
  24. $hasloftp = $_POST[hasloftp];
  25.  
  26. $imie = $_POST[imie];
  27.  
  28. $email = $_POST[email];
  29.  
  30. $gg = $_POST[gg];
  31.  
  32. $uwagi = $_POST[uwagi];
  33.  
  34. $rand = rand(1,10000000);
  35.  
  36. $zobacz="<a href=kom.php>$napis</a>";
  37.  
  38.  
  39.  
  40. if($gra == 1){
  41.  
  42. $gra = "Counter-Strike 1.6";
  43.  
  44. }else if($gra == 2){
  45.  
  46. $gra = "Counter-Strike Condition Zero";
  47.  
  48. }else if($gra == 3){
  49.  
  50. $gra = "Call of Duty";
  51.  
  52. }else if($gra == 4){
  53.  
  54. $gra = "Call of Duty 2";
  55.  
  56. }else if($gra == 5){
  57.  
  58. $gra = "Call of Duty 4";
  59.  
  60. }else if($gra == 6){
  61.  
  62. $gra = "Counter Strike Source (ticrate 100)";
  63.  
  64. }else if($gra == 7){
  65.  
  66. $gra = "Counter Strike Source";
  67.  
  68. }else if($gra == 8){
  69.  
  70. $gra = "Day of Defeat: Source";
  71.  
  72. }else if($gra == 9){
  73.  
  74. $gra = "Half-Life Deathmatch Classic";
  75.  
  76. }else if($gra == 10){
  77.  
  78. $gra = "Half-Life 2 Deathmatch";
  79.  
  80. }else if($gra == 11){
  81.  
  82. $gra = "Red Orchestra";
  83.  
  84. }else if($gra == 12){
  85.  
  86. $gra = "Team Fortress 2";
  87.  
  88. }else if($gra == 13){
  89.  
  90. $gra = "Team Fortress Classic";
  91.  
  92. }else if($gra == 14){
  93.  
  94. $gra = "Team Speak 2";
  95.  
  96. };
  97.  
  98. if($typ == typ1){
  99.  
  100. $typ = "Prywatny";
  101.  
  102. }else if($typ == typ2){
  103.  
  104. $typ = "Publiczny";
  105.  
  106. };
  107.  
  108. if($slot == slot1){
  109.  
  110. $slot = "1";
  111.  
  112. }else if($slot == slot2){
  113.  
  114. $slot = "2";
  115.  
  116. }else if($slot == slot3){
  117.  
  118. $slot = "3";
  119.  
  120. }else if($slot == slot4){
  121.  
  122. $slot = "4";
  123.  
  124. }else if($slot == slot25){
  125.  
  126. $slot = "5";
  127.  
  128. }else if($slot == slot6){
  129.  
  130. $slot = "6";
  131.  
  132. }else if($slot == slot7){
  133.  
  134. $slot = "7";
  135.  
  136. }else if($slot == slot8){
  137.  
  138. $slot = "8";
  139.  
  140. }else if($slot == slot9){
  141.  
  142. $slot = "9";
  143.  
  144. }else if($slot == slot10){
  145.  
  146. $slot = "10";
  147.  
  148. }else if($slot == slot11){
  149.  
  150. $slot = "11";
  151.  
  152. }else if($slot == slot12){
  153.  
  154. $slot = "12";
  155.  
  156. }else if($slot == slot13){
  157.  
  158. $slot = "13";
  159.  
  160. }else if($slot == slot14){
  161.  
  162. $slot = "14";
  163.  
  164. }else if($slot == slot15){
  165.  
  166. $slot = "15";
  167.  
  168. }else if($slot == slot16){
  169.  
  170. $slot = "16";
  171.  
  172. }else if($slot == slot17){
  173.  
  174. $slot = "17";
  175.  
  176. }else if($slot == slot18){
  177.  
  178. $slot = "18";
  179.  
  180. }else if($slot == slot19){
  181.  
  182. $slot = "19";
  183.  
  184. }else if($slot == slot20){
  185.  
  186. $slot = "20";
  187.  
  188. }else if($slot == slot21){
  189.  
  190. $slot = "21";
  191.  
  192. }else if($slot == slot22){
  193.  
  194. $slot = "22";
  195.  
  196. }else if($slot == slot23){
  197.  
  198. $slot = "23";
  199.  
  200. }else if($slot == slot24){
  201.  
  202. $slot = "24";
  203.  
  204. }else if($slot == slot25){
  205.  
  206. $slot = "25";
  207.  
  208. }else if($slot == slot26){
  209.  
  210. $slot = "26";
  211.  
  212. }else if($slot == slot27){
  213.  
  214. $slot = "27";
  215.  
  216. }else if($slot == slot28){
  217.  
  218. $slot = "28";
  219.  
  220. }else if($slot == slot29){
  221.  
  222. $slot = "29";
  223.  
  224. }else if($slot == slot30){
  225.  
  226. $slot = "30";
  227.  
  228. }else if($slot == slot31){
  229.  
  230. $slot = "31";
  231.  
  232. }else if($slot == slot32){
  233.  
  234. $slot = "32";
  235.  
  236. };
  237.  
  238. if($okres == okres1){
  239.  
  240. $okres= "1 miesiąc";
  241.  
  242. }else if($okres == okres2){
  243.  
  244. $okres = "2 miesiące";
  245.  
  246. }else if($okres == okres3){
  247.  
  248. $okres = "3 miesiące";
  249.  
  250. }else if($okres == okres4){
  251.  
  252. $okres = "4 miesiące";
  253.  
  254. }else if($okres == okres5){
  255.  
  256. $okres = "5 miesięcy";
  257.  
  258. }else if($okres == okres6){
  259.  
  260. $okres = "6 miesięcy";
  261.  
  262. }else if($okres == okres7){
  263.  
  264. $okres = "7 miesięcy";
  265.  
  266. }else if($okres == okres8){
  267.  
  268. $okres = "8 miesięcy";
  269.  
  270. }else if($okres == okres9){
  271.  
  272. $okres = "9 miesięcy";
  273.  
  274. }else if($okres == okres10){
  275.  
  276. $okres = "10 miesięcy";
  277.  
  278. }else if($okres == okres11){
  279.  
  280. $okres = "11 miesięcy";
  281.  
  282. }else if($okres == okres12){
  283.  
  284. $okres = "12 miesięcy";
  285.  
  286. };
  287.  
  288. if($lokalizacja == lokalizacja){
  289.  
  290. $lokalizacja = "PL - Sosnowiec";
  291.  
  292. }else if($lokalizacja == lokalizacja){
  293.  
  294. $lokalizacja = "PL - Sosnowiec";
  295.  
  296. };
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310. $read=fopen($dataloc, "r");
  311.  
  312. $fileread = fread($read, filesize($dataloc));
  313.  
  314. fclose($read);
  315.  
  316.  
  317.  
  318. fwrite (fopen("data.txt", "r+"), "<center> <h3>Nr Zamówienia: </h3><td> $rand </center><br /> <br /> Nazwa Serwera: <b> $name </b> <br /> Gra: <b> $gra </b> <br />Typ Serwera: <b> $typ </b> <br />Slotów: <b> $slot </b> <br /> Okres Płatności: <b> $okres </b> <br /> Lokalizacja: <b> $lokalizacja </b> <br /> Hasło Do Gry: <b> $haslogry </b> <br /> Hasło Rcon: <b> $haslorcon </b> <br /> Hasło FTP: <b> $hasloftp </b> <br /> Imie I Nazwisko: <b> $imie </b> <br /> Email: <b> $email </b> <br /> Gadu Gadu: <b> $gg </b> <br /> Dodatmowe Uwagi: <b> $uwagi </b> <hr noshade size=1 color=#000000> n $fileread</td>
  319.  
  320. </table>");
  321.  
  322. fclose(fopen("data.txt", "a+"));
  323.  
  324. echo ("$zobacz");
  325.  
  326. ?>


Teraz Takie pytanie do was. jak zrobić żeby każde nowe zamówienie zapisywało sie w nowym pliku od 1.txt np. do 10000.txt . I jak zmienić rand żeby pokazywał unikalne liczby tak samo od 1 smile.gif

pyro
Cytat
Teraz Takie pytanie do was. jak zrobić żeby każde nowe zamówienie zapisywało sie w nowym pliku od 1.txt np. do 10000.txt .


a o czym niby od poczatku kurde mowa? Zadajesz dokładnie to samo pytanie co wcześniej. Ja już ci dałem gotową podpowiedź (nie gotowca), więc ją wyklorzystaj.
Cytat("Ja")
sprawdzenie wypełnienia: empty

Chcesz zapisywac kazde wypelnienie w oddzielnych plikach o unikalnym id? hmm... moze cos takiego:

  1. <?php
  2. $a = file_get_contents('id.txt');
  3. $a += 1;
  4. file_put_contents($a.'txt', $dane_jakie_chcesz zapisać);
  5. ?>
Pilsener
1. Sprawdzanie czy pola formularza są wypełnione:
- użyj pętli foreach i funkcji empty zamiast stada ifów. Na początek daj:
  1. <?php
  2. print_r($_POST);
  3. ?>
- potem spróbuj to samo pętlą foreach, na końcu wstaw w pętle warunek, który sprawdzi, czy pole nie jest puste, nie zawiera złych danych etc. Poczytaj o pętlach i spróbuj ich użyć do dynamicznego wygenerowania formularza lub tablicy.

2. Dane wejściowe
- użyj tablic na zasadzie pozycja(klucz) - wartość
Kod
$tablica['gra']['1'] = 'Counter Strike';
$tablica['gra']['2'] = 'Inna Gra';
$tablica['slot'] = '8';
- tablice możesz zapisać w pliku wykorzystując serialize i unserialize lub file+explode. Znów unikniesz w kodzie paru ifów. Poczytaj o tablicach i musisz się nauczyć oddzielać silnik od treści - dane przechowujemy poza skryptem (w tym wypadku listę gier)

3. Dane wyjściowe:
- generujesz plik o unikatowej nazwie:
  1. <?php
  2. $plik = md5(uniqid());
  3. ?>
- to wygeneruje Ci niepowtarzalną nazwę pliku. Możesz też numerować pliki po kolei - w tym celu musisz poczytać o plikach, funkcjach typu glob etc.
- zapisujesz do pliku formularz w postaci tablicy na zasadzie: klucz-wartość. Może to być gra-1 slot-4, ale też 1-1, 2-4 - ja bym polecał indeksowanie numeryczne, bo łatwiej się obrabia, sortuje etc.

Tutaj masz mój tutek o zapisie, odczycie i edycji danych w plikach tekstowych:
forumweb.pl/viewtopic.php?t=39103 - musisz to opanować na początek, a w przyszłości baza danych się kłania

Musisz dużo czytać i samemu eksperymentować a zadawać mniej pytań na forum - inaczej się nie nauczysz. Polecam manual PHP:
http://www.php.net/manual/pl/index.php - znajdziesz tam wyczerpujące opisy, przykłady i komentarze
Neon125
Dziękuje za wasze porady..

Pozdrawiam Neon
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.