Most Recent

Input data dengan HTML + PHP + MYSQL

Cara Membuat form diatas dengan html dan memasukan datanya ke database mysql dengan php adalah sebagai berikut


Untuk tampilan biarkan saja kaku seperti ini dulu, kita konsen ke fungsi dalam memproses data ke database ya... :)

Untuk itu sekarang mari kita buat sebuah database di mysql bernama tutorial_php
dengan script seperti ini

CREATE DATABASE `tutorial_php`

kemudian buat sebuah table bernama mahasiswa dengan script seperti ini

CREATE TABLE `mahasiswa` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nama` VARCHAR(50) NULL DEFAULT NULL,
`gender` ENUM('Male','Female') NULL DEFAULT NULL,
`email` VARCHAR(25) NULL DEFAULT NULL,
`ttl` VARCHAR(25) NULL DEFAULT NULL,
`alamat` VARCHAR(250) NULL DEFAULT NULL,
`agama` VARCHAR(15) NULL DEFAULT NULL,
`hobi` VARCHAR(35) NULL DEFAULT NULL,
`no_hp` VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB;

Kemudian buat sebuah folder (nama bebas) dalam hal ini folder saya bernama tutorial_php
kemudian buat sebuah file bernama index.php dan isi dengan code ini

<?php
$conn = new mysqli('localhost','root','','tutorial_php');
if(isset($_POST['submit'])){
$sql = $conn->prepare(
"
INSERT INTO mahasiswa
(
nama,
gender,
email,
ttl,
alamat,
agama,
hobi,
no_hp
)
VALUES
(?,?,?,?,?,?,?,?)
"
);
$nama = $_POST['nama'];
$gender = $_POST['gender'];
$email = $_POST['email'];
$ttl = $_POST['ttl'];
$alamat = $_POST['alamat'];
$agama = $_POST['agama'];
$hobi = $_POST['hobi'];
$hp = $_POST['hp_1'] . $_POST['hp_2'];
$sql->bind_param("ssssssss", $nama, $gender, $email, $ttl, $alamat,$agama,$hobi,$hp);
if($sql->execute()){
Header('Location: index.php');
}else{
echo "ada Error";
}
$sql->close();
$conn->close();
}
?>
<form method="POST" action="">
<table>
<tr>
<td>
Nama :
</td>
<td>
<input type="text" placeholder="Nama" name="nama">
</td>
</tr>
<tr>
<td>
Gender :
</td>
<td>
<input type="radio" name="gender" value="Male">Male
<input type="radio" name="gender" value="Female">Female
</td>
</tr>
<tr>
<td>
Email :
</td>
<td>
<input type="text" placeholder="Email" name="email">
</td>
</tr>
<tr>
<td>
TTL :
</td>
<td>
<input type="text" placeholder="TTL" name="ttl">
</td>
</tr>
<tr>
<td>
Alamat :
</td>
<td>
<input type="mail" placeholder="Alamat" name="alamat">
</td>
</tr>
<tr>
<td>
Agama :
</td>
<td>
<select name="agama">
<option>Islam</option>
<option>Kristen</option>
<option>Protestan</option>
<option>Hindu</option>
<option>Budha</option>
</select>
</td>
</tr>
<tr>
<td>
Hobi :
</td>
<td>
<input type="text" placeholder="Hobi" name="hobi">
</td>
</tr>
<tr>
<td>
No HP :
</td>
<td>
<select name="hp_1">
<option>+62</option>
<input type="phone" placeholder="" name="hp_2">
</select>
</td>
</tr>
<tr>
<td>
<input type="Submit" value="Submit" name="submit">
</td>
</tr>
</table>
</form>
<br/>

<table border="1">
<tr>
<th>Nama</th>
<th>Gender</th>
<th>Email</th>
<th>TTL</th>
<th>Alamat</th>
<th>Agama</th>
<th>Hobi</th>
<th>No.HP</th>
</tr>
<?php
$sql = "SELECT * FROM mahasiswa";
$result = $conn->query($sql);

if ($result->num_rows > 0) :
    while($row = $result->fetch_assoc()) :
?>
<tr>
<td>
<?php
echo $row['nama']
?>
</td>
<td>
<?php
echo $row['gender']
?>
</td>
<td>
<?php
echo $row['email']
?>
</td>
<td>
<?php
echo $row['ttl']
?>
</td>
<td>
<?php
echo $row['alamat']
?>
</td>
<td>
<?php
echo $row['agama']
?>
</td>
<td>
<?php
echo $row['hobi']
?>
</td>
<td>
<?php
echo $row['no_hp']
?>
</td>
</tr>
<?php
endwhile;
endif;
?>
</table>

kemudian akses browser dengan url masing masing
localhost/tutorial_php

dan mulai test untuk memasukan data dari form sehingga seperti ini

Untuk pembahasan melalui video dapat akses di youtube saya di link ini :
https://youtu.be/o3VFZsn6nF8

untuk hasil nya bisa di download disini
https://drive.google.com/file/d/1WpV_mkqSw9M0IMmyxxrtjsAAirG9I1oQ/view

Onesinus Tamba Rabu, 06 Juni 2018
Membuat Form Login dengan PHP
Oke Sobat Coding wkwkwk kita langsung aja ya

Pertama buat dulu database di Mysql, namanya bebas kalau saya nama database nya "belajar_template"

Jadi query nya seperti ini

CREATE DATABASE belajar_template

Selanjutnya, buat sebuah table sederhana yaitu table beranama "users" dengan 3 field saja yaitu id, email. dan password

CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`email` VARCHAR(50) NULL DEFAULT NULL,
`password` VARCHAR(512) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
);


Setelah membuat database dan table, sekarang saatnya kita membuat form loginnya
( Note : Design Tampilan Form Login Saya Ambil dari Artikel Blog Orang Lain, tetapi saya belum nemu url blog nya untuk di cantumkan, apabila ada nemu url nya info biar saya cantumkan ya...)


buat sebuah file bernama login.html, yang isi nya seperti ini

<!DOCTYPE html>
<html>
<head>
<title>Login Coy</title>
<link rel="stylesheet" type="text/css" href="css/login.css">
</head>
<body>
<div class="login">
<h2 class="login-header">Form Login</h2>
<form class="login-container" action="login.php" method="POST">
<p>
<input type="email" placeholder="Email" name="email" />
</p>
<p>
<input type="password" placeholder="Password" name="password" />
</p>
<p>
<input type="submit" placeholder="Login Bre" />
</p>
</form>
</div>
</body>
</html>

kemudian untuk css buat sebuah folder bernama "css" kemudian buat file dengan nama login.css didalam folder css yang isinya seperti ini

body{
background: #456;
font-family: 'Open Sans', sans-serif;
}

.login{
width: 400px;
margin: 16px auto;
font-size: 16px;
}

.login-header,
.login p{
margin-top: 0;
margin-bottom: 0;
}

.login-header{
background: #28d;
padding: 20px;
font-size: 1.4em;
font-weight: normal;
text-align: center;
text-transform: uppercase;
color: #fff;
}

.login-container{
background: #ebebeb;
padding: 12px;
}

.login p{
padding: 12px;
}

.login input{
  box-sizing: border-box;
  display: block;
  width: 100%;
  border-width: 1px;
  border-style: solid;
  padding: 16px;
  outline: 0;
  font-family: inherit;
  font-size: 0.95em;
}

.login input[type="email"],
.login input[type="password"] {
background: #fff;
border-color: #bbb;
color: #555;
}

.login input[type="email"]:focus,
.login input[type="password"]:focus {
border-color: #888;
}

.login input[type="submit"] {
background: #28d;
border-color: transparent;
color: #fff;
cursor: pointer;
}

.login input[type="submit"]:hover {
background: #17c;
}

.login input[type="submit"]:focus {
border-color: #05a;
}

Terakhir kita buat logic dengan bahasa pemrograman PHP nya dengan nama login.php yang isinya seperti ini

<?php
// open koneksi ke database
define("db_host", "localhost");
define("db_user", "root");
define("db_pass", "");
define("db_name", "belajar_template");

$konek = mysqli_connect(db_host, db_user, db_pass, db_name);
if (!$konek){
die("Error!");
}

// ===

$email = $_POST['email'];
$password = $_POST['password'];

// perintah untuk mendapatkan user dari db berdasarkan nama yang di input di form login
$get_user = "SELECT * FROM users WHERE email = '$email'";
$result = mysqli_query($konek,$get_user);
$data = mysqli_fetch_array($result);
if($data){
// email yang dimasukan ada di db
// check password
if($password == $data['password']){
Header("Location: index.html");
}else{
Header("Location: login.html");
}
}else{
Header("Location: login.html");
}
?>

*** Untuk penjelasan dengan video bisa lihat di link ini :  Membuat Login Form Sederhana Dengan Html + CSS + PHP + MYSQL***

Onesinus Tamba Kamis, 24 Mei 2018
Membuat CRUD dengan PHP dan MySql [PART 1] Create
Hello Para Pemilik masa depan...

Haha... Anda yang terus mau belajar saya sebut sebagai pemilik masa depan :)

Kali ini kita akan belajar konsep dasar / fundamental dari pemrograman yaitu CRUD

Sudah pada familiarkan ya dengan konsep CRUD ini

C = Create
R = Read
U = Update
D = Delete

Karena basicly di pemrograman manapun, aplikasi atau web sekeren apapun biasanya tidak terlepas dari yang namanya CRUD ini

Ditutorial kali ini kita akan membuat nya yaitu menggunakan PHP sebagai bahasa pemrograman server side nya dan Mysql sebagai databasenya

Lets Do It

Yang pastinya pertama kita harus membuat database dan table nya dahulu, buka localhost/phpmyadmin dan buat database
Setelah membuat database, kita akan membuat sebuah table seperti ini

Buat folder kelas_selasa_malam
Buat folder config di dalam folder kelas_selasa_malam
buat file koneksi.php didalam folder config

koneksi.php

<?php
                define("db_host", "localhost");
                define("db_user", "root");
                define("db_pass", "");
                define("db_name", "db_sia");  
                $konek = mysqli_connect(db_host, db_user, db_pass, db_name);
                if ($konek){
                                echo "Selamat Anda Koneksi ke Database = " . db_name;
                }else{
                                die("Error!");
                }
?>

*** db_host, db_user, db_pass, db_name SESUAIKAN dengan pengaturan Mysql Masing-masing ya...


Kemudian akses file koneksi.php dengan url seperti ini
localhost/kelas_selasa_malam/config/koneksi.php


Kemudian buat sebuah file lagi dengan nama add_kampus.php didalam folder kelas_selasa_malam

add_kampus.php

<form method="POST" action="proses/add_kampus.php">
                <table>
                                <tr>
                                                <td>Nama Kampus</td>
                                                <td>
                                                                <input type="text" name="kampus" placeholder="Nama Kampus"/>                                                   
                                                </td>
                                </tr>
                                <tr>
                                                <td>Alamat Kampus</td>
                                                <td>
                                                                <textarea name="alamat" placeholder="Alamat Kampus"></textarea>                                                               
                                                </td>
                                </tr>
                                <tr>
                                                <td>&nbsp;</td>
                                                <td>
                                                                <button type="submit">Submit</button>
                                                                <button type="reset">Reset</button>
                                                </td>
                                </tr>

                </table>
</form>

akses url localhost/kelas_selasa_malam/add_kampus.php

Buat Folder dengan nama Proses
dan buat didalamnya file add_kampus.php yang isinya seperti ini

add_kampus.php

<?php
                require_once '../config/koneksi.php';
               
                $kampus = $_POST['kampus'];
                $alamat = $_POST['alamat'];
                               
                $query = "INSERT INTO kampus(nama,alamat)VALUES('$kampus','$alamat');";

                $result = mysqli_query($konek,$query);
               
                if($result){
                                echo "Data Berhasil di tambahkan";
                                Header("Location: ../add_kampus.php");
                }else{
                                echo "Data Gagal Ditambah";
                }
?>

Nah sekarang kita sudah bisa menambahkan data dengan form yang sudah kita buat
Berikut contoh table nya jika kita sudah mengisi data melalui form yang sudah kita buat

Oke sekian tutorial kali ini, semoga bermanfaat

Godbless

Onesinus Tamba Selasa, 17 April 2018
#ckicompetition2018 Cara Membuat Form One2many Cakephp Dengan jQuery Multifield Untuk Memasukan Data Ke Postgresql
Hallo Guys...

Setelah kita berjalan-jalan melintasi dunia Coding yang sangat luas, tiba saat nya kita mampir di salah satu Framework PHP yang Lezat Yaitu CakePHP, Ya... betul sekali Cake adalah kue, maka CakePHP adalah PHP sambil makan kue (?)

Kita sudahi saja pembuka yang unfaedah ini, mari langsung kita to the tutorial Bagaimana Cara Membuat Form One2many yang mana akan ada inputan sebagai Header(One) dan juga Inputan sebagai Detail(Many)

Sebelum anda mengetahui lebih dalam, ada baiknya anda mengetahui mengapa saya membuat Tutorial Ini..

Pertama, Dikarenakan Adanya salah satu Lomba dari Event Stikom CKI Jakarta yaitu lomba Blog :) #ckicompetition2018

Yang Kedua, Dikarenakan Belum ditemukannya tutorial ini baik di blog maupun di youtube baik referensi bahasa inggris maupun bahasa indonesia ya... Bisa silahkan dicari tau dan di infokan bila menemukan :p

Let's Do This...

Form yang akan kita buat sederhana, yaitu seperti gambar ini


Untuk Database Kita Menggunakan Postgresql, jadi buat saja dahulu database di postgresql, nama database bebas, kalau saya nama database nya "my_project"

dan pengaturan app.php menjadi seperti ini

    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Postgres',
            'persistent' => false,
            'host' => 'localhost',
            'port'  => '5432',
            /*
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',
            'username' => 'openpg',
            'password' => '12345678',
            'database' => 'my_project',
            /*
             * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6).
             */
            //'encoding' => 'utf8mb4',
            'timezone' => 'UTC',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

            /**
             * Set identifier quoting to true if you are using reserved words or
             * special characters in your table or column names. Enabling this
             * setting will result in queries built using the Query Builder having
             * identifiers quoted when creating SQL. It should be noted that this
             * decreases performance because each query needs to be traversed and
             * manipulated before being executed.
             */
            'quoteIdentifiers' => false,

            /**
             * During development, if using MySQL < 5.6, uncommenting the
             * following line could boost the speed at which schema metadata is
             * fetched from the database. It can also be set directly with the
             * mysql configuration directive 'innodb_stats_on_metadata = 0'
             * which is the recommended value in production environments
             */
            //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],

            'url' => env('DATABASE_URL', null),
        ],




Mari Kita mulai bermain di Cakephp nya

[LANGKAH 1] : Pastikan Cakephp telah terinstall di komputer masing-masing

Dalam Tutorial Ini saya menggunakan Cakephp yang versi terakhir ya, yaitu versi 3, tepatnya 3.6.0 RC2

[LANGKAH 2] :
Siapkan Library-Library yang dibutuhkan

Download jQuery di link ini Download jQuery
Download jQuery multifield di link ini Download jQuery multifield
Download Bootstrap minimal di link ini Download Bootstrap Minimal

[LANGKAH 3]:
Letakan Library-Library yang sudah di download [LANGKAH 2] ke webroot



[LANGKAH 4]:
Load Library-Library yang telah di letakan ke webroot [LANGKAH 2] di default.ctp


[LANGKAH 5]:
Buat sebuah form cakephp dengan file .ctp dengan code seperti ini



<?php
/**
 * @var \App\View\AppView $this
 * @var \App\Model\Entity\TKpim $tKpim
 */
?>

<?= $this->Html->css('bootstrap.min.css') ?>

<div class="tKpim form large-12 medium-12 columns content">
    <?= $this->Form->create($tKpim) ?>
    <fieldset>
        <legend><?= __('Add Kpim') ?></legend>
        <?php
            echo $this->Form->control('name');
        ?>
    </fieldset>
    <fieldset>
        <legend><?= __('Add Kpim Detail') ?></legend>
        <div id="KpimDetail">
            <div class="row">
                <div class="col-md-12" style="padding-top: 5px; padding-bottom: 5px;">
                    <button type="button" id="btnAdd-1" class="btn btn-primary">Add More</button>
                </div>
            </div>
            <div class="row group">
                <div class="col-md-3">
                    <label>Detail Name</label>
                    <input class="form-control" type="text" name="TKpimDetail['DetName'][]">
                </div>
                <div class="col-md-3">
                    <label>Coeg Name</label>
                    <input class="form-control" type="text" name="TKpimDetail['DetCoeg'][] ">
                </div>
                <div class="col-md-3">
                    <label>Coag Name</label>                 
                    <input class="form-control" type="text" name="TKpimDetail['DetCoag'][]">
                </div>
                <div class="col-md-3">
                    <label>Remove</label><br/>
                    <button type="button" class="btn btn-danger btnRemove">X</button>
                </div>
            </div>
        </div>
    </fieldset>
    <?= $this->Form->button(__('Submit')) ?>
    <?= $this->Form->end() ?>
</div>
<script>
    $('#KpimDetail').multifield({
        section: '.group',
        btnAdd:'#btnAdd-1',
        btnRemove:'.btnRemove',
    });
</script>



[LANGKAH 6]:
Buat Fungsi Untuk mengolah dan memasukan data Form Ke Database dengan codingan Controller.php seperti ini

<?php
namespace App\Controller;

use App\Controller\AppController;

class TKpimController extends AppController
{

    /**
     * Add method
     *
     * @return \Cake\Http\Response|null Redirects on successful add, renders view otherwise.
     */
    public function add()
    {
        $tKpim = $this->TKpim->newEntity();
        if ($this->request->is('post')) {
            $tKpim = $this->TKpim->patchEntity($tKpim, $this->request->getData());

            if ($saveHeader = $this->TKpim->save($tKpim)) {
                if (!empty($this->request->getData()['TKpimDetail'])){
                    $kpimDetail = $this->request->getData()['TKpimDetail'];
                    foreach($kpimDetail as $key => $value){
                        $dataDetail = [
                            'name' => $value['name'],
                            'id_kpim'   => $saveHeader->id

                        ];
                        $tKpimDetail = $this->TKpim->TKpimDetail->newEntity();
                        $this->TKpim->TKpimDetail->patchEntity($tKpimDetail, $dataDetail);
                        $this->TKpim->TKpimDetail->save($tKpimDetail);                                                       
                    }                                     
                }

                $this->Flash->success(__('The t kpim has been saved.'));

                return $this->redirect(['action' => 'index']);
            }
            $this->Flash->error(__('The t kpim could not be saved. Please, try again.'));
        }
        $Users = $this->TKpim->Users->find('list', ['limit' => 200]);
        $Users = $this->TKpim->Users->find('list', ['limit' => 200]);
        $this->set(compact('tKpim', 'Users', 'Users'));
    }
}



[LANGKAH 7]:
Buat Table di database (dalam hal ini database nya adalah postgresql) dengan query seperti ini

CREATE TABLE public.t_kpim
(
  id integer NOT NULL DEFAULT nextval('t_kpim_id_seq'::regclass),
  name character varying(30),
  CONSTRAINT t_kpim_pk_id PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

CREATE TABLE public.t_kpim_detail
(
  id integer NOT NULL DEFAULT nextval('t_kpim_detail_id_seq'::regclass),
  id_kpim integer,
  name character varying(50),
  CONSTRAINT t_kpim_detail_pk_id PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);


Maka Saat Kita Submit data kita database akan terisi menjadi seperti ini datanya

table header
table detail

Nah Seperti itulah cara membuat sebuah form dengan konsep One2many di cakephp, dengan menggunakan jQuery sebagai Client Side nya, Postgresql Sebagai Database nya, dan Cakephp sebagai Server side nya

Anda dapat mengembangkannya, atau mengambil konsep nya untuk anda terapkan ke PHP Native maupun PHP Framework yang lainnya

Sekian Tutorial Kali Ini

Semoga Bermanfaat...

~Salam Coding, Jari Pusing, Otak Keriting~
~Salam Pusing, Otak Coding, Jari Keriting~
~Salam Keriting, Jari Coding, Otak Pusing~

GodBless ~

Onesinus Tamba Senin, 16 April 2018
Android Studio Layout Relative Example
Here is an example of android studio simple relative layout

Design View


Text View

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">
    <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Ini Relative Layout" 
       android:textSize="25dp" 
       android:layout_marginLeft="80dp" 
       android:id="@+id/tvTitle"/>

    <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/str_btn1" 
       android:layout_marginTop="21dp" 
       android:layout_below="@+id/tvTitle"/>

    <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/str_btn2" 
       android:layout_marginTop="21dp" 
       android:layout_below="@+id/tvTitle" 
       android:layout_alignParentRight="true"/>

    <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/str_btn3" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true"/>

    <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/str_btn4" 
       android:layout_alignParentBottom="true"        />

    <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/str_btn5" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentRight="true"        />

</RelativeLayout>

Onesinus Tamba Rabu, 21 Maret 2018
Android Studio Layout Linear Horizontal Example
Here is an example of android studio linear horizontal layout

Design View


Text View

<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">

    <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:hint="@string/title_horizontal" 
       android:textColor="@color/colorPrimary" 
       android:textSize="26sp" 
       android:layout_marginLeft="30dp"/>

    <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"
       android:orientation="horizontal">
        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="match_parent" 
           android:text="@string/str_btn1"/>

        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="match_parent" 
           android:text="@string/str_btn2"/>

        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="match_parent" 
           android:text="@string/str_btn3"/>

        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="match_parent" 
           android:text="@string/str_btn4"/>

        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="match_parent" 
           android:text="@string/str_btn5"/>

    </LinearLayout>
</LinearLayout>

Onesinus Tamba