【PHP】下らねぇ質問はID出して書き込みやがれ 85
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/06/15(月) 22:53:52ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0159nobodyさん
2009/06/24(水) 13:31:30ID:???0160nobodyさん
2009/06/24(水) 14:40:53ID:XDFiYdlaありがとうございます。勉強になります
<? ?> 内でステートメントが完結していなくても
問題ないんですね
0161nobodyさん
2009/06/24(水) 14:43:29ID:???問題ないのはブロックだろ
0162nobodyさん
2009/06/24(水) 17:58:43ID:???携帯・PCは識別出来たんですが、OSの識別はぐぐっても出てこない。
見落としてたらすんません。誰かご教授お願いします。
0163nobodyさん
2009/06/24(水) 18:05:12ID:???Mac?Windows?みたいに質問するって方法もある
あとやったことないけどJavaScriptで改行コード"\n"を展開させてそれを受信してみるとか。。
0164nobodyさん
2009/06/24(水) 18:15:53ID:???ttp://jp2.php.net/manual/ja/function.get-browser.php
も忘れずに。
0166nobodyさん
2009/06/24(水) 18:54:57ID:O6/z8sKKローカル環境という言葉自体をはじめて聞きました
ググってみたのですが、説明が抽象的でよくわかりませんでした
ローカル環境を構築したPCはサーバーになるということですか?
だとしたらサーバーにしないで動作確認だけする方法はありますか?
ずれた質問をしてるかもしれませんがご教示願います
0167nobodyさん
2009/06/24(水) 19:54:37ID:???Webアプリケーション製作の基礎中の基礎。っていうか根本概念。
プログラム書くのはまだ早すぎる。
0168nobodyさん
2009/06/24(水) 20:57:38ID:???string(1) " "
と返ってきました
これは変数に半角空白が入ってると
思い
if($last == ' ')echo 'true';
と書いてみたのですがtrueが帰ってきません
string(1) " "をもっと詳しく調べる方法はないでしょうか?
0169nobodyさん
2009/06/24(水) 20:59:46ID:???0170nobodyさん
2009/06/24(水) 21:11:08ID:???0171nobodyさん
2009/06/24(水) 21:13:51ID:O6/z8sKKローカルはオフラインのこと
サーバーはオンラインでデータをやり取りするためのもの
・・・と解釈してるのですが間違ってますか?
0172sage
2009/06/24(水) 22:24:39ID:QqjFg27f0174nobodyさん
2009/06/24(水) 22:49:32ID:???プログラムを教えてください
http://pc12.2ch.net/test/read.cgi/tech/1243778529/
0176nobodyさん
2009/06/25(木) 00:57:46ID:Niw+Ve6P【PHPのバージョン】php5.2
【質問内容】
HTMLでinputボタンを下記のように6個作ってあります。
A0 B0
A1 B1
A2 B2
A0のボタンが押された後、B0のボタンが押されたら「1」
A0のボタンが押された後、B1のボタンが押されたら「2」
と言うようにボタンの組み合わせによって数値を作り
3桁のパスワードを作る画面を作りたいと思っているのですが、
PHP1日目故、どこをどう作っていいのか分からず途方にくれています。
何かヒントでも頂ければと思い書き込みさせてもらいました。
レス頂ければ幸いです。
0177nobodyさん
2009/06/25(木) 01:08:21ID:???0178nobodyさん
2009/06/25(木) 02:22:08ID:???要は3桁の数字をボタンで入力させて、サーバーに送ればいいんでしょ?
それだったらJavascript使って、ボタン押した時にhiddenなinputに一桁ずつ入れて、三桁目が入ったらphpファイルにpostすればいいんじゃない?
でもパスワード入れる画面なら、普通にinput type=textのほうが操作性いいと思うよ!
0179nobodyさん
2009/06/25(木) 02:31:59ID:Niw+Ve6Pパチスロではないです。課題で出された問題なんです。
>>178
そうです。ボタンの組み合わせで3桁の数値を作って111の様なパスを設定し、
それをログイン画面の入力欄に入力されたパスワードと比較して、
正しければOKのページ、間違いならエラーメッセージと言うような
処理にしたいと思っています。
Javascriptで上記が満たせる処理が作れるんでしょうか?
色々調べてみようと思います。
0180nobodyさん
2009/06/25(木) 03:51:50ID:???これってPHPの課題?
画面の遷移無しでって話ならjs使わないと無理だろ。
画面の遷移ありならPHPだけで出来るけど。
どうせなら課題の問題全部伝えないと答え出ないよw
0181nobodyさん
2009/06/25(木) 04:07:38ID:???>>180の言う通りでPHPで実現するにはどうしても画面遷移が必要だし、そうするメリットは何もない。
だから数字の入力と、サーバーに送る動きは別物で考えるべき。
前者はJSで、後者はPHPでやればいいよ。
暇だから書いてあげるよ!課題は?
0182nobodyさん
2009/06/25(木) 04:24:18ID:???0183nobodyさん
2009/06/25(木) 06:41:54ID:HSbLKHIxPHPの課題です。
画面の遷移の有無でも違いがあるんですね。
知りませんでした。
>>181
>>176で書いた処理を使ってパスワードを設定した後、
そのパスワードをどこかに保持した状態でログイン画面に遷移します。
ログイン画面から入力されたパスワードと設定したパスワードを比較して、
正しければOKのページ、エラーならメッセージの表示と言う風に
処理を分岐させたいと考えています。
javascriptとPHPを上手く使わないといけないのですね。
奥が深いです。
0184sage
2009/06/25(木) 07:29:23ID:utUUg4I/javascriptで簡単にできるぞ
0185nobodyさん
2009/06/25(木) 13:20:30ID:???function &test() {
}
function test() {
}
0186nobodyさん
2009/06/25(木) 13:30:30ID:???リファレンス
PHP: リファレンスの説明 - Manual
http://www.php.net/manual/ja/language.references.php
0187nobodyさん
2009/06/25(木) 13:35:10ID:???ありがとうございます。
変数のリファレンスは分かった気がします。
関数のリファレンスは
どんなときに使うと便利か誰か教えてくれませんか。
0188nobodyさん
2009/06/25(木) 14:27:22ID:???だから変数と同じ
0190nobodyさん
2009/06/25(木) 16:53:33ID:???0191nobodyさん
2009/06/25(木) 17:04:31ID:???どういう時かよく分からんのです。。。
0192nobodyさん
2009/06/25(木) 18:00:17ID:???0193nobodyさん
2009/06/25(木) 18:16:24ID:???0194nobodyさん
2009/06/25(木) 18:48:17ID:???0195nobodyさん
2009/06/25(木) 19:34:23ID:???0196nobodyさん
2009/06/25(木) 20:00:11ID:???行数を見るしか方法無い?
sqlite_queryの結果ハンドルがFALSEを返すかと思ったけど、よく読むとクエリが失敗した
場合にFALSEを返すので使えない。
今はこんな風に書いているけど、何かこう美しくないというかもっとスマートな方法が
あるような気がする。
$sql = "SELECT ....";
$res = sqlite_query($db_con, $sql);
if (sqlite_num_rows($res) == 0) {
//0件の時はSQL投げ直し
$sql = "SELECT ...";
$res = sqlite_query($db_con, $sql);
}
while ($row = sqlite_fetch_array($res, SQLITE_ASSOC)) {
}
0197nobodyさん
2009/06/25(木) 20:23:47ID:utUUg4I/0198nobodyさん
2009/06/25(木) 20:31:04ID:4KEfnuybjavascriptでどういう風にプログラムを組めばいいか
何かヒントを教えて頂けないでしょうか?
0199nobodyさん
2009/06/25(木) 20:55:26ID:utUUg4I/// <![CDATA[
function test(n) {
document.getElementById("out").innerHTML = n;
}
// ]]>
</script>
<div id="out"></div>
<input type="submit" value="1" onClick="test(1)">
0200nobodyさん
2009/06/25(木) 21:19:33ID:???やっぱり行数で見るしかないのか…
イメージ的に、boolで返してくれそうな関数があっても良さそうなんだけど。
0201nobodyさん
2009/06/26(金) 01:13:39ID:???0202nobodyさん
2009/06/26(金) 01:32:36ID:???<?php
if($_POST["pass"]=="成功の場合の数字")
echo "成功";
else
echo "エラー";
?>
0203nobodyさん
2009/06/26(金) 01:44:34ID:m+lfcOij○○の部分にphpの変数を入れたいのですがどうしたらいいでしょうか?
0204nobodyさん
2009/06/26(金) 01:50:13ID:???0205nobodyさん
2009/06/26(金) 01:57:52ID:m+lfcOijphpの外のhtmlのタグの中に入れたいのです
0206nobodyさん
2009/06/26(金) 02:05:28ID:???省略表示が使えるなら
<form action="write.php?data=<?=$hoge?>" method="post">
って感じ。使えないなら
<form action="write.php?data=<?php echo $hoge;?>" method="post">
って感じ。あんまり美しくないけど。
0207nobodyさん
2009/06/26(金) 02:08:36ID:m+lfcOijありがとうございました
0208nobodyさん
2009/06/26(金) 02:21:51ID:???0209nobodyさん
2009/06/26(金) 03:56:41ID:eh6qHIVYコントローラのメソッドで
function add($id) {
と
function add($id = null) {
の違いがわかりません。
後者でもURLのパラメータ値がidに入ってくるのに、
nullで初期化する意味はあるのでしょうか?
0210nobodyさん
2009/06/26(金) 06:23:17ID:???0211nobodyさん
2009/06/26(金) 07:35:12ID:???でシステムエラーのようなものが表示されます。
0212nobodyさん
2009/06/26(金) 07:50:16ID:vbul8rC5名前違うかも
0213nobodyさん
2009/06/26(金) 07:51:56ID:vbul8rC5http://www.apachefriends.org/jp/xampp-windows.html#2671
0214nobodyさん
2009/06/26(金) 10:23:56ID:TMhnu1Tdif($_POST['A0']=="A0"){
$b=str_rplace=("B0","1",$a);
$b=str_rplace=("B1","2",$a);
print("パスワードは".$b);
}else{
print("操作が間違っています");
}
0215nobodyさん
2009/06/26(金) 10:30:30ID:???0216nobodyさん
2009/06/26(金) 11:22:27ID:Ht+rgjYH平田 信(44歳)
http://www.keishicho.metro.tokyo.jp/jiken/tehai/image/hirata001.jpg
高橋克也(51歳)
http://www.keishicho.metro.tokyo.jp/jiken/tehai/image/takahashi001.jpg
菊地直子(37歳)
http://www.keishicho.metro.tokyo.jp/jiken/tehai/image/kikuchi001.jpg
0217nobodyさん
2009/06/26(金) 13:56:50ID:???function a() {}
}
$t = new Test();
のように new Test() した後に
Test クラスに b メソッドを追加することってできますか?
0218nobodyさん
2009/06/26(金) 14:02:25ID:???0219nobodyさん
2009/06/26(金) 14:03:22ID:???0221nobodyさん
2009/06/26(金) 16:20:28ID:???pg_query($db, 'begin;');
try {
pg_query($db, $sql); // ★エラーが発生
}
catch (Exception $e) {
pg_query($db, 'rollback;');
}
pg_query($db, 'commit;');
0222nobodyさん
2009/06/26(金) 16:21:28ID:???0223nobodyさん
2009/06/26(金) 16:24:13ID:???0224nobodyさん
2009/06/26(金) 16:42:12ID:???0225nobodyさん
2009/06/26(金) 16:45:45ID:???0227nobodyさん
2009/06/26(金) 17:25:24ID:???0228nobodyさん
2009/06/26(金) 17:25:48ID:???0229nobodyさん
2009/06/26(金) 17:44:17ID:???既存プログラムである >>221 に
一部 try を入れて、>>226 のように
function error_handler($no, $message, $file, $line) {
throw new Exception("[$no] $message at $file:$line");
}
というのを用意しました。
try 外のエラーが error_handler のために
おかしなエラーになっているので、
function error_handler($no, $message, $file, $line) {
$message = "[$no] $message at $file:$line";
if (try 内部か) {
throw new Exception($message);
}
else {
die($message);
}
}
にしたいなと。
0230nobodyさん
2009/06/27(土) 03:46:30ID:???まとめるもんじゃね?
そこで例外投げればいいわけだし。
素直にPDO使えばいいのに。
0231nobodyさん
2009/06/27(土) 04:15:49ID:+RIsncnI0232231
2009/06/27(土) 05:06:52ID:+RIsncnI$session_file = "/tmp/sess_5f660455a0c309d48c04b0597144a9fa";
$data = preg_split('/([A-Za-z_][A-Za-z0-9_]*)\|/',file_get_contents($session_file),
-1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
for($i=0;$i<count($data);$i+=2)
$_SESSION[ $data[$i] ] = unserialize($data[$i+1]);
0233nobodyさん
2009/06/27(土) 09:21:00ID:???システムファイルを修正する前はapacheがちゃんと起動できたのに、誰か助けて〜〜〜〜〜〜!
0234nobodyさん
2009/06/27(土) 11:46:01ID:???GoogleのHTMLを取得して、別に用意したlog.htmlに上書き
という処理をしたいです。
<?php
$lines = file("http://www.google.co.jp/index.html");
foreach ($lines as $l) {
$html .= $l;
}
$inc = fopen("log.html","w");
fwrite($inc,$html);
fclose($inc);
?>
上記コマンドで文法ミスがありますでしょうか?
別問題としてcronを使っているので、cron側の問題でしょうか?
0235nobodyさん
2009/06/27(土) 12:25:28ID:???0236nobodyさん
2009/06/27(土) 12:33:20ID:+txMHXQ40237nobodyさん
2009/06/27(土) 12:59:40ID:???0238nobodyさん
2009/06/27(土) 16:34:23ID:nkgcVTu2データベースから取り出した文字列を、textやtextAreaの形でブラウザに表示をさせ、
もし変更があれば、変更を入力してもらい、変更があった場合と変更がない場合で
処理をかえるプログラムを作っています。
ここでphpの文字列比較がうまく行かなくって悩んでいます。
データベースから取り出した文字列をセッションで保存(この文字列を以下「A」とします。)
それをブラウザで表示させ、再度入力をしてもらった文字列(以下「a」とします。)
「a」はもちろん入力された後、すぐにhtmlspecialcharsを通しています。
if(strcmp(A,a)==0){
//処理1
} else {
//処理2
}
とすると、何の変更もないのに処理2を行ってしまいます。
なにかうまい方法はないでしょうか?
「A」をhtmlspecialcharsで変換してみてもだめでした。
どなたかご存知でしたらお教えください。
よろしくお願いいたします。
0239nobodyさん
2009/06/27(土) 17:33:06ID:???表示しないでしょ?
0240nobodyさん
2009/06/27(土) 19:26:15ID:???脊髄反射してみる
0241nobodyさん
2009/06/27(土) 20:56:19ID:nkgcVTu2一応確認のために、入力してくれた値を再表示するので、通してます。
>>240
見比べても、全く違いがないんだけど・・・・
0242nobodyさん
2009/06/27(土) 21:27:39ID:???0243nobodyさん
2009/06/27(土) 21:39:09ID:nkgcVTu2とりあえず、試しにhtmlspecialcharsをかけないで試してみた。
でも、変わらず・・・。
ただ、htmlspecialcharsをかけてもかけなくても、文章によっては正常に「同じ」と評価する場合もある。
なんか、だめな文字とかあるのかな?
0244nobodyさん
2009/06/27(土) 21:57:17ID:nkgcVTu2評価している両方の文章の見分けは、やっぱりつかない。
でも文字列にmd5をかけてみたら、違う数字になった。
やっぱりどこかが違っているみたい。
0245nobodyさん
2009/06/27(土) 22:15:58ID:???0246nobodyさん
2009/06/27(土) 22:35:53ID:nkgcVTu2macの改行文字「\r」を評価するもの同士から削除すると、再現されなくなる。
どうやら昔macで入力したデータは、文字列評価で誤作動を起こすらしい。
0247nobodyさん
2009/06/27(土) 22:45:01ID:???0248nobodyさん
2009/06/28(日) 00:03:18ID:???0249nobodyさん
2009/06/28(日) 08:31:21ID:???前にこんな風に使ってる方が居ました。
mysql_real_escape_stringを使ってさらにhtmlspecialcharsも使ってました
0250nobodyさん
2009/06/28(日) 10:06:21ID:???htmlspecialchars()は表示するときに無用なゴミを取るもの。
0251nobodyさん
2009/06/28(日) 11:38:42ID:???0252nobodyさん
2009/06/28(日) 11:44:31ID:???0253nobodyさん
2009/06/28(日) 13:20:28ID:???0254nobodyさん
2009/06/28(日) 16:04:22ID:04jk16zQ他の人から丸見えなんで、隠す方法ってありますか?
0255nobodyさん
2009/06/28(日) 16:07:45ID:???basic認証が使えないってことは.htaccessも使えないのかな?
使えるならそれで隠せるし
てかパーミッションいじればいいのでは?
0256nobodyさん
2009/06/28(日) 16:35:43ID:04jk16zQbasic認証で隠せました!
ありがとです
0257nobodyさん
2009/06/28(日) 18:07:47ID:P1lH7m+sテーブル1
a b c d e
1 0 -10 -2 1
とある場合、abcdeの値全部に
値が0より上の場合だけ
-1を足してやりたいのですが、
今まで、phpで値を参照して、0以上なら〜
という風に最低でも5回調べていました。
何かもっと効率的な方法はありますでしょうか
よろしくおねがいします
0258nobodyさん
2009/06/28(日) 18:25:56ID:???■ このスレッドは過去ログ倉庫に格納されています