トップページphp
1001コメント300KB

【PHP】下らねぇ質問はID出して書き込みやがれ 102

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2010/12/18(土) 20:07:33ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0967nobodyさん2011/01/25(火) 18:41:07ID:???
PHP+MySQLで掲示板を作ろうと言う本を見かけるのですが
掲示板なんかにわざわざスクリプト意外にDBなんかまで使って
サーバー管理者から苦情がこないのでしょうか?
0968nobodyさん2011/01/25(火) 18:43:24ID:???
なんかDBを大げさに思ってる初心者が多いっすね。
そんな大層なものでもないからw 
0969nobodyさん2011/01/25(火) 18:45:58ID:???
どういう鯖かは知らんが、鯖缶が使っていい設定にしてあるなら遠慮なく使えばいい
0970nobodyさん2011/01/25(火) 19:00:36ID:???
>>966
それを言ったら963のじゃ編集もタグ入れも出来ないし、ちゃんと出来るモノ探したほうがいいよな

>>967
ファイル操作よりよっぽど安全でスマート。慣れればCSVとかいじるより多機能簡単だし。
0971nobodyさん2011/01/25(火) 19:04:41ID:???
>>965
Ajaxの使用を怠ってしまい、大変申し訳ありませんでした
大至急Ajax方式に切り替えました
http://www.dotup.org/uploda/www.dotup.org1382094.txt

WYSIWYG???編集???
自分で作れやwwwwwwwwww
俺はこれで終わり
0972nobodyさん2011/01/25(火) 19:04:55ID:NaLoXxgk
<?php
$sss = "aiueo";
$sssd = "ai";
//ランダム表示
$arr = array("echo $sss;","echo $sssd;");
mt_srand((double)microtime()*1000000);

echo"
<html>
<body>";
echo $arr[mt_rand(0,count($arr)-1)];
echo"
</body>
</html>";
?>

これを実行すると

echo aiueo;
echo ai;
と言う表示が出ます、これを
aiueo
ai
と表示出来るようにするにはどうしたらいいでしょうか?
0973nobodyさん2011/01/25(火) 19:17:29ID:???
>>972
すげー見づらいから書きなおしてみた

<?php
// 文字列を変数に入れる
$s1 = "aiueo";
$s2 = "ai";

// 変数を配列に入れる
$arr = array($s1, $s2);

// 乱数を生成する
$num = mt_rand(0, count($arr)-1);

// 表示する
echo "<html><body>";
echo $arr[$num];
echo "</body></html>";
0974nobodyさん2011/01/25(火) 19:37:08ID:???
>>972
最小限に手直しするなら
$arr = array($sss, $sssd);
0975nobodyさん2011/01/25(火) 19:52:02ID:NaLoXxgk
>>973
素晴らしいですね
綺麗すぎて泣いた

あとすいません、echoで必ず表示させたいんです
どういう事かというと、
そのランダム部分には普通の文字列もあれば関数やらHTMLのタグやらも一緒くたに扱える柔軟性を維持させたいからです。
require 'aaa.php';//ここに関数定義
$sss = "print_advanceda();";//これが関数
$sssd = "ai";//これは普通の文字列やタグを設定

こういう使い方は無理でしょうか?
0976nobodyさん2011/01/25(火) 20:00:16ID:???
関数と文字列表示を同じに処理したいって事か
0977nobodyさん2011/01/25(火) 20:06:32ID:???
>>975
$sss = print_advanceda();
これでおk

関数の返り値を変数に代入すればいいんだよ。
あなたはどうして変数も関数も文字列として扱おうとするのか・・・
0978nobodyさん2011/01/25(火) 20:34:39ID:???
礼もなしとな
0979nobodyさん2011/01/25(火) 20:39:04ID:???
気が早いよ
0980nobodyさん2011/01/25(火) 20:40:35ID:???
次スレ立てるよ
0981nobodyさん2011/01/25(火) 20:55:03ID:???
立てたよ

【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
0982nobodyさん2011/01/25(火) 20:58:24ID:NaLoXxgk
>>977
ありがとうございます
require 'aaa.php';//ここに関数定義
// 文字列を変数に入れる
$s1 = print_advanceda();//これが関数
$s2 = "ai";//これは普通の文字列やタグを設定

// 変数を配列に入れる
$arr = array($s1, $s2);
// 乱数を生成する
$num = mt_rand(0, count($arr)-1);

// 表示する
echo "<html><body>";
echo $arr[$num];
echo "</body></html>";

これで実行したら、$s1の表示の場合は空白でした。
そして
>$s1 = "print_advanceda();";//これが関数
この部分に反応して表示されてます。
つまり、<html><body>の前の行です。

require 'aaa.php'のファイルに
>$s1 = print_advanceda();//これが関数
この記述を移動させて見ましたが、
今度もやはりここで反応してしまいます。
>$arr = array($s1, $s2);

で↓ここの表示でも$s1の場合だと空白に成ります
>echo $arr[$num];
0983nobodyさん2011/01/25(火) 21:02:18ID:???
>>982
print_advanceda() という関数が、関数の内部で表示を実行しているため、
$s1 = print_advanceda() の行の評価時に表示が行われてしまう。
また、print_advanceda() 関数の内部で返り値が設定されていないため、
$s1 = print_advanceda() としても $s1 に何も代入されない。

print_advanceda() 関数を自分で修正できるのならば、
内部で表示(print, echo 等)している部分ををやめて、
return文で戻すように改造する。
0984nobodyさん2011/01/25(火) 21:07:32ID:???
>>983
単刀直入に言うと、あなたが作ったprint_advanceda関数がおかしいってことですよ。
可能ならば、その関数のコードもここに書いてみたらどうですか。
0985nobodyさん2011/01/25(火) 21:08:13ID:???
レスアンカーミスった
>>984>>982宛です
0986nobodyさん2011/01/25(火) 21:10:01ID:???
おかしいというより、こういう用途を想定して作られてないだけだな。
おそらく本人が作ったわけじゃないんだろ?
>>982を読む限りPHPの基本的な動作を理解しているとは思えない。
0987nobodyさん2011/01/25(火) 21:21:08ID:NaLoXxgk
>>983-985
関数内の
print $result;

return($result);
に変えたら表示出来ました!!
まじで感謝です!ありがとうございましたm(__)m
>>986
はいその通りです・・・でもヒントを得て改造してみました!
そしたら動きました!
ここで聞いて良かったです!!皆さんほんとうにありがとうございましたm(__)m
0988nobodyさん2011/01/25(火) 21:27:49ID:???
どういたしまして
次回はAjaxで挑戦してください
0989nobodyさん2011/01/25(火) 21:31:05ID:???
工エエェェ(´д`)ェェエエ工
0990nobodyさん2011/01/25(火) 21:52:19ID:???
ェェエエ工JAXA
0991nobodyさん2011/01/25(火) 21:53:05ID:???
>>971はもっと評価されるべき
0992nobodyさん2011/01/25(火) 21:55:17ID:???
どこがだ
0993nobodyさん2011/01/25(火) 21:55:53ID:???
>>991
どこを?
0994nobodyさん2011/01/25(火) 21:56:07ID:???
>>991
データのロードがAjaxじゃないから
複数人が同時に書き込みした場合に不具合がある
0995nobodyさん2011/01/25(火) 22:00:48ID:???
>>992-993
いや、おれAjaxのことよく知らなかったんだけど、
これ見て大まかな使い方を理解できて勉強になったんだ・・・
こういう風にノリでささっと作れる人ってすごいと思う
0996nobodyさん2011/01/25(火) 22:03:57ID:???
文法ミスってレベルじゃねーぞ
0997nobodyさん2011/01/25(火) 22:24:30ID:???
自演は見苦しいよ
0998nobodyさん2011/01/25(火) 22:26:35ID:???
>>991
誰も評価してくれなかったから残念な気持ちはわかるけど
自己満足で終わらせといたほうが身のためだよ
0999nobodyさん2011/01/25(火) 22:28:11ID:???
おれ993だけどそれは穿ちすぎじゃね・・・
1000nobodyさん2011/01/25(火) 22:29:43ID:???
> こういう風にノリでささっと作れる人ってすごいと思う
なんて書かれるともう自演にしか見えなくなってくる。
まぁどっちでもいいけどね。

というわけで続きはこちら。
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。