Vlastná ďakovná stránka

Ukážka implementácie vlastnej ďakovnej stránky so spracovaním parametrov. Pri prechode na vlastnú ďakovnú stránku systém posiela rovnaký set dát POST metódou a zároveň aj GET metódou zároveň. V príklade sa pracuje s POST parametrami.

Používa sa: HTML 5.0 + PHP 7.2.0 • CSS: Bootstrap 4.5.0 • JS: jQuery 3.5.1 • highlight.js 10.3.2

Ups, neboli poslané žiadne dáta POST metódou...

# Variable Aliases 1) Value Remark
1 first_name ----- Missing Krstné meno
2 last_name ----- Missing Priezvisko
3 email ----- Missing Emailová adresa
4 type donationtype, periodicity Missing Typ daru (jednorázový / pravidelný) 2)
5 value price Missing Výška daru
6 is_anonymous ----- Missing Anonymný dar/darca 3)
7 donated_at donateat Missing Dátum a čas darovania 4)
8 vs variable_symbol Missing Variabilný symbol platby
9 organisation org_name Missing Názov organizácie, ktorej bol dar určený
10 iban ----- Missing IBAN účtu organizácie
11 account_number ----- Missing Číslo účtu organizácie
12 donation_id ----- Missing Identifikátor daru
13 payment_id ----- Missing Identifikátor platby
  • 1) Alias je ekvivalentom premennej, napríklad namiesto "type" sa môže použiť "periodicity", alebo "donationtype".
  • 2) Preddefinované (možné) hodnoty premennej "type": onetime a periodical.
  • 3) Parameter "is_anonymous" s hodnotou "on" sa z formuláru darovacej stránky posiela len v prípade, ak bol checkbox zaškrtnutý. Ide vlastne o voľne preloženú otázku pre dar/darcu "Zostať anonymný?". Systém následne vracia na ďakovnú stránku dve možné hodnoty "0" (neanonymný dar/darca) a "1" (anonymný dar/darca).
  • 4) Timestamp vo formáte ISO8601 (https://en.wikipedia.org/wiki/ISO_8601)

Použitý HTML/PHP kód


  <?php

    $vars = [
      'first_name'     => ['remark' => 'Krstné meno'],
      'last_name'      => ['remark' => 'Priezvisko'],
      'email'          => ['remark' => 'Emailová adresa'],
      'type'           => ['remark' => 'Typ daru (jednorázový / pravidelný) <sup>2)</sup>', 'aliases' => ['donationtype', 'periodicity']],
      'value'          => ['remark' => 'Výška daru', 'aliases' => ['price']],
      'is_anonymous'   => ['remark' => 'Anonymný dar/darca <sup>3)</sup>'],
      'donated_at'     => ['remark' => 'Dátum a čas darovania <sup>4)</sup>', 'aliases' => ['donateat']],
      'vs'             => ['remark' => 'Variabilný symbol platby', 'aliases' => ['variable_symbol']],
      'organisation'   => ['remark' => 'Názov organizácie, ktorej bol dar určený', 'aliases' => ['org_name']],
      'iban'           => ['remark' => 'IBAN účtu organizácie'],
      'account_number' => ['remark' => 'Číslo účtu organizácie'],
      'donation_id'    => ['remark' => 'Identifikátor daru'],
      'payment_id'     => ['remark' => 'Identifikátor platby']
    ];

    foreach ($vars as $k => $v) {
      $vars[$k]['value'] = isset($_POST[$k]) ? $_POST[$k] : '<span class="text-danger font-italic">Missing</span>';
    }

  ?>

  ...

  <?php

    if (!isset($_POST) || empty($_POST)) {
      echo '<p class="bg-danger text-white p-3">Ups, neboli poslané žiadne dáta POST metódou...</p>';
    }

  ?>

  ...

  <?php

    $count = 1;
    foreach ($vars as $k => $v) {
      echo '
      <tr>
        <th scope="row">' . $count . '</th>
        <td class="text-monospace">' . $k . '</td>
        <td class="text-monospace">' . (!isset($vars[$k]['aliases']) ? '-----' : implode(', ', $vars[$k]['aliases'])) . '</td>
        <td>' . $vars[$k]['value'] . '</td>
        <td>' . $vars[$k]['remark'] . '</td>
      </tr>';
      $count++;
    }

  ?>