Advertisement
FR4GG13

[TAI] Zadanie4

Nov 13th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.32 KB | None | 0 0
  1. <?php
  2.  
  3. echo '<h2>Dane odebrane z formularza:</h2>';
  4.  
  5. function drukuj_form(){
  6.  
  7.  
  8.                 if (filter_input(INPUT_GET, 'nazwisko')&&($_REQUEST['nazwisko']!=""))
  9.                 {
  10.                     $nazwisko = htmlspecialchars(trim($_REQUEST['nazwisko']));
  11.                 }
  12.                 else $nazwisko =  "XXX";
  13.                
  14.                 if (filter_input(INPUT_GET, 'wiek')&&($_REQUEST['wiek']!=""))
  15.                 {
  16.                     $wiek = htmlspecialchars(trim($_REQUEST['wiek']));
  17.                 }
  18.                 else $wiek = "XXX";
  19.                
  20.                 if (filter_input(INPUT_GET, 'panstwa')&&($_REQUEST['panstwa']!=""))
  21.                 {
  22.                     $panstwa = htmlspecialchars(trim($_REQUEST['panstwa']));
  23.                 }
  24.                 else $panstwa = "XXX";
  25.                
  26.                 if (filter_input(INPUT_GET, 'mail')&&($_REQUEST['mail']!=""))
  27.                 {
  28.                     $mail = htmlspecialchars(trim($_REQUEST['mail']));
  29.                 }
  30.                 else $mail = "XXX";
  31.                
  32.                 if (filter_input_array(INPUT_GET, 'kurs') && ($_REQUEST['kurs']!=""))
  33.                 {
  34.                     $kurs = $_REQUEST["kurs"];
  35.                     $kurs_string = "";
  36.                     for($i=0;$i<count($kurs);$i++){
  37.                     //echo " $kurs[$i]";
  38.                         $kurs_string = "$kurs_string"."$kurs[$i]";
  39.                     }
  40.                     /*
  41.                     $kurs_string = '';
  42.                     echo "Zamówiono kurs: ";
  43.                     foreach ($kurs as $kurs_string) {
  44.                         $kurs_string = $kurs_string.$kurs.',';
  45.                     }
  46.                     */
  47.                 }else $kurs_string = "XXX";
  48.  
  49.                 if (isset($_GET['platnosc']) && ($_GET['platnosc']!="")){
  50.                    $platnosc = $_GET['platnosc'];
  51.                 }else $platnosc = "XXX";
  52.  
  53.                 echo    "Nazwisko:          $nazwisko<br>";
  54.                 echo    "Wiek:              $wiek<br>";
  55.                 echo    "Panstwo:           $panstwa<br>";
  56.                 echo    "E-Mail:            $mail<br>";
  57.                 echo    "Kurs:              $kurs_string<br>";
  58.                 echo    "Sposób płatności:  $platnosc<br>";
  59. }
  60. drukuj_form();
  61.  
  62. function dodaj(){
  63.     $file =  fopen("dane.txt","a+");
  64.  
  65.     $nazwisko = htmlspecialchars(trim($_REQUEST['nazwisko']));
  66.     $wiek = htmlspecialchars(trim($_REQUEST['wiek']));
  67.     $panstwa = htmlspecialchars(trim($_REQUEST['panstwa']));
  68.     $mail = htmlspecialchars(trim($_REQUEST['mail']));
  69.     if (isset($_GET['platnosc']) && ($_GET['platnosc']!="")){
  70.                    $platnosc = $_GET['platnosc'];
  71.                 }else $platnosc = "XXX";
  72.  
  73.     if (isset($_REQUEST['kurs']) && ($_REQUEST['kurs']!="")){
  74.     $kurs = $_REQUEST["kurs"];
  75.     $kurs_string = "";
  76.         for($i=0;$i<count($kurs);$i++){
  77.             $kurs_string = "$kurs_string"."$kurs[$i]";
  78.             }
  79.     }else $kurs_string = "XXX";
  80.  
  81.  
  82.     echo fwrite($file, "$nazwisko"."\t\t$wiek"."\t\t$panstwa"."\t\t$mail"."\t\t$kurs_string"."\t\t$platnosc".PHP_EOL);
  83.     fclose($file);
  84. }
  85.  
  86. function validate(){
  87.     $args = array(
  88.  
  89.         'nazwisko' => ['filter' => FILTER_VALIDATE_REGEXP,
  90.                        'options' => ['regexp' => '/^[A-Z]*{1}[a-ząęłńśćźżó-]{1,25}$/']],
  91.         'wiek' => FILTER_VALIDATE_INT,
  92.         'panstwa' => FILTER_UNSAFE_RAW,
  93.         'mail' => FILTER_VALIDATE_EMAIL,
  94.         'kurs' => array('filter' => FILTER_DEFAULT,
  95.                         'flags' => FILTER_REQUIRE_ARRAY
  96.                   ),
  97.         'platnosc' => FILTER_UNSAFE_RAW
  98.  
  99.     //zdefiniuj pozostałe filtry
  100.     //already defined
  101.     );
  102.     //przefiltruj dane z GET/POST zgodnie z ustawionymi w $args filtrami:
  103.     $myinputs = filter_input_array(INPUT_GET, $args);
  104.     //sprawdź wyniki filtrowania:
  105.     var_dump($myinputs);
  106.     //Sprawdź czy dane w $myinputs są poprawne:
  107.     $validateError="";
  108.     foreach($myinputs as $key=>$val){
  109.         if ($val===false or $val===NULL)
  110.             {$validateError.=$key." ";}
  111.     }
  112.     if ($validateError===""){
  113.     echo "<br>Dane poprawne";
  114.     //zbierz dane i zapisz do pliku
  115.     dodaj();
  116.     }
  117.     else {
  118.         echo "<br>Nie poprawnie dane: ".$validateError;
  119.     }
  120. }
  121.  
  122. //Funkcje pomocnicze:
  123. echo "<br/><br/>";
  124. var_dump($_REQUEST);
  125. echo "<br/><br/>";
  126.  
  127. function pokaz(){
  128.     $zamowienia = file("dane.txt");
  129.     $ile = count($zamowienia);
  130.     for ($i = 0; $i <$ile; $i++){
  131.         echo "$zamowienia[$i]";
  132.         echo "<br/>";
  133.     }
  134. }
  135.  
  136. function find_and_echo(string $searched, $handle)
  137. {
  138.     while (!feof($handle)) {
  139.         $line = fgets($handle);
  140.         if (strpos($line, $searched) > 0){
  141.             echo $line;
  142.         }
  143.     }
  144. }
  145.  
  146. function pokaz_jezyk(string $jezyk){
  147.  
  148.     echo $jezyk;
  149.     if ($file = fopen("dane.txt", "r")){
  150.         find_and_echo($jezyk, $file);
  151.         fclose($file);
  152.     }else "file not found";
  153. }
  154.  
  155. /*
  156. function dodaj(){
  157. echo "<h3>Dodawanie do pliku:</h3>";
  158. validate();
  159. }
  160. */
  161.  
  162. //Skrypt:
  163.  
  164. if(isset($_REQUEST['dodaj'])) { validate();}
  165. else if(isset($_REQUEST['pokaz'])) { pokaz();}
  166. else if(isset($_REQUEST['java'])) { pokaz_jezyk("Java");}
  167. else if(isset($_REQUEST['php'])) { pokaz_jezyk("PHP");}
  168. else if(isset($_REQUEST['cpp'])) { pokaz_jezyk("C/C++");}
  169.  
  170. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement