くだすれPHP(超初心者用)4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/13(金) 20:32:36ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0142nobodyさん
2008/07/16(水) 01:29:04ID:yQh99k9kPOSTで受け取っている$_POST['text']に日本語が含まれていないものを除外、urlが2つ以上含まれているものを除外したいのですが
どのようにしたらよいのでしょうか?
あと似たような問題は他にもいくらでも出てくると思うので、SPAM書き込み対策
掲示板作成の参考になるようなHPとかあるようでしたら教えてください。
よろしくお願いいたします。
0143nobodyさん
2008/07/16(水) 01:37:08ID:???javascriptでこの文字が入っていたら除くとか
検索すれbないいよ。
もうひとつはapacheのところで、どこからきているか
を解析してそいつらはみられないようにするんだ。
0145nobodyさん
2008/07/16(水) 08:03:30ID:???$baseball = array('鈴木'=>16, '松井'=>55, '清原'=>5);
foreach ($baseball as $key => $val){
print ($key." : ".$val."<br />");
}
?>
これの
$key の後ろの . って何のために必要なんでしょうか?
0146nobodyさん
2008/07/16(水) 09:49:58ID:???0147nobodyさん
2008/07/16(水) 12:25:39ID:???連結をしなければいけないときとしなくてもいいときがわからないというか?
0148nobodyさん
2008/07/16(水) 13:00:16ID:???お前はいったい何がしたいんだ?
>>145のソースでは当該箇所はどう見ても文字列を連結しようとしている
わけだから、連結演算子(.)は省けないだろう。
どうしても連結したくないなら
print $key;
print " : ";
print $val;
print "<br />";
とでもしておけ。
普通なら
print "{$key} : {$val}<br />";
で終わりだがな。
0150nobodyさん
2008/07/16(水) 13:20:58ID:JWV92MXFたしか、 .で連結するより ,で連結した方が、処理的に早いって聞いた
処理速度 { } > , > .
これであってるかな?
0151nobodyさん
2008/07/16(水) 13:23:05ID:???最適化は、脳味噌に適用しろ!!
(http://d.hatena.ne.jp/gegegen/20080524/1211622711より)
0152nobodyさん
2008/07/16(水) 13:39:24ID:???例えば、a8等のアフィリエイトの場合、広告主がサンクスページ(購入完了画面) に申し込み確定タグを
imgタグで仕込みます。
流れ的には、
サイトオーナー番号の付いた a8 のタグをクリックし、クッキーを発行
http://aaaa.com/in.php?s=001
↓
広告主サイト
http://bbbb.com/
↓
商品購入完了画面で、imgタグにより a8 へ通知
<img src="http://aaaa.com/check.php">
という流れだと思うのですが、この時、最初に発行されたクッキーは a8 の名前で作成されるのですが、
これを商品購入完了画面の imgタグで、a8に通知した時、クッキーはa8へ渡るのでしょうか?
上記のような流れのものをPHPで作って試してみましたが、ドメインが違うためクッキーは受け取れませんでした。
もちろん、同ドメインの場合では正常に受け取れます。
サイトが違っても、imgによる呼び出し先が、発行元と同じなため、受け取れるんじゃないかと思ったのですが…
何か特別な事をしているのか、私の勘違いなのか、お知恵を貸しください。
よろしくお願いいたします。
0155nobodyさん
2008/07/16(水) 20:17:18ID:???0156nobodyさん
2008/07/17(木) 09:33:28ID:???これでアルファベットと記号を消そうと思うんですが、
' とか
" とか
[ とか
も消したいときはどんな風に表記したらいいんでしょうか。
0157nobodyさん
2008/07/17(木) 15:54:00ID:???例えばこんな感じ?
$message = preg_replace('/[0-9A-Za-z@!"#$%&,_=\|\{\}\[\]\(\)\x27\x2f\x3f\x5c\x60:;\.\*\+\-]/','',$message);
echo $message;
0158nobodyさん
2008/07/17(木) 16:03:43ID:???>>157は個別に書いたけど、単純に数字〜英記号を一括削除するなら
$message = preg_replace('/[\x21-\x7e]/','',$message);
echo $message;
の方が簡単。
詳しくはPerl正規表現とそのエスケープ文字を調べること。
ereg系正規表現は日本語が混じると誤動作するし、mb_ereg系もイマイチ不安定で
パフォーマンスも低いので、文字コードに拘らないのであればperl互換正規表現
を使う方が何かと便利だと思うよ。
0160nobodyさん
2008/07/20(日) 00:29:05ID:???ところで、
$old = array("a","b","c");
$new = array("<strong>a</strong>","。<strong>b</strong>","<strong>c</strong>");
$wrdst = str_replace($old,$new,$wrdbr);
こんな感じで置換しているんですが、これを
「最初の10個だけ置換」
したいんですが、良い方法がないでしょうか。
0161nobodyさん
2008/07/20(日) 06:45:16ID:???0162nobodyさん
2008/07/20(日) 11:38:30ID:???ありがとうございます!
0163nobodyさん
2008/07/22(火) 19:28:46ID:???5の倍数の場合だけ<h1>を入れて返すにはどうしたらいいんでしょうか。
ifで5で割り切れるときだけどかいろいろ考えてみたんですが、いまいちうまくできません。
0165nobodyさん
2008/07/22(火) 20:00:33ID:???0167nobodyさん
2008/07/22(火) 20:21:02ID:???0168nobodyさん
2008/07/22(火) 20:34:06ID:???0169nobodyさん
2008/07/23(水) 02:23:01ID:???0170nobodyさん
2008/07/31(木) 13:54:43ID:F87Ghxji基本的にSJISで作ったフォームからはSJISで
EUCで作ったフォームからはEUCで文字コードが
送られてきますよね。だけど送り手が意図的
に文字コードを変えて送ってきたりブラウザ
が勝手に他の文字コードで送ってしまう場合が
あるようなのですがその場合文字コードを
適切にスクリプト内部で使用したい文字コードに
変換する方法てどんなものが考えられるでしょうか。
またみなさんはどうやってますか?
0172nobodyさん
2008/07/31(木) 18:02:30ID:???諢丞峙逧縺ォ騾√▲縺ヲ縺上k繧医≧縺ェ螂エ縺ッ辟。隕悶☆繧翫c濶ッ縺縺倥c繧薙Χ縺√�縺仇ww
0173nobodyさん
2008/08/01(金) 01:13:57ID:/2mMDjbG借りているサーバーの関係でphp4からphp5にバージョンアップしたら、
写真をパソコンで表示させるページ(mailbbs.php)でエラーが出てしまい、閲覧できなくなりました。
簡単に付け足す記述があれば、是非教えていただけないでしょうか?
よろしくお願いします。 m(_ _)m
0174nobodyさん
2008/08/01(金) 01:15:02ID:???0176nobodyさん
2008/08/01(金) 02:51:47ID:3wWMq3LYWeb申込フォーム、管理画面(データベース連携、検索など)を作成可能なレベルを目指す
という文章に対して
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚)
とレスが返されていました。
これはどういうことなのでしょうか?
基本的なレベルだということですか?
0177nobodyさん
2008/08/01(金) 03:01:39ID:cc3Gba10ヌルポ
0179nobodyさん
2008/08/01(金) 03:11:47ID:???>>178
なるほど。
2週間の講座なので、基本なのはまあしょうがないですね。
どうもありがとうございました。
0180nobodyさん
2008/08/02(土) 17:48:44ID:qYvqcpCsを設置しようと思ってるのですが、画像をUPロードする
時に画像に関する情報(画像の説明、名前など)
をログファイルに同時に書き込む仕様になっているんです。
とりあえずテストでは問題なく動いてるのですが
もしスクリプトがなんらかの理由で途中で止まってしまったり
した場合、画像だけUPロードされてしまって
ログファイルには書き込みされない(または逆も考えられる)
ことになってしまいますよね。
こういう事態に陥らないためにはどうしたらいいでしょうか?
0181nobodyさん
2008/08/02(土) 18:09:58ID:???0182nobodyさん
2008/08/02(土) 18:16:17ID:QOTyBDTF不具合がでるかどうか確かめろ。
まずはそっちだな
0183nobodyさん
2008/08/02(土) 18:41:09ID:qYvqcpCs>>182
ご返事ありがとうございます。
とりあえず不都合はまだないのですが
タイムアウト(レンタルサーバーだと30秒)
の問題もあるので結構悩んでます;;
0184nobodyさん
2008/08/03(日) 01:05:38ID:a0x+ZsCKどれで練習して どこで実行したらいいんでしょうか?
ttp://phpspot.net/php/php_topics.htmlを見てるんですが
すでに実行にいってしまっていて
よろしくお願いします
0185nobodyさん
2008/08/03(日) 01:13:59ID:???書いてあんだろが
0186nobodyさん
2008/08/03(日) 01:25:55ID:tLdg0T4F渡すパスは自動でエスケープされるようだけど
これは実際どういう文字がエスケープされるんでしょうか?
escapeshellcmdと同じ?マニュアルに特に書いてないで分かりません。
0187nobodyさん
2008/08/03(日) 01:44:15ID:???0188184
2008/08/03(日) 01:52:39ID:a0x+ZsCKサンクス
そのurl通りやってみたんですが
表示されませんでした
原因で考えられるのは
ttp://phpspot.net/php/pgXAMPP%82%CC%8BN%93%AE%81E%92%E2%8E%7E.html
にあるように起動後に黒背景のウィンドウが表示されないからかと思うのですが
XAMPPコントロールパネルアプリケーションでは起動 開始ボタンが押されてます
どうすれば実効されますでしょうか?
0189184
2008/08/03(日) 02:02:51ID:a0x+ZsCKXAMPPコントロールパネルアプリケーションはver2.5
あとはPHP editorだけダウンロードしてます
他に足らないものはないでしょうか?
ttp://de-lab.com/article/eclipse/を見るとPDTもインストールしなければならないようですが…
0190nobodyさん
2008/08/03(日) 02:07:06ID:???0191184
2008/08/03(日) 02:09:54ID:a0x+ZsCKそうですか…
では>>188に書いてあるように実行できなかったんでしょうか?
違うサイトを見てしまうと挫折してしまう気がして
よろしくお願いします
0192nobodyさん
2008/08/03(日) 04:57:56ID:???単純に一つ一つインストールしたほうが早くて確実だと思うけど。
0193nobodyさん
2008/08/03(日) 05:28:24ID:???0194nobodyさん
2008/08/03(日) 07:55:45ID:T3jYftlq0195nobodyさん
2008/08/03(日) 10:31:52ID:9C4HZHI80196nobodyさん
2008/08/03(日) 18:50:36ID:RMhtfFUN0197nobodyさん
2008/08/03(日) 19:00:15ID:???0198nobodyさん
2008/08/03(日) 19:52:51ID:???0199nobodyさん
2008/08/04(月) 02:38:05ID:LmctVFYq0200nobodyさん
2008/08/06(水) 23:42:16ID:???0201nobodyさん
2008/08/07(木) 01:15:21ID:ASRrNjKqスレ違いかもしれませんが、PHPの呼び出しをしたいので、こちらで質問させていただきます。
サーバーのcronでサーバー内のPHPを毎分実行する時は、
*/1 * * * * /usr/local/bin/php /home/サーバー会社名/public_html/ドメイン名/△△.php
なのですが、
同じように毎分他サーバーのPHPファイルを指定する時はの記述を教えてください。
よろしくお願いします。
0202nobodyさん
2008/08/07(木) 02:08:13ID:???0203nobodyさん
2008/08/07(木) 02:51:36ID:GqYvn9Ijphp5を使って、XMLの内容を並び替える方法を教えてください。
0204nobodyさん
2008/08/07(木) 02:52:26ID:???お好きなのをどうぞ
0206201
2008/08/07(木) 12:39:10ID:???PHPスクリプトをcronすることにしました。
ありがとうございました。
0207nobodyさん
2008/08/07(木) 15:24:18ID:???0208nobodyさん
2008/08/21(木) 15:50:39ID:???独習PHP山田 祥寛
まずこれやればいいですか?
自分のwebサーバーでphp使ったサイトとか作れるようになりたいです
0209nobodyさん
2008/08/21(木) 15:52:50ID:???0211nobodyさん
2008/08/21(木) 17:26:28ID:???0212nobodyさん
2008/08/21(木) 17:45:50ID:???検索すりゃ役に立つサイトから立たないサイトまでわんさか出る
マニュアルも早いうちから目を通せ
本やサイトは主観で書いてある記事だから誤解もある
0213nobodyさん
2008/08/21(木) 18:25:36ID:CIze4FXPデータベースはUTF8で作成しています
select文を実行する前に、
$sql = "SET NAMES utf8";
mysql_query($sql);
を実行してデータを取り出しましたが、日本語文字は『utf8』なのですが、
半角英数字は全部『ASCII』になっています
なぜでしょうか?
0214nobodyさん
2008/08/21(木) 18:47:35ID:???0216nobodyさん
2008/08/21(木) 21:32:52ID:???そんな感じ
文法や基本的な命令語を覚えれば後は使いたい関数やクラスを都度調べればいい
使う機会の多いものは自然に身についていくから
一通りのことが出来るようになった後に効率や最適化を考えればいい
あくまで趣味の一環として習得する場合だけどな
>>213
ASCIIしかないなら保存形式が何であれASCII
utf8と判断する材料がないからな
0217nobodyさん
2008/08/21(木) 23:55:32ID:2yWxB/YG0218nobodyさん
2008/08/22(金) 00:09:08ID:???0220nobodyさん
2008/08/22(金) 09:40:04ID:???そこらへんから完成品見つけてきてそれ改造してる方がよほど身につくと思う
0221nobodyさん
2008/08/22(金) 10:04:01ID:???ごちゃごちゃ解説読むの面倒だから辞書のように使ってた
それでもバージョン変われば役に立たんから直ぐにマニュアル見ることになるっと
完成品やサンプルソースを読んで動きを理解できるようになればいいな
パターンを覚えていけば応用が利いてくる
そのうち別パターンを自分で書けるようなるんじゃね?
0222213
2008/08/25(月) 20:42:58ID:???>>216
ご返答ありがとうございます。
phpファイルはUTF8で保存して、metaタグでもUTF8を指定しています。
そういうことでは無いんでしょうか?
0223nobodyさん
2008/08/25(月) 21:35:52ID:???違う
phpのscript_encodingとかmeta(HTMLタグかよ)は関係ない
asciiはあくまでascii
0224nobodyさん
2008/08/26(火) 03:06:03ID:???大雑把かつ乱暴に言うと
半角英数と一部の記号はどのエンコード方法だろうと内部での表現方法が同じ
だから半角英数だけだと区別のつけようがないしつける必要もない
UTFとかeucとかは、日本語とかはいってくるときだけ
0225nobodyさん
2008/08/28(木) 02:17:41ID:???pealもつかえるようですが
0226nobodyさん
2008/08/28(木) 02:33:08ID:???0227nobodyさん
2008/08/28(木) 06:20:10ID:???0228nobodyさん
2008/08/28(木) 06:38:59ID:???まともに公開しようと思うと一から一づつ入れるより設定面倒だよ
設定に詳しくない限り止めておけ
0229nobodyさん
2008/08/28(木) 08:53:39ID:???全部すっとばしても構わないと思うならxamppで良いかと。
0230nobodyさん
2008/08/28(木) 17:51:11ID:???スレがあったら誘導お願いします
0231nobodyさん
2008/08/28(木) 19:41:11ID:???0233nobodyさん
2008/08/28(木) 23:12:59ID:???で、仮想マシンや引退したボロPCあたりで環境作っていじり倒す
0234nobodyさん
2008/08/28(木) 23:18:21ID:???それでも良ければご自由に。
0235nobodyさん
2008/08/28(木) 23:28:54ID:???じゃぁ、どんな風に勉強していけばいいですか?
>>233が言っているようにネットだと情報がかなり断片的で、
しかも、本と同じでネットで情報公開している人によって偏ってたり、訂正もされないまま放置されていたりするわけなんだけど。
0236nobodyさん
2008/08/29(金) 01:13:34ID:???0237nobodyさん
2008/08/29(金) 01:14:32ID:???0238nobodyさん
2008/08/29(金) 01:15:48ID:???0239nobodyさん
2008/08/29(金) 01:33:52ID:???ttp://help.goo.ne.jp/help/article/822/#08
0240nobodyさん
2008/08/29(金) 11:55:19ID:???確かにネットも本と同じで書き手次第だが
本と違うのは書き手の数
より多くの情報を知ることで信頼出来る情報や誤解を判断出来る
(本では数読むには金がががががが)
それに基本はオープンソースなのだから、公式のドキュメントもネットにある、
ある程度の認識が身についたら、公式を押さえることを忘れるな
そして糞ブログ滅べ(特に半端な日記系)
0241nobodyさん
2008/08/29(金) 15:09:59ID:???DocumentRootにphpinfo関数が書かれたindex.phpファイルを置き
PHPの情報をブラウザで表示させるところまで成功しました。
次にPOSTの勉強のために以下のform.htmlファイルをつくり
<html><head>
<title>テキスト送信のテスト</title>
<META http-equiv="Content-Type" content="text/html;
charset=Shift_JIS"></head>
<body bgcolor="#FFFFFF" text="#000000">
<font size="4">テキスト送信のテスト</font>
<form name="form1" method="post" action="view.php">
名前:<br>
<input type="text" name="onamae"><br>
<input type="submit" value="送信">
</form>
</body>
</html>
以下の内容のview.phpと一緒にDocumetRootにつっこんで
<html><head>
<title>PHPによるテキスト送信・受信・表示</title></head>
<body>
<?php
print $_POST["onamae"];
?>
</body>
</html>
ブラウザでhttp://localhost/form.htmlを表示させ名前を入力し送信ボタンを押したのですが
IEの"WEBページが見つかりません"のHTTP404エラーが出ます。
ネットで調べて色々php.ini、httpd.confの設定を書き換えてやっているのですが解決しません。。
どこの設定を直せばいいのでしょうか。お助けください。
■ このスレッドは過去ログ倉庫に格納されています