半地下備忘録

たつさんの日記的ななにか。

TwitterOAuth.php on line 334 のsyntax errorの原因と修正

PHPTwitterのアプリとかbotを作ろうとしたときに必ずと言っていいほど紹介されているライブラリ。


これをダウンロードしてきて使え!みたいなのに従って作っていたはずなのに、自分が触っていないライブラリのTwitterOAuth.phpからこんなエラーがでた。

Parse error: syntax error, unexpected '[' in /home/hoge/fuga/twitteroauth/src/TwitterOAuth.php on line 334


['GET', 'PUT', 'DELETE'] をarray('GET', 'PUT', 'DELETE')に置き換えるといいというのを見つけて、やってみたところ無事に動作。すごい。こうやって世界にコピペプログラムが量産されていくんですね!!*1


【修正前】
if (in_array($method, ['GET', 'PUT', 'DELETE']) && !empty($postfields)) {

【修正後】
if (in_array($method, array('GET', 'PUT', 'DELETE')) && !empty($postfields)) {


エラーの出た原因はPHPのバージョンの問題らしく、ぼくが使ってたPHP5.3の環境では使えない書き方だったからエラーが出てたみたい。

追記

PHP5.3はサポートが切れているらしく、バージョンアップしたほうが良いそうです。
ぼくの使っていたレンタルサーバPHPのバージョンを選択できたので、PHP5.5に変更しました。

*1:ぼくのは完全に個人のお遊びです

PHPでファイル自身のパスを取得する方法

ファイル自身のパスをPHPには$_SERVERという便利なヤツがあって、そこにパスが入っている。それを取り出すことでフォームなどで自分自身に送信するときなんかに利用できる。

<?php
$_SERVER['SCRIPT_NAME']
?>

前に書いた PHPでおみくじプログラムを作ってみた - 半地下備忘録 でも、ファイル自身へのリンクを作るために$_SERVER['SCRIPT_NAME']を使ってパスを取得してたりする。

続きを読む

PHPでフォーム送信後にURLが変わらないようにした

この前作ったフォームをちょっと直しました。直したいところは Progateの復習を兼ねてPHPでフォームのサンプルを作ってみました(コード付き) - 半地下備忘録 にも書いてあるんだけど、簡単に復習すると…

  • 未入力のものがあった場合のエラー処理
  • 入力されたメールアドレスのチェック(@が含まれているかどうかなど)
  • 表示させるだけじゃなくてメール飛ばしたりデータベースに登録したりしたい
  • attend.phpとsent.phpに分かれてるのもイケてない?

で、簡単にできそうな最後のやつ試してみました。サンプルページのURLとソースもあります。

続きを読む

PHPでおみくじプログラムを作ってみた

この前は復習ということで、PHPで出欠確認用フォームのようなものを作った。まぁあれはあれで直したり、もっと良くしたりしたいんだけど、いったん置いておいて、今回はどこのサイトでもよく見かけるおみくじのプログラムをPHPで作ってみた。

まぁなんでおみくじのプログラムがいいかっていうのは、多分配列と条件文を使うあたりがちょうどいいんじゃないかなと。題材はまぁなんでもよくて、じゃんけんとかでもいいんじゃないかな。

ちなみに前回は見た目もこのブログに似せるやる気があったけど、今回はめんどうなので省略。こだわるなら作るべきだとは思うけど、ソースの見やすさを優先した(という言い訳。面倒だっただけですごめんなさい)。

続きを読む

Progateの復習を兼ねてPHPでフォームのサンプルを作ってみました(コード付き)

f:id:tatsu-n:20150224145516j:plain

プログラミング学習サイトProgateのPHPのコースを進めて、ひと通り終えてこの前 ProgateのPHP受講完了したので感想でも - 半地下備忘録 という記事を書いた。

この中で

Progateは区切りがいいのでいったん終了して、自分で借りたサーバーに自分で打って、今回の演習を復習する感じにしていくつもり。

って書いてたので、復習を兼ねて、自分で借りたサーバーにちまちまとフォームを作ってみた。Progateと同じことをやるなら、改めて書くほどのことじゃないだろう!! というお叱りを受けるかもしれないけど、ここでまた次どうするかを書くことによってモチベーションを保つライフハック(?)。

続きを読む