Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak dodać licznik do formularza
Forum PHP.pl > Forum > Przedszkole
Grisza
Chcę by się zapisało tylko 50 osób I do tego czasu chcę by wyskakiwał mi formularz rejestracyjny.
Zrobiłem coś takiego w pliku do zapisu CSVki, ale gdy $i dam static, to wtedy ciągle jest 1, static w ogóle nie działa:
Jak to ugryźć ? I jeszcze do formularza chciałbym zaimportować samo $i, a nie cały plik zapisz. Pogrubiłem wszystkie dotyczące licznika dane. To tylko 3 linijki kodu. Jak zainkludować liczbę ?

  1.  
  2. <?php
  3. echo "<pre>";
  4. print_r($_POST);
  5. echo "</pre>";
  6. [b] static $i;[/b]
  7. if($_POST['submit']){
  8. //$list =$_POST['imie'].", ".$_POST['nazwisko'].", ".$_POST['instytucja'];
  9.  
  10. //$list =$_POST['imie'].",".$_POST['nazwisko'].",".$_POST['instytucja'].",".$_POST['mail'].",".$_POST['telefon'].",".$_POST['warsztat'].",".$_POST['nocleg1'].",".$_POST['nocleg2'].",".$_POST['nocleg3'];
  11. $list =trim($_POST['imie']).",".$_POST['nazwisko'].",".$_POST['instytucja'].",".$_POST['mail'].",".$_POST['telefon'].",".$_POST['warsztat'].",".$_POST['nocleg1'].",".$_POST['nocleg2'].",".$_POST['nocleg3'];
  12. //$list = str_replace("&", "_", $list);
  13. [b]$i++;[/b]
  14. }
  15. else{
  16. echo "Błąd z przesłaniem danych";
  17. }
  18. $fp = fopen('file.csv', 'a');
  19.  
  20. /*foreach ($list as $line) {
  21.   fputcsv($fp, split(',', $line), ',', '&quot;');
  22. }
  23. */
  24.  
  25.  
  26. fputcsv($fp, split(',', $list), ',', '&quot;');
  27.  
  28. //fputcsv($fp, split(',', $line));
  29.  
  30. fwrite($fp, "\r\n");
  31.  
  32. fclose($fp);
  33. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  34. <html>
  35. <head>
  36. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  37. <meta name="Description" content="Ankieta, mająca na celu zarejestrować zgłoszenie uczestników na warsztaty">
  38. <meta name="Keywords" content=" konferencja, warsztaty, webuzzz">
  39. <title>Ankieta przedkonferencyjna</title>
  40.  
  41. <link rel="stylesheet" href=" style.css" type="text/css">
  42. </head>
  43. <body style="background-color: #C5DDC9">
  44. <div class="content">
  45. <div class="ankieta">
  46. <center><span style="color:red; font-weight:bold; text-align:center; font-size:28px ">Dziękujemy za wypełnienie zgłoszenia
  47. </span></center>
  48. </div>
  49. </div>
  50. </body>
  51. </html>
  52. ';
  53. [b] echo $i[/b]
  54. ?>
  55.  


Próbowałem też przez ostatnie 20 minut tak to zrobić, ale wtedy mi licznik się nie zmienia:
  1. <?php
  2. echo $licznik;
  3. ?>
  4. <?php
  5.  
  6. if($licznik<=50)
  7. echo'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  11. <meta name="Description" content="Ankieta, mająca na celu zarejestrować zgłoszenie uczestników na warsztaty">
  12. <meta name="Keywords" content=" konferencja, warsztaty, webuzzz">
  13. <title>Ankieta przedkonferencyjna</title>
  14.  
  15. <link rel="stylesheet" href=" style.css" type="text/css">
  16. </head>
  17. <body style="background-color: #C5DDC9">
  18. <div class="content">
  19. <form action="zapis.php" method="post">
  20. <div class="ankieta">
  21. <fieldset>
  22. <legend>Formularz zgłoszeniowy na warsztaty z webuzzza</legend>
  23.  
  24. <p style="font-size:13px; font-style:italic; margin:13px;">Formularz zgłoszeniowy na warsztaty z tworzenia własnnej strony internetowej dla prowadzonego przez Państwa e-Centrum</p>
  25. <p>Podaj swoje imię: <input type="text" name="imie" value="tu wpisz swoje imię" size="30" maxlength="40" style="position: relative; left:68px; background-color: cornsilk;"></p>
  26. <p>Podaj swoje nazwisko: <input type="text" name="nazwisko" value="tu wpisz swoje nazwisko" size="30" maxlength="40" style="position: relative; left:40px; background-color: cornsilk;"></p>
  27. <p>Podaj swoją instytucję: <input type="text" name="instytucja" value="tu wpisz swoją instytucję" size="30" maxlength="40" style="position: relative; left:37px; background-color: cornsilk;"></p>
  28. <p>Podaj swoj mail kontaktowy: <input type="text" name="mail" value="tu wpisz swoj e-mail" size="30" maxlength="40" style="position: relative; left:5px; background-color: cornsilk;"></p>
  29. <p>Podaj swoj telefon: <input type="text" name="telefon" value="tu wpisz swoj telefon" size="30" maxlength="40" style="position: relative; left:60px; background-color: cornsilk;"></p>
  30. <fieldset>
  31. <legend><span style="color:green;">Wybierz warsztat w którym będziesz uczestniczyć </span><span style="color:red; font-weight: bold;">(jeden termin)</span></legend>
  32. <div style="background-color:cornsilk; margin:4px; padding:6px;">
  33. <input type="radio" name="warsztat" value="1" checked style="background-color:cornsilk;">warsztat 22.04 godz. 16-19 <span style="color:blue;">(grupa I)</span>
  34. <hr>
  35. <input type="radio" name="warsztat" value="2">warsztat 23.04 godz. 9-12 <span style="color:blue;">(grupa II)</span>
  36. <hr>
  37. <input type="radio" name="warsztat" value="3">warsztat 23.04 godz. 10-13 <span style="color:blue;">(grupa III)</span>
  38. </div>
  39. </fieldset>
  40. <br />
  41. <fieldset>
  42. <legend><span style="color:green;">Wybierz czy i w ilu noclegach będziesz uczestniczyć </span><span style="color:red; font-weight: bold;">(od jeden do wiele)</span></legend>
  43. <div style="background-color:cornsilk; margin:4px; padding:6px;">
  44. <input type="checkbox" name="nocleg1" value="0">bez noclegu
  45. <hr>
  46. <input type="checkbox" name="nocleg2" value="nocleg 21 kwietnia">nocleg 21 kwietnia
  47. <hr>
  48. <input type="checkbox" name="nocleg3" value="nocleg 22 kwietnia">nocleg 22 kwietnia
  49. </div>
  50. </fieldset>
  51. </fieldset>
  52. <br />
  53. <center><input type="submit" name ="submit" value="Wyślij formularz zgłoszeniowy"> <input type="reset" value="Wyzerowanie formularza"></center>
  54. </div>
  55. </form>
  56. </div>
  57. </body>
  58. </html>';
  59. else
  60. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  61. <html>
  62. <head>
  63. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  64. <meta name="Description" content="Ankieta, mająca na celu zarejestrować zgłoszenie uczestników na warsztaty">
  65. <meta name="Keywords" content=" konferencja, warsztaty, webuzzz">
  66. <title>Ankieta przedkonferencyjna</title>
  67.  
  68. <link rel="stylesheet" href=" style.css" type="text/css">
  69. </head>
  70. <body style="background-color: #C5DDC9">
  71. <div class="content">
  72. <div class="ankieta">
  73. <center><span style="color:red; font-weight:bold; text-align:center; font-size:28px ">Dziękujemy za wypełnienie zgłoszenia
  74. </span></center>
  75. </div>
  76. </div>
  77. </body>
  78. </html>
  79. ';
  80. ?>
  81. <?php
  82. if($_POST['submit']){
  83. $plik = fopen("plik.txt","r");
  84. $licznik = fgets($plik);
  85. fclose($plik);
  86. $licznik++;
  87.  
  88. $plik = fopen("plik.txt","w");
  89. fwrite($plik, $licznik);
  90. fclose($plik);
  91. }
  92. else
  93. {
  94. $plik = fopen("plik.txt","r");
  95. $licznik = fgets($plik);
  96. fclose($plik);
  97. }
  98.  
  99. echo $licznik;
  100. ?>
  101.  
  102.  
  103.  
  104.  
RiE
Mozesz zrobic np cos takiego:

  1. <?
  2. $ile=file_get_contents('licznik.txt');
  3. if($ile <= 50){
  4. /* Tutaj formularz */
  5. }else{
  6. /* Komunikat ze juz sie zarejestrowalo 50 osob*/
  7. }

Nastepnie przy przesylaniu danych i ich zapisie dopisujesz takie cos

  1. $ile=$ile+1;
  2. $plik=fopen('licznik.txt',w);
  3. flock($plik,2);
  4. fputs($plik,$ile);
  5. flock($plik,3);
  6. fclose($plik);
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.