2012年10月7日 星期日

Note9



function test(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","Check_ID.php?id="+str,true);
xmlhttp.send();
}


這次用了ajax利用GET把值傳到php檔來進行資料庫的判斷,

上面的是判斷瀏覽器所使用的,這是網路上的範例,只做了小部分的修改,

之後在想想能否再用上ajax的技術,不用整個畫面重新整理還蠻方便的,

接下來要做的是上學期驗收老師所提的功能,讓使用者能夠用圖片來進行發文的動作,

之前有看過文件Facebook是可以的,plurk跟twitter的文件還沒有去看。

2012年6月10日 星期日

Note8

上禮拜終於結束了專題的報告,

運氣很好的我果然還是被抽上台了,

報告的時候有點小緊張,

不過在發現老師好像大多在研究手中的那張A4之後,

就開始不那麼緊張了,

最後發問的時候雖然一直聽不懂老師在說什麼,

不過在休息時間在去問了幾次才聽懂,

老師的建議也很好,我應該再試試看能不能把圖片的資料也顯示出來,

這樣應該會更有吸引力。

接下來測試社群網站的未讀功能,

plurk和facebook看官方的文件是有未讀的可以使用,

但是Twitter似乎沒有提供這個功能,

可能還要在嘗試看看,

也開始規劃暑假應該做哪些進度,

忙碌的暑假。

2012年5月30日 星期三

Note7

這兩個禮拜幾乎都在撰寫文件,一直在新增修改,並對報告做演練,只是常常會遇到不知道該

怎麼寫的,比如系統架構圖,有些就是畫得很順,但是講起來就是不通。


2012年5月13日 星期日

Note6

這次先使用 plurk 做測試

$plurk->callAPI('/APP/Timeline/getUnreadPlurks');

回傳的是 object 的資料型態,我將他轉成Array方便使用,$b=objectToArray($json);



function objectToArray($d) {

if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map(__FUNCTION__, $d);

}

他會分別將帳戶分為兩個陣列然後一直包下去,第一個陣列放的是在這次撈出來的資料中,

有出現的使用者,包含暱稱、姓名、生日等等一些公開的基本資料,第二個陣列放的就是發

文的資料,但是第二個陣列裡面放的卻只有使用者的ID,因此如果要知道是哪一個使用者發

文的就必須要和第一個陣列做比對,才能取出發文者的資料,經過排列整理之後就能夠依照

自己的方式把他排好。我的方式是先將所有的id和該id的暱稱存放到一個陣列,當開始處理第

二個陣列(發文的資料)的時候,就到這一個陣列來比對該id是對應到哪一個暱稱。


例如:

xxx Says : [科普]  (小雨為什麼後悔了?) "

現在遇到的問題是因為都必須在到第一個陣列去做比對,但是有些人有暱稱,有些人沒有,從

朋友的塗鴉牆撈我作測試的帳號,卻無法正確的撈出暱稱,除了我的帳號之外其他人的顯示都是正常的目前還是不知道原因出在哪裡

2012年4月29日 星期日

Note5

終於考完期中考了

也因為期中考進度沒很多

這次把三個CODE整合起來

<form action="post.php" method="POST">
<input type="text" name="message"></input>
<input name="submit" type="submit" value="送出至三個社群網站"></input>
</form>

簡單的用html先做了文字方塊輸入要傳送的文字,用POST送出,然後把三段不同的社群網站的

CODE串在一起,註解真的蠻重要的,還有設變數的時候也是,一開始很擔心把三個一起輸入之

後會造成變數衝的到問題,但是遇到的都是一些小問題,很快的就解決了。



接下來要嘗試把未讀取的訊息撈出來。

2012年4月15日 星期日

Note4

終於把三個社群網站的驗證都做完了,接著驗證完成之後就可以開始做發文的動作,接下來為

了要讓使用者可以發文所以簡單的用了資料庫做了一個會員系統,讓使用者在註冊之後經過授

權之後會將之前處理好的token存入資料庫,如此一來只要使用者登入進來就可以從資料庫讀取

token進行發文的動作,這次是先將各個社群網站的發文分開,確定使用者可以透過此平台發布

之後,才將三個整合起來,

寫入資料庫以twitter舉例:

之前說選擇了tmhOauth這個library,在auth.php這個上面先加上連入資料庫的程式碼

<?php

session_start();

include("../../mysql_connect.inc.php");

$id = $_SESSION['id'];

?>

利用SESSION來傳遞用來識別使用者,TWITTER做完OAUTH回傳的會是這個

$_SESSION['access_token'],但是包了兩層token跟token_secret在下一層,分別是

$_SESSION['access_token']['oauth_token'];
$_SESSION['access_token']['oauth_token_secret'];

最後在下一段sql語法把這兩個值存進去資料庫就可以了。




貼文的部分也和上面一樣最上面也是加入連入資料庫的程式碼,

tmhOAUTH的發文是TWEET.PHP 如果要發佈英文以外的話要先將檔案編成utf8否則會變成亂

碼,之後下一段sql把token跟token_secret從資料庫取出,傳入php就可以跑了

$tmhOAuth = new tmhOAuth(array(
  'consumer_key' => 'your_key',
  'consumer_secret' => ' your_secret',

  'user_token' => 從資料庫抓取出來的token,
  'user_secret' => 從資料庫抓取出來的secret,

));

$code = $tmhOAuth->request('POST', $tmhOAuth->url('1/statuses/update'), array(
'status' => $message
));




下一次要把三個社群網站的發文合成一段。













2012年4月1日 星期日