¤Þ¤È¤á ¥Ö¥í¥° ¥À¥¦¥ó¥í¡¼¥É ·Ç¼¨ÈÄ ¥á¡¼¥ë

¤ì¤Ö¤í¤°

< 2006-05-29 (·î) 2006-05-31 (¿å) > ºÇ¿·


2006-05-30 (²Ð)

¢£ Ethna ¤Ç PEAR::DB ¤ò»È¤¦¥µ¥ó¥×¥ë

Ethna ¤Ç¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î°·¤¤Êý¤òÃΤ뤿¤á¤ÎÎý½¬¤È¤·¤Æ¡¢ ¥Á¥å¡¼¥È¥ê¥¢¥ë¤Çºî¤Ã¤¿¥µ¥ó¥×¥ë¤ò¡¢ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»È¤Ã¤ÆÇ§¾Ú¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤¿¡£

¤Þ¤º¡¢½àÈ÷¤È¤·¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î user ¤È¤¤¤¦¥Æ¡¼¥Ö¥ë¤Ë¡¢ email ¤È md5(password) ¤ÎÃͤÎÁȤòÊݸ¤·¤Æ¤ª¤¯¡£

´Î¿´¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹¤ÎÉôʬ¤Ï¡¢ http://ethna.jp/ethna-db.html ¤Î¤ä¤êÊý¤Ë½¾¤Ã¤Æ½ñ¤¤¤Æ¤ß¤ë¡£ ¸å¤Ç PDO ¤Ë°Ü¹Ô¤¹¤ë¤Ä¤â¤ê¤Ê¤Î¤Ç¡¢ ¥¨¥é¡¼½èÍý¤È¤« SQL ¥¤¥ó¥¸¥§¥¯¥·¥ç¥óÂкö¤È¤«¤Ï¤³¤³¤Ç¤Ï¹Í¤¨¤Ê¤¤¡£

etc/sample-ini.php ¤Ë°Ê²¼¤Î¤è¤¦¤ÊÀßÄê¤òÄɲá£

$config = array(
    ¡Ä¡Ä
    'dsn' => 'mysql://username:password@unix+localhost/dbname',
);

app/action/Login/Do.php ¤Î perform() ¤Î¡¢ auth ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë²Õ½ê¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¡£

        $db = $this->backend->getDB();
        $mailaddress = $this->af->get('mailaddress');
        $password    = $this->af->get('password');
        $result = $um->auth($db, $mailaddress, $password);

app/Sample_UserManager.php ¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¡£

<?php

class Sample_UserManager
{
    function auth($db, $mailaddress, $password)
    {
        $sql = "SELECT password FROM user WHERE email='" . $mailaddress . "'";
        $result = $db->query($sql);
        $row = $result->fetchRow();
        if ($row[0] != md5($password)) {
            return Ethna::raiseNotice('¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹', E_SAMPLE_AUTH);
        }
        return 0;
    }
}

?>

¤ä¤Ã¤Æ¤ß¤¿¤é¡¢¤³¤ì¤Çư¤¤¤Æ¤¯¤ì¤¿¡£ ¤â¤Ã¤ÈÎɤ¤½ñ¤­Êý¤¬¤¢¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢ ¤È¤ê¤¢¤¨¤º¡¢PEAR::DB ¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤¿¡£

¤Ê¤ª¡¢Â¾¤Î¥µ¥ó¥×¥ë¤ò¸«¤Æ¤¤¤ë¤È¡¢ ¤ä¤¿¤é¤È =& ¤Î¤è¤¦¤Ê»²¾È¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¢ ¤³¤ì¤Ï PHP4 »þÂå¤Î̾»Ä¤Ê¤ó¤À¤í¤¦¤«¡© »²¾È¤ò»È¤¦É¬Í×À­¤ÏÆÃ¤Ë´¶¤¸¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ ¾åµ­¤ÎÎã¤Ç¤ÏÁ´Éô = ¤Ë¤·¤Æ¤¢¤ë¡£

¤³¤Î¥¨¥ó¥È¥ê¤Î³¤­: 2006-05-31 (¿å)
Tags: Ethna | ¤³¤Î¥¨¥ó¥È¥ê¤ò´Þ¤à del.icio.us | ¤³¤Î¥¨¥ó¥È¥ê¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ | ¤³¤Î¥¨¥ó¥È¥ê¤ò´Þ¤à livedoor ¥¯¥ê¥Ã¥× | Permalink
ËÜÆü¤Î¥ê¥ó¥¯¸µ

ÊÔ½¸