{"id":145,"date":"2009-03-25T03:01:09","date_gmt":"2009-03-25T03:01:09","guid":{"rendered":"http:\/\/syarman.com\/soft\/?p=145"},"modified":"2009-03-25T03:08:20","modified_gmt":"2009-03-25T03:08:20","slug":"session-dan-log-masuk-login","status":"publish","type":"post","link":"http:\/\/syarman.com\/soft\/2009\/03\/25\/session-dan-log-masuk-login\/","title":{"rendered":"SESSION dan Log Masuk (Login)"},"content":{"rendered":"<p>Dalam artikel kali ini, aku akan menunjukkan bagaimana membuat Log masuk (<em>login<\/em>) bersama penggunaan sintaks $_SESSION. Selesai kamu membaca artikel ini. Pastikan kamu mencapai objektif dibawah.<\/p>\n<p>1. Penggunaan WHERE dalam SQL.<br \/>\n2. Penggunaan sintak &lt;form&gt; dalam HTML<br \/>\n3. Penggunaan $_POST dalam PHP<br \/>\n4. Penggunaan $_SESSION dalam PHP.<br \/>\n5. Kamu berjaya membuat log masuk dan memaparkan data pengguna.<\/p>\n<p>Sekarang kita perlu fahamkan dahulu aliran dan proses yang terlibat.<\/p>\n<p>1. Pengguna masukkan katanama dan juga katalaluan.<br \/>\n2. Sistem akan memeriksa maklumat yang dimasukkan. Sekiranya benar, pengguna akan dapat melihat maklumat mereka sendiri. Sekiranya salah, pengguna akan melihat ralat yang dipaparkan.<\/p>\n<p>Dibawah merupakan kod aturcara untuk fail login.html<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;html&gt;\r\n    &lt;head&gt;\r\n        &lt;title&gt;Log Masuk&lt;\/title&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n        &lt;div id=&quot;wrapper&quot;&gt;\r\n            &lt;form id=&quot;login&quot; name=&quot;login&quot; action=&quot;login.php&quot; method=&quot;POST&quot;&gt;\r\n                &lt;p&gt;\r\n                    Katanama : &lt;input type=&quot;text&quot; name=&quot;username&quot; id=&quot;username&quot; \/&gt;\r\n                &lt;\/p&gt;\r\n                &lt;p&gt;\r\n                    Katalaluan : &lt;input type=&quot;password&quot; name=&quot;password&quot; id=&quot;password&quot; \/&gt;\r\n                &lt;\/p&gt;\r\n                &lt;p&gt;\r\n                    &lt;input type=&quot;submit&quot; name=&quot;send&quot; id=&quot;send&quot; value=&quot;Log Masuk&quot; \/&gt;\r\n                &lt;\/p&gt;\r\n            &lt;\/form&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>\u00a0<\/p>\n<p>Ini merupakan fail yang akan menerima input dari pengguna.<\/p>\n<p>Dibawah pula adalah kod aturcara dalam PHP bagaimana mahu menyemak maklumat yang dimasukkan oleh pengguna. Simpan kod ini sebagai login.php. <a href=\"http:\/\/syarman.com\/soft\/2009\/03\/16\/memaparkan-data-dari-pangkalan-data-mysql-menggunakan-php\/\" target=\"_blank\">Rujuk artikel ini bagi mendapatkan fail db.php<\/a><\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n&lt;?php\r\n    session_start();\r\n    include 'db.php';\r\n    \r\n    $username = mysql_real_escape_string($_POST&amp;#91;'username'&amp;#93;);\r\n    $password = mysql_real_escape_string($_POST&amp;#91;'password'&amp;#93;);\r\n    \r\n    $sql = &quot;SELECT * FROM logins2 &quot; \r\n          .&quot;WHERE username='$username' &quot;\r\n          .&quot;AND password='$password'&quot;;\r\n    \r\n    $query = mysql_query($sql)\r\n                or die(mysql_error());\r\n                \r\n    $check_valid = mysql_num_rows($query);\r\n    \r\n    if($check_valid &gt; 0)\r\n    {\r\n        $result = mysql_fetch_array($query);\r\n        \r\n        $_SESSION&#x5B;'username'] = $result&#x5B;'username'];\r\n        $_SESSION&#x5B;'user_id']  = $result&#x5B;'user_id'];\r\n        \r\n        echo '&lt;script type=&quot;text\/javascript&quot;&gt;\r\n                window.location.href=&quot;success.php&quot;;\r\n              &lt;\/script&gt;';\r\n    }\r\n    else\r\n    {\r\n        echo 'Wrong Password or Username';\r\n    }\r\n?&gt;\r\n<\/pre>\n<p>\u00a0<\/p>\n<p>Kod ini pula akan memaparkan maklumat didalam borang bagi tujuan kemaskini. Simpan kod ini didalam fail success.php<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n&lt;?php\r\n    session_start();\r\n    include 'db.php';\r\n    if(isset($_SESSION&amp;#91;'username'&amp;#93;))\r\n    {\r\n        $sql = &quot;SELECT * FROM users WHERE id='&quot;.$_SESSION&amp;#91;'user_id'&amp;#93;.&quot;'&quot;;\r\n        \r\n        $query = mysql_query($sql)\r\n                    or die(mysql_error());\r\n                    \r\n        $results = mysql_fetch_array($query);\r\n        \r\n?&gt;\r\n&lt;html&gt;\r\n    &lt;head&gt;\r\n        &lt;title&gt;\r\n            Berjaya\r\n        &lt;\/title&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n        &lt;form name=&quot;detail&quot; id=&quot;detail&quot;&gt;\r\n            &lt;p&gt;\r\n                First Name : \r\n                &lt;input type=&quot;text&quot; value=&quot;&lt;?php echo $results&amp;#91;'first_name'&amp;#93;;?&gt;&quot; \r\n                name=&quot;first_name&quot; \/&gt;\r\n            &lt;\/p&gt;\r\n            &lt;p&gt;\r\n                Last Name :\r\n                &lt;input type=&quot;text&quot; value=&quot;&lt;?php echo $results&amp;#91;'last_name'&amp;#93;;?&gt;&quot; \r\n                name=&quot;last_name&quot; \/&gt;\r\n            &lt;\/p&gt;\r\n        &lt;\/form&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n&lt;?php\r\n    }\r\n    else\r\n    {\r\n        echo 'You need to login first';\r\n    }\r\n?&gt;\r\n<\/pre>\n<p>\u00a0<\/p>\n<p>Ini pula pernyataan SQL untuk jadual-jadual yang terlibat.<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nCREATE DATABASE `test_tutorial` ;\r\n\r\nCREATE TABLE `test_tutorial`.`users` (\r\n`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,\r\n`first_name` TEXT NOT NULL ,\r\n`last_name` TEXT NOT NULL ,\r\n`date_of_birth` DATE NOT NULL\r\n) ENGINE = MYISAM\r\n\r\nINSERT INTO `test_tutorial`.`users` (\r\n`id` ,\r\n`first_name` ,\r\n`last_name` ,\r\n`date_of_birth`\r\n)\r\nVALUES (\r\nNULL , 'Jasdy', 'Syarman', '1980-01-16'\r\n), (\r\nNULL , 'Abu', 'Ahmad', '2004-03-16'\r\n);\r\n\r\nCREATE TABLE IF NOT EXISTS `logins2` (\r\n`id` int(11) NOT NULL AUTO_INCREMENT,\r\n`username` text NOT NULL,\r\n`password` text NOT NULL,\r\n`user_id` text NOT NULL,\r\nPRIMARY KEY (`id`)\r\n) ENGINE=MyISAM;\r\n\r\nINSERT INTO `logins2` (`id`, `username`, `password`, `user_id`) VALUES\r\n(1, 'jasdy', 'jasdy', '1'),\r\n(2, 'tester', 'tester', '2');\r\n<\/pre>\n<p>Bahagian kemaskini tidak akan aku sentuh pada artikel kali ini. Ianya akan dilakukan pada artikel lain mengikut kadar kerajinan aku.\u00a0 Sesiapa yang tidak mahu memaparkan datanya dalam bentuk borang, sila rujuk artikel <a href=\"http:\/\/syarman.com\/soft\/2009\/03\/16\/memaparkan-data-dari-pangkalan-data-mysql-menggunakan-php\/\" target=\"_blank\">ini<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dalam artikel kali ini, aku akan menunjukkan bagaimana membuat Log masuk (login) bersama penggunaan sintaks $_SESSION. Selesai kamu membaca artikel ini. Pastikan kamu mencapai objektif dibawah. 1. Penggunaan WHERE dalam SQL. 2. Penggunaan sintak &lt;form&gt; dalam HTML 3. Penggunaan $_POST dalam PHP 4. Penggunaan $_SESSION dalam PHP. 5. Kamu berjaya membuat log masuk dan memaparkan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,12,11,13,4],"tags":[21,19,40,20],"class_list":["post-145","post","type-post","status-publish","format-standard","hentry","category-code","category-database","category-html","category-mysql","category-php","tag-input","tag-login","tag-php","tag-sessions"],"_links":{"self":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":4,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":165,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/145\/revisions\/165"}],"wp:attachment":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/media?parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/categories?post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/tags?post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}