Validasi nip dan no hp rest api codeigniter

saya membuat register rest api di codeigniter, saya mau data nip dan no hp yang masuk ke database itu tidak ada yang sama. pas saya test malah statusnya null

ini kode saya

public function register($nama,$nip,$no_hp,$pass,$keanggotaan) {

$sql = $this->db->query("SELECT * FROM users_app where nip='$nip' or 'no_hp' = '$no_hp' "); $cek = $sql->num_rows(); var_dump($cek);

if ($cek > 0){ $cek[] = array('message' => 'NIP Telah digunakan'); } else { if($nama =="" || $nip =="" || $no_hp =="" || $pass =="" || $keanggotaan =="") { return false; } else { $arraySave = array( 'nama' => $nama, 'nip' => $nip, 'no_hp' => $no_hp, 'pass' => password_hash($pass, PASSWORD_BCRYPT), 'keanggotaan' => $keanggotaan); return $this->db->insert("users_app", $arraySave); } }}

avatar dias19
@dias19

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

mungkin itu bisa diperbaiki dibagian conditional nya . struktur nya seperti berikut

<pre> if {

kondisi 1

} else if () {

kondisi 2

} else {

kondisi 3

} </pre>

avatar rifqicode
@rifqicode

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

cobain gan <pre> &lt;?php

public function register($nama,$nip,$no_hp,$pass,$keanggotaan) { $sql = $this-&gt;db-&gt;query("SELECT * FROM users_app WHERE nip='$nip' OR no_hp = '$no_hp' "); $cek = $sql-&gt;num_rows(); var_dump($cek);

if ($cek &amp;gt; 0){
    $cek[] = array(&#039;message&#039; =&amp;gt; &#039;NIP Telah digunakan&#039;);
} else {
    if($nama ==&quot;&quot; || $nip ==&quot;&quot; || $no_hp ==&quot;&quot; || $pass ==&quot;&quot; || $keanggotaan ==&quot;&quot;) {
        return false;
    } else {
        $arraySave = array( &#039;nama&#039; =&amp;gt; $nama,
                            &#039;nip&#039; =&amp;gt; $nip,
                            &#039;no_hp&#039; =&amp;gt; $no_hp,
                            &#039;pass&#039; =&amp;gt; password_hash($pass, PASSWORD_BCRYPT),
                            &#039;keanggotaan&#039; =&amp;gt; $keanggotaan);
        return $this-&amp;gt;db-&amp;gt;insert(&quot;users_app&quot;, $arraySave);
    }
}

}

?&gt; </pre>

avatar driyan
@driyan

193 Kontribusi 109 Poin

Dipost 4 tahun yang lalu

Cara paling simple di set pada databasenya, nip dan nomor handphone jadi unique key. Sehingga jika ada insert dengan nip atau nomor handphone yang sama langsung di reject oleh database, pada codeigniter kita tinggal ambil error response dari database.

Ada satu lagi cara yang sudah disediakan oleh codeigniter, dengan menggunakan library form validation.

tinggal set rules : is_unique[namaTable.namaCell] contoh : is_unique[users_app.nip]

avatar EddyPermana22
@EddyPermana22

20 Kontribusi 18 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban