Automatické dopĺnanie formulárov pri registrácií ?

Pred časom ma kontaktoval náš zákazník so žiadosťou o B2B systém pre mimoriadne objednávane liekov. Spravil som si návrh tried a ich metód, navrhol databázové tabuľky a pustil sa do programovania. Keď som pisal metódu na kontrolu či existuje firma s uvedeným  IČO zistim som, že úloha  je riešitelná, ale má ďaleko od elegantnosti. Avšak našlo sa aj elegantné riešenie, uvidíte.

V rýchlosti mi napadla metóda na overenie IČO, ktorá by mohla vyzerať následovne: Najskôr zistím či je IČO platné a potom či už náhodou aj neprebehla naň registrácia.

public function checkOrsr(){
  global $conn;
    $orsr = file_get_contents('http://www.orsr.sk/hladaj_ico.asp?ICO='.$this->ico.'&SID=0');
    if (strpos($orsr, 'nezodpoved') == true) {
        return false;
    }
    else{

      $res = "SELECT COUNT(*) FROM pharmacy WHERE ico = '$this->io'";

      $result = $conn->query($res);
      $row = $result->fetch_row();

      if ($row[0] == 0) {
        return true;
      }
        return false;
    }

}

Funguje no nie je to ono 🙂 Naštastie aj  v programovaní  platí, že väčšinu vecí, ktoré idete riešiť už pred vami niekto kvalitne vyriešil tak prečo strácať čas ? Stačilo použiť google a dopracoval som sa ku stránke: ekosystem.slovensko.digital. Zaregistrujete sa, ziskate API kľúč, ktorý spolu s uvedeným ukážkovým HTML kódom vložíte na vaše stránky.

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script async src="https://autoform.ekosystem.slovensko.digital/assets/autoform.js"></script>

<form data-slovensko-digital-autoform="SEM_API_KĽÚČ" action="...">
  <p>
    <label for="name">Názov</label><br>
    <input type="text" name="name" data-slovensko-digital-autoform="name"/>
  </p>
  <p>
    <label for="cin">IČO</label><br>
    <input type="text" name="cin" data-slovensko-digital-autoform="cin"/>
  </p>
  <p>
    <label for="formatted_address">Adresa</label><br>
    <input type="text" name="formatted_address" data-slovensko-digital-autoform="formatted-address"/>
  </p>
  <p>
    <label for="tin">DIČ</label><br>
    <input type="text" name="tin" data-slovensko-digital-autoform="tin"/>
  </p>
  <p>
    <label for="vatin">IČ-DPH</label><br>
    <input type="text" name="vatin" data-slovensko-digital-autoform="vatin"/>
  </p>
</form>

Výsledkom je automatické vyplnenie vašich inputov preddefinovanými. Vyskúšajte verím, že pomôže aj Vám.