Web2.0的なサイトを作ろう…ともがいている過程を発信するブログ。FLASHとPHPはちかっぱ難しいです…

Web2.1

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
| スポンサー広告 | --:-- |
webデザインに関する別ブログ始めました
ずーっと放置してたこのblog2.1。
(あ、web2.1だった…)

というのも、別ブログの構築を進めていたとです。
そんなわけで、エアロパスはじめました。
≫webデザインに関するブログ「エアロパス」はこちら

ユーザビリティ,情報アーキテクチャ他、webについて思うことを綴るブログとなっております。
ぜひともご覧くださいませ。

いまだにweb1.1くらいで止まっているtakapopでした。

スポンサーサイト

テーマ:web制作 - ジャンル:コンピュータ

| webデザイン | 06:13 | トラックバック:0コメント:0
XAMPPの文字化けを回避(PHP、MySQL、phpMyAdmin)
以前の記事で、
「PHPを使って掲示板を作ってます」
って書いたんだけど、覚えている人は手を挙げてください。

http://takapop2ch.blog103.fc2.com/blog-entry-4.html

覚えてないのが当然です。
こんにちは、takapopです。

前回の記事を書いた時、
データベースを使うと文字化けしてた。

どうにも直らないからほったらかしてたんだけど、
一念発起しなんとか文字化け回避成功。

ということで、
XAMPPの文字化けを回避する手順を書いときます。

@@@@@@@【使用環境】@@@@@@@
Windows XP ローカルホスト
XAMPP Version 1.6.2
PHP Version 4.4.7
MySQL Version 3.23.49
phpMyAdmin Version 2.10.1
@@@@@@@@@@@@@@@@@@@@@@@@@@


参考にしたのは、以下のサイトたち。
ありがとうございます!

XAMPP設定(PHP編):XAMPPを使おう:アフィリエイトを続ける力
http://power.scianto.net/php/xampp/id69.php

MySQL4.1系UTF-8の場合 - phpspot
http://phpspot.net/php/pgMySQL4.1%8CnUTF-8%82%CC%8F%EA%8D%87.html


まず日本語を使うに当たって、
PHPの基本として、文字コードはUTF-8を使用すべき
ってことなので、今回もUTF-8で設定していきます。

XAMPPのインストールは、Cドライブの直下っていう前提。

まずは下に書いてる5つのファイルを書き換える。

C:\xampp\apache\bin\php.ini
C:\xampp\php\php.ini
C:\xampp\php\php5.ini
C:\xampp\php\php4\php.ini
C:\xampp\php\php4\php4.ini

この.iniファイルってーのが、
PHPの初期設定をしているファイルなのだ。

よく分からんことがいっぱい書いてるんだけど、
先頭にある;(セミコロン)がコメントアウトの意味らしい。

ということで、デフォルトでは
mbstring(マルチバイト文字:つまり日本語)の設定を
している行がコメントアウトされているので、
その辺をずばっと修正する。

これが初期状態

-------------------------------------------
1 ;mbstring.language = Japanese
2 ;mbstring.internal_encoding = EUC-JP
3 ;mbstring.http_input = auto
4 ;mbstring.http_output = SJIS
5 ;mbstring.encoding_translation = Off
6 ;mbstring.detect_order = auto
7 ;mbstring.substitute_character = none
8 ;mbstring.func_overload = 0
-------------------------------------------

こいつらのセミコロンを取って、
2,4,5行目を以下のように変えてやりましょう。

-------------------------------------------
2 mbstring.internal_encoding = UTF-8
4 mbstring.http_output = UTF-8
5 mbstring.encoding_translation = On
-------------------------------------------

これでPHP側の設定は終わり。

よーし!と思って、データを見てみると
やっぱり文字化け。

どうやらMySQLの設定も直す必要があるみたい。
ということで、PHPからクエリーを発行する際、
文字コードをUTF-8に変換する。

「SET NAMES utf8」

上のクエリーを事前に発行しておけば、
日本語文字化け問題からは解放されるはず。

皆様もお試しあれ。

ということで、以前のソースを若干書き直したので、
参考までに書いときます。


まずフォームのHTMLから

<form action="" method="post">
<input name="word" type="text" />
<input type="submit" value="送信" />
</form>

そして投稿&データ表示のPHP部分

<?php

// データベースサーバに接続
$db = mysql_connect('localhost','username','password');

// データを取得するデータベース"test_db"を指定
mysql_select_db('test_db',$db);

//MySQLの文字コードをUTF-8に設定
$query = "SET NAMES utf8"; // これを書くべし
mysql_query($query, $db); // そして実行するべし

// POSTで受け取ったデータを変数に格納
$word = $_POST['word'];

// データを追加するクエリの記述
$query2 = "INSERT INTO `test_table` (`data`) VALUES ('{$word}')";

// クエリを実行(データ追加)
$result = mysql_query($query2,$db);

// クエリの記述(テーブル"test_table"データを取得せよ)
$query3 = 'SELECT * FROM `test_table`';

// クエリを実行(データ取得)
$result2 = mysql_query($query3, $db);

// テーブルのデータを出力
while($getData = mysql_fetch_assoc($result2)) {
 foreach($getData as $output) { // データ$getDataを$outputに入れて出力
 echo $output."<br />\n";
 }
}
?>


こんな感じです。
相変わらずXSSはやってません。
分かる人いればbakapopに教えてください。

テーマ:PHP - ジャンル:コンピュータ

| PHP | 14:10 | トラックバック:1コメント:0
requireを使って変数を別のファイルへ受け渡す(PHP)
あれ、髪切った?
こんにちは、takapopです。

今日は、
別のPHPファイルで定義した変数を参照する方法を紹介。

使用例としては、
検索フォームの検索結果を表示したいような場合。

このときの手順は以下

1.index.php上に置かれたフォーム
 <form action="get.php">
 で入力された検索語(たとえば"タモリ")をget.phpに渡す

2.get.phpにて$_GET変数として"タモリ"を受け取る

3."タモリ"に該当するデータ(たとえば"タモリのかつら")を
 ベースデータ内から SELECT * FROM で抜き出す
 (get.php内での処理)

4."タモリのかつら"を変数$resultとして
 index.phpに受け渡す
 (get.php内での処理)

5.$resultをindex.phpで受け取り
 ページ内に echo $result; で
 「タモリのかつら」を表示

みたいな流れ。

でもこのままじゃ、get.phpで定義した$resultが
index.phpで読み込めてなくて表示されないんだな。

そこでgoogle先生に聞いてみたら、
どうやらrequireコマンドを使う必要があるみたい。

index.phpにて
require('get.php');
を書く必要がある。


以下、
requireを使用した簡単なサンプルソースを書いておく。

**** variable.php ***
<?php
$a = 'タモリ';
include('variable2.php');
echo $a;
echo $b;
?>

**** variable2.php ***
<?php
$b = 'のカツラを受け流す';
?>

以上、2つのファイルを用意して
variable.phpを実行すると、ブラウザには

タモリのカツラを受け流す

と表示されます。

これはたぶん基本中の基本。
こんなことも知らなくてすいません。
もっと頑張ります。
頑張っていいかな?

テーマ:PHP - ジャンル:コンピュータ

| PHP | 15:56 | トラックバック:0コメント:0
Math.random()でテキストをランダム配置(ActionScript)
ふー、疲れてない。
takapopです。

ActionScriptで色々試しておりますが、
テキストをランダム配置して
遊んでみたのでご紹介。

真ん中のDisplayボタンを押すごとに切り替わります。







Math.random()は便利だなー。
for()文も便利だなー。
ダイナミックテキストも便利だなー。

このテキスト動かしたいけど、動かせない。
オレ、不便だなやつだなー。

テーマ:Flash - ジャンル:コンピュータ

| FLASH | 19:41 | トラックバック:0コメント:0
掲示板を作ろうか(PHP,MySQL)
最近、PHPばっかやってるbakapopです。
こんにちは。

web2.0を目指す手始めとして
まずは掲示板を作ってみようかと。

とりあえず、
HTMLフォームのデータをPHPに渡して、
それをデータベースに登録できるようになりたい!

ということで、ソースを書いてみました。

「ダメだこりゃ」
とツッコミを入れてくれれば幸いです。

(こう直したら?って教えてくれると、なお幸い)

まずはHTMLのフォームから(XHTMLでーす)

<form action="post.php" method="post">
<input name="post-text" type="text" />
<input type="submit" value="POST送信" />
</form>


そして、肝心のPHP部分。
・ファイル名はフォームのactionで指定したpost.php
・htmlと同じフォルダに入れている
・local環境でテスト

<?php
//フォームのデータを受け取る
$name = $_POST['post-text'];
$name = mb_convert_encoding($name,"utf-8");
//データベースサーバに接続
$db = mysql_connect('localhost','ユーザ名','パスワード');
// データを取得するデータベースを指定
$sel_db = mysql_select_db('データベース名',$db);
// クエリの記述(データベースにデータを追加せよ)
$query = "INSERT INTO テーブル名 (フィールド名) VALUES ('{$name}')";
// クエリを実行(データ追加)
$result = mysql_query($query,$db);
// データベースからデータを取得
$query2 = 'SELECT フィールド名 FROM テーブル名';
$result2 = mysql_query($query2,$db);
// データの数を調べる
$r_num = mysql_num_rows($result2);
// データを配列に入れて出力
for($i=1; $i<=$r_num; $i++){
$result_arr[$i] = mysql_fetch_array($result2);
var_dump($result_arr[$i]);
echo("<br />\n");
}
?>

え?
XSSが全然できてないって?
そんな言葉知りません。

日本語を入力すると文字化けします。
もう、てやんでえです。

ちなみに僕は博多っ子です。

テーマ:PHP - ジャンル:コンピュータ

| PHP | 17:55 | トラックバック:0コメント:0
| ホーム | 以前の記事
最近の記事
カテゴリー
月別アーカイブ
ブログ内検索

RSSフィード
管理者のプロフィール

管理者:takapop
実は全然ポップじゃありませんのであしからず

管理者takapopの別サイト
リンク
最近のトラックバック
最近のコメント

管理人へメール

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。