がんばった

画像を投稿してもらいファイル名を自動で付け直し、それをデータベースに保存した後、ページに読み込んで表示させる。ってwebアプリ(?)を作ってみた。
mysqlを使ってるのでいま借りてる無料レンタルサーバーでは使えないのでローカル内で地味にサービスイン(笑
世界で僕しかしらないサービスがここに誕生。
え、君も使ってみたいって?
それならサーバー代を肩代わりするかwebサーバーを立ち上げるまで待ってておくれ。

ほんで当然つまづきぶつかり傷だらけになり腰が痛くなったのでメモ。つまづきすぎて覚えてないけどここを直したら大きく前進したというところだけ。

1、html内にphpを埋め込むときの文法

初歩すぐる(−−;
だけどやってると案外そういう簡単な間違いで進めなくなったりするもんなんですよね。そういえばここって。。。あ、なおった!みたいな。以下とてもわかりやすい例。

<form method="post" action="">
<input type="submit" value="おけ!" name="ok">
<input type="submit" value="やめ!" name="cancel">
<INPUT type='hidden' name='filename' value="<?=$filename?>">
</form>

で、うえでいうと

<INPUT type='hidden' name='filename' value="<?=$filename?>">

の部分を最初は

<INPUT type='hidden' name='filename' value="$filename">

にしていて。
おかしい。なぜか変数がそのまま表示されている。。。と3時間ほど悩んだ(><)

2、エスケープ処理

phpでは文字列を「""」で囲って出力するんだけども

<a href="http://yahoo.co.jp">ヤフー</a>

をechoで出力するとき、

echo("<a href="http://yahoo.co.jp">ヤフー</a>");

とやると文字列がなんちゃら〜とエラーがでる。
phpが「"」全部を文字列の囲みだと思ってしまうわけです。
なのでエスケープ処理で「"」はふつうのタグですよ、と教えてあげねばならん。
これは「¥」マークをつかって、

echo("<a href=¥"http://yahoo.co.jp¥">ヤフー</a>");

とする。これでちゃんとタグと認識してくれる。

つまづき箇所は全部文法でした。