Bunun Burada Ne İşi Var?
Dün şehre inmek için Sayın Menderes Türel’in zamanında Hafif Metro ...
Bu hafta genel olarak sessionları tekrar ettik. Bunun dışında bazı teknolojilerden ve biraz da bitirme projesinden bahsettik. Bitirme projesinin son teslim tarihinin 7 Ocak 2010 Perşembe olduğunu unutmayınız. Projeye buradan ulaşabilirsiniz.
Bugünkü tekrar sonucunda sessionlar ve veri tabanı kullanarak basit bir oturum açma sistemi tasarladık derste. Ödev için de oldukça kullanışlı olabilecek, sessionsların kullanımına güzel bir örnek olan kaynak kodlarını bu yazının sonunda bulabilirsiniz.
Gelecek hafta Salı günü için bir ek ders planlandı, ancak kesin bir şey yok şu noktada. O gün boş laboratuvar olup olmadığını öğrendikten sonra netleşecek. Duyuru yapacağım.
24 Aralık Perşembe günü laboratuvarda yazdığımız kodları buradan indirebilir, ya da indirmeden incelemek isterseniz yazının devamına bakabilirsiniz. (Kodlar daha anlaşılır olması için biraz daha düzenlenmiştir.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <?php /* DİKKAT: Bu koddaki oturum açma sistemi, gerçek bir PHP projesinde kullanılamayacak kadar dış etkilere açık olduğundan kodu dikkatli kullanmanızı öneririm. */ header("Content-Type: text/html; charset=utf-8"); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="tr-TR"> <head profile="http://gmpg.org/xfn/1"> <!-- EgeBK PHP Kursu Örnek Kaynak Kodları --> <title>Basit Bir Oturum Açma Programı</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="author" content="Umut Benzer" /> </head> <body> <form action="index.php" method="post"> <label for="name">Kullanıcı adı</label> <input type="text" id="name" name="name" size="10" /> <label for="pass">Şifre</label> <input type="text" id="pass" name="pass" size="10" /> <button type="submit">Yallah</button> </form> <?php /* İnit */ // ezSQL include_once "ez_sql_core.php"; include_once "ez_sql_mysql.php"; // Veritabanı yapılandırması $vt_kullanici="root"; $vt_parola=""; $vt_isim="kullanici"; $vt_sunucu="localhost"; // ezSQL sınıfından bir nesne... $db = new ezSQL_mysql($vt_kullanici,$vt_parola,$vt_isim,$vt_sunucu); // Dil ayarlaması $db->query("SET NAMES utf8"); /* Oturum kapatma bilgisi gönderilmiş */ if(isset($_GET["cikis"]) && $_GET["cikis"] == 1) { $_SESSION["kullanici_id"] = NULL; $_SESSION["kullanici_adi"] = NULL; } /* Oturum açma bilgisi gönderilmiş */ if(isset($_POST["name"]) && isset($_POST["pass"])) { // Güvenlik önlemleri $name = $db->escape($_POST["name"]); $pass = $db->escape($_POST["pass"]); $sql = "SELECT * FROM `kullanici` WHERE name='".$name."' AND pass='".$pass."'"; echo "Yaratılan SQL cümleciği: " . $sql . "<br />\n"; $sonuc = $db->get_row($sql); if(!is_null($sonuc)) { $_SESSION["kullanici_id"] = $sonuc->id; $_SESSION["kullanici_adi"] = $sonuc->name; } else { $_SESSION["kullanici_id"] = NULL; $_SESSION["kullanici_adi"] = NULL; echo "Kullanıcı adı veya şifre yanlış!" . "<br />"; } } /* Oturum açılmış mı kontrolü */ if(isset($_SESSION['kullanici_adi']) && !is_null($_SESSION['kullanici_adi'])) { echo "Oturum açan kullanıcı: " . $_SESSION['kullanici_adi'] . " Oturumu kapatmak için <a href='?cikis=1'>tıkla</a>."; } else { echo "Naber ziyaretçi?"; } /* SESSION süperdeğişkeninde neler olup bitiyor? */ echo "<br />"; echo var_dump($_SESSION); ?></body> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | -- phpMyAdmin SQL Dump -- version 3.2.0.1 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Dec 24, 2009 at 09:09 PM -- Server version: 5.1.36 -- PHP Version: 5.3.0 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `kullanici` -- CREATE DATABASE `kullanici` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `kullanici`; -- -------------------------------------------------------- -- -- Table structure for table `kullanici` -- CREATE TABLE IF NOT EXISTS `kullanici` ( `name` text NOT NULL, `pass` text NOT NULL, `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ; -- -- Dumping data for table `kullanici` -- INSERT INTO `kullanici` (`name`, `pass`, `id`) VALUES ('Hayrullah', 'abc', 2), ('Sercan', 'def', 3), ('Rıfkı', '123', 4), ('Müge', 'wasd', 11); |
Twitler yükleniyor... 5 saniye sonra
Bıdı bıdı bıdı bıdı dıdı dıdı dudu dudu hıdı hıdı hödü hödü yüklüyoruz öhüm öhüm bıdı bıdı vs vs... 6 nanosaniye önce
Yüklenmenin geç olmasının sebebi ben değilim, Twitter API'sinin yavaş olması. Gudu gudu hıdı hödö büdü büdü... 25697 asır önce
Ha tabi bunları okumuşsan, bu sitenin çok gizli bir özelliğini bulmuşsun demektir. ;) Tebrikler. Bu "sürpiz yumurta"yı bulduğunu bana da haber verir misin? Tıkla! 6 dinazor önce
Yeni yazıları takip etmenin
bir sürü yolu var!