Re: [問題] Ajax的.open問題
→
10/02 12:32,
10/02 12:32
→
10/02 12:41,
10/02 12:41
→
10/02 12:42,
10/02 12:42
→
10/02 12:42,
10/02 12:42
→
10/02 12:42,
10/02 12:42
竟然被點名了 -_____-
基本上這個問題嘛… 就是你沒有 new 一個 EvnetTrigger 的物件
所以這一頁只是定義了一個 class 叫做 EventTrigger
然後就結束了…
最簡單的最法就是前面加上
$et = new EventTrigger();
不過讓 class 中直接取 $_GET 中的值感覺很怪
但如果你堅持的話,那應該改成這樣
class EventTrigger{
var $dbh;
var $q;
public function __construct() {
$this->dbh = mysql_connect ("*", "root", "*") or die ('I
cannot connect to the database because: ' . mysql_error());
mysql_select_db ("exp");
mysql_query("SET NAMES = utf8");
mysql_query("SET CHARACTER_SET_CLIENT = utf8");
mysql_query("SET CHARACTER_SET_RESULTS = utf8");
$this->q=$_GET["q"];
}
// 然後後面有 $q 的地方都改成 $this->q;
// 直接用 $q 好像也可以,只要 function 中沒有同樣名稱的 parameter
// 但既然都用了 OO 就建議養成良好習慣
function UpdateExp($exp,$stren,$level)
{
mysql_query("UPDATE usr_info SET
usr_exp='$exp',strength='$stren',level='$level' WHERE usr_id='
$this->q' ");
}
所以我會建議你如果要用 OO 的寫法的話,應該寫成
$et = new EventTrigger($_GET['q']);
class EventTrigger{
var $dbh;
var $q;
// 兼容有一個參數和沒丟參數給 constructor 的時候
// 在 java 和 c# 中要分開寫不同參數數量的 constructor
public function __construct($q = NULL) {
$this->dbh = mysql_connect ("*", "root", "*") or die ('I
cannot connect to the database because: ' . mysql_error());
mysql_select_db ("exp");
mysql_query("SET NAMES = utf8");
mysql_query("SET CHARACTER_SET_CLIENT = utf8");
mysql_query("SET CHARACTER_SET_RESULTS = utf8");
$this->q=$q;
}
// 以下類推
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.187.167
※ 編輯: chrisQQ 來自: 219.85.187.167 (10/02 14:35)
討論串 (同標題文章)
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章