php

マークアップエンジニアとかWEBディレクターとかをやってる僕が、自分が詰まって、解決したことをここに残しておきますよ。

phpのエラー「Undefined index」というのが出たら

Undefined index

初回アクセス時に$_POSTや$_GETに値が入っていない場合にエラーとなる。
そんなときは

$hoge = $_POST["hoge"];

   ↓

if(isset($_POST["hoge"])){
$hoge = $_POST["hoge"];
}

とする

phpでエラーを確認したい

phpではエラーがおきたときに画面がまっしろになるだけでエラーがでない。

エラーを出すには、phpの最初に以下1文をつける。

ini_set( 'display_errors', 1 ); 

いいね!しないと見れないfacebookページを作る

FACEBOOKページで、いいねをしないと具体的なコンテンツが
見れないような ページがよく見られる。

例えばこんなページみたいに。
http://es-es.facebook.com/tokyootakumode

いいねを集めるのに良さそうですね。

これのやり方をメモしときます。

phpを使います。

facebookページの作り方については、こちらのページなどを参考にするといいと思います。
facebookページの作り方


①iframeで呼び出すページを置くサーバーに
php5.2以上が入っていることを確認する。

サーバーの管理ページなどにログインすると、どこかでphpのバージョンが
見れると思います。
phpのバージョンが5.2以上じゃないと使えないみたいです。


②そこにiframeで呼び出す用のphpファイルを置く。
もともとiframeでhtmlを呼び出している場合は、拡張子がphpに変わるので、
フェイスブックページアプリの方でのインクルード先の設定も
あとで変えましょう。


③呼び出すファイルを以下のような構造にする(コピペが吉)


<?php
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
print<<<EOF

<html>
いいね!を押した後に見せたいhtmlの内容を書く
</html> 
 
EOF;
} else {
print<<<EOF 
<html>
いいね!を押す前に見せたいhtmlの内容を書く
</html>  

EOF;
}
}

?> 


つまり、phpの中で、両方のhtmlを書いておいて、いいねを押してるかどうか判別して、条件分岐させてるってことですね。

あとは、アップして、確認して、完成!


htmlが用意できていれば、大体15分くらいの作業です。
記事検索

リモキュー

お仕事のご依頼・お問い合わせはこちら

コーディングのお仕事が得意です。

https://twitter.com/tacshock
タグクラウド
QRコード
QRコード
  • ライブドアブログ