Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS][HTML][PHP]Formularz wysyłający excela zbiorczego na @
0110110101101011
post 20.08.2018, 09:18:59
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.05.2018

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


Hej,

Napisałem skrypt PHP do wysyłki maila z ankietą:

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3.  
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="PL">
  7. <!-- Main CSS Stylesheet -->
  8. <link rel="stylesheet" type="text/css" href="css/style.css">
  9.  
  10. <!-- Google Web Fonts -->
  11. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:400,300,500,600,700">
  12.  
  13. </head>
  14. <body>
  15.  
  16. <?php
  17.  
  18.  
  19.  
  20.  
  21. $twojemail = "mail@mail.pl"; //na jaki adres ma zostać wysłana treść z formularza
  22. $blad=0;
  23.  
  24.  
  25. if (isset($pyt1) && $pyt1=="Bardzo krótki") echo "checked";
  26. if (isset($pyt1) && $pyt1=="Krótki") echo "checked";
  27. if (isset($pyt1) && $pyt1=="Dugi") echo "checked";
  28. if (isset($pyt1) && $pyt1=="Bardzo dugi") echo "checked";
  29.  
  30. if (isset($pyt2) && $pyt2=="Zdecydowanie tak") echo "checked";
  31. if (isset($pyt2) && $pyt2=="Tak") echo "checked";
  32. if (isset($pyt2) && $pyt2=="Nie") echo "checked";
  33. if (isset($pyt2) && $pyt2=="Zdecydowanie nie") echo "checked";
  34.  
  35. if (isset($pyt3) && $pyt3=="Zdecydowanie tak") echo "checked";
  36. if (isset($pyt3) && $pyt3=="Tak") echo "checked";
  37. if (isset($pyt3) && $pyt3=="Nie") echo "checked";
  38. if (isset($pyt3) && $pyt3=="Zdecydowanie nie") echo "checked";
  39.  
  40. if (isset($pyt4) && $pyt4=="Zdecydowanie tak") echo "checked";
  41. if (isset($pyt4) && $pyt4=="Tak") echo "checked";
  42. if (isset($pyt4) && $pyt4=="Nie") echo "checked";
  43. if (isset($pyt4) && $pyt4=="Zdecydowanie nie") echo "checked";
  44.  
  45. if (isset($pyt5) && $pyt5=="Zdecydowanie tak") echo "checked";
  46. if (isset($pyt5) && $pyt5=="Tak") echo "checked";
  47. if (isset($pyt5) && $pyt5=="Nie") echo "checked";
  48. if (isset($pyt5) && $pyt5=="Zdecydowanie nie") echo "checked";
  49.  
  50. if (isset($pyt6) && $pyt6=="Zdecydowanie tak") echo "checked";
  51. if (isset($pyt6) && $pyt6=="Tak") echo "checked";
  52. if (isset($pyt6) && $pyt6=="Nie") echo "checked";
  53. if (isset($pyt6) && $pyt6=="Zdecydowanie nie") echo "checked";
  54.  
  55. if (isset($pyt7) && $pyt7=="Zdecydowanie tak") echo "checked";
  56. if (isset($pyt7) && $pyt7=="Tak") echo "checked";
  57. if (isset($pyt7) && $pyt7=="Nie") echo "checked";
  58. if (isset($pyt7) && $pyt7=="Zdecydowanie nie") echo "checked";
  59.  
  60.  
  61. if (isset($_POST['submit'])) {
  62.  
  63. // filtrowanie treści wprowadzonych przez użytkownika
  64. $temat = "Ankieta"; // temat wiadomości
  65. $pyt1 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt1"]))), ENT_QUOTES);
  66. $pyt2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt2"]))), ENT_QUOTES);
  67. $pyt3 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt3"]))), ENT_QUOTES);
  68. $pyt4 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt4"]))), ENT_QUOTES);
  69. $pyt5 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt5"]))), ENT_QUOTES);
  70. $pyt6 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt6"]))), ENT_QUOTES);
  71. $pyt7 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pyt7"]))), ENT_QUOTES);
  72. $message = htmlspecialchars(stripslashes(strip_tags(trim($_POST["message"]))), ENT_QUOTES);
  73.  
  74. // sprawdzamy czy wszystkie pola zostały wypełnione
  75.  
  76.  
  77. }
  78. if (!$message) {
  79. $blad++;
  80. echo '<p class="blad">Proszę wpisać treść wiadomości.</p>';
  81. }
  82.  
  83. // jeżeli nie ma błędu, to wiadomość e-mail zostaje wysłana
  84. if ($blad == 0) {
  85.  
  86. // niezbędne nagłówki do wyświetlania wiadomości HTML
  87. $naglowki = "MIME-Version: 1.0" . "\r\n";
  88. $naglowki .= "Content-type:text/html;charset=utf-8" . "\r\n";
  89.  
  90. // opcjonalne nagłówki
  91. $naglowki .= 'From: <'.$twojemail.'>' . "\r\n";
  92.  
  93.  
  94. // całkowita treść wiadomości
  95. $message = nl2br($message);
  96. $wiadomosc = <<< KONIEC
  97.   <html>
  98.   <p><strong>Pyt 1:</strong> $pyt1</p>
  99.   <p><strong>Pyt 2:</strong> $pyt2</p>
  100.   <p><strong>Pyt 3:</strong> $pyt3</p>
  101.   <p><strong>Pyt 4::</strong> $pyt4</p>
  102.   <p><strong>Pyt 5:</strong> $pyt5</p>
  103.   <p><strong>Pyt 6:</strong> $pyt6</p>
  104.   <p><strong>Pyt 7:</strong> $pyt7</p>
  105.  
  106.  
  107. <p><strong>Wiadomość:</strong><br /> $message</p>
  108.   </html>
  109. KONIEC;
  110. // wysyłanie wiadomości e-mail
  111. $wynik = mail($twojemail, $temat, $wiadomosc, $naglowki);
  112.  
  113. // komunikat potwierdzający wysłanie wiadomości bądź nie
  114. if ($wynik) {
  115. echo '
  116.  
  117. <div class="section-title">
  118. <p></p>
  119. <p></p>
  120. <h2>Dziękujemy</h2>
  121. <p><Strong>Wiadomość została wysłana</strong></p>
  122. <p>Za chwilę nastąpi przekierowanie na stronę startową.</p>
  123. </div>';
  124. } else {
  125. echo '
  126. <div class="section-title">
  127. <h2>blad</h2>
  128. </div>';
  129. }
  130. }
  131.  
  132.  
  133. ?>
  134.  
  135. <meta http-equiv="refresh" content="10; url=d/index.html" />
  136. </body>
  137. </html>


Formularz działa dobrze, Klienci przysyłają ankiety, one dochodzą i tu zaczyna się problem.
Chciałbym, żeby wszystkie odpowiedzi na pytania wpadały do zaszytego gdzieś na serwerze pliku xls.* i żeby ten plik wysyłał się na @.
Czyli np. jednego dnia ktoś odpowie na wszystkie pytania pozytywnie - formularz wysyła xls'a mailem, w którym jest wszystko 100%, natomiast następnego dnia, niezadowolony Klient wyśle same negatywne odpowiedzi, co zsumuje się w pliku xls'a i dostaniemy na maila plik z 50% satysfakcji. Pomożecie?

Ten post edytował 110110101101011 20.08.2018, 09:29:54
Go to the top of the page
+Quote Post
mrk9109
post 20.08.2018, 19:00:59
Post #2





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


+/- zrozumiałem o co ci chodzi nie łatwiej będzie zrobić to php/mysql przez zapis do bazy danych ? Zliczanie wszystkiego itp

Ten post edytował mrk9109 20.08.2018, 19:01:28
Go to the top of the page
+Quote Post
0110110101101011
post 21.08.2018, 13:45:09
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.05.2018

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


Chodzi mi o to, że:
Na serwerze mam ankietę, którą wypełnia Klient, po wypełnieniu wysyła ją do mnie na @. Chcę żeby po wypełnieniu, odpowiedzi wszystkich Klientów sumowały się - np. tego dnia było 10 odpowiedzi "tak", a odpowiedzi "nie" było 20 - w jakimś oddzielnym raporcie, tak żebym mógł obliczyć sobie % satysfakcji x klientów/ocena. Krótko mówiąc, żeby po każdym wypełnieniu ankiety, do siedzącego na serwerze pliku xls. wpływały nowe dane, a potem żeby ten plik przychodził do mnie na @.
Z SQL nie miałem nigdy odczynienia i nie bardzo wiem od czego miałbym zacząć, może mógłbyś polecić mi jakieś tutoriale?
Go to the top of the page
+Quote Post
viking
post 21.08.2018, 13:51:59
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


https://github.com/PHPOffice/PhpSpreadsheet
https://prophp.pl/article/10/php_data_objec...luge_baz_danych
https://www.sqlpedia.pl/projektowanie-i-nor...ja-bazy-danych/


--------------------
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: 16.04.2024 - 14:43