【PHP】下らねぇ質問はID出して書き込みやがれ 84
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/27(月) 21:39:11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0532nobodyさん
2009/05/22(金) 20:30:49ID:???セミコロンの有無は関係ないみたいです・・・
>>531
catchでエラーは出ませんでした・・・。
.dbファイルもちゃんと存在しますし、おかしくならないはずなんですけど。。
どうでもいいですがMAKEINGって酷いですねorz
0534nobodyさん
2009/05/22(金) 20:45:19ID:???何も出力されませんでした。
多分tryの中にエラーが無かったからだと思います。
ttp://selfkleptomaniac.org/archives/1083
ここにphpでwordnetを使用するソースがあったので試したところ、
ブログにある例のような出力結果が得られなかったので、原因はPHPではsqliteかdbにありそうです。
のでそちらを当たってみます。。
0535nobodyさん
2009/05/22(金) 20:48:20ID:???0536nobodyさん
2009/05/22(金) 20:57:16ID:???0537nobodyさん
2009/05/22(金) 21:07:52ID:???PDOはデフォルトだとエラー吐かないのでエラーモードの設定を。
$dbh = new PDO('sqlite:../wn.db',null,null,array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
ついでにPDOStatementオブジェクトはforeachで回せるよ。
0538nobodyさん
2009/05/22(金) 22:03:57ID:???だから空ってことはないと思うのですが。。。
>>537
の通りエラーモードを設定した後、わざとdbのパスを間違えて指定しても、エラーが何も出ませんでした。
こんなことってあるんですかね?
0539529
2009/05/22(金) 22:17:48ID:???勘違い申し訳ないです。
0540nobodyさん
2009/05/22(金) 22:26:34ID:???0541nobodyさん
2009/05/22(金) 22:43:22ID:???0542529
2009/05/22(金) 22:46:58ID:???どうしてか分かりませんが、Webのコードを鵜呑みにコピペすると酷い目に遭いますね・・・orz
以上解決です。ありがとうございました。
0543nobodyさん
2009/05/22(金) 23:00:03ID:???もうみてないとおもうけど
PDO_FETCH_ASSOC
ではなくて
PDO::FETCH_ASSOC
だな。
PDOのconst。
0545nobodyさん
2009/05/22(金) 23:08:21ID:JSavhF6R以下の場合、読み込み失敗します
require_once('../hoge.php'); //相対パス。実際にはファイルはある
require_once('/hoge.php');
以下の場合は、読み込み成功します
require_once('hoge.php'); //読み込むスクリプトと同じディレクトリの場合
require_once('hoge.php'); //php.iniのinclude_pathで指定されたパスにある場合
何が原因でしょうか? 相対パスでの読み込みを許さない設定などがあるんでしょうか?
hoge.phpやそれを含むディレクトリのパーミッションは、成功時も不成功時も同じです。
0546nobodyさん
2009/05/22(金) 23:29:03ID:???index.phpを叩いたら、index.phpの置いてある場所からの相対を引くよ。
つまりindex.phpから、別の「nantoka.php」をrequireして、そのnantoka.phpのなかで
requireしたファイルは、nantoka.phpからの相対ではなくてindex.phpからの相対だよ。
0547545
2009/05/22(金) 23:59:17ID:???ありがとうございました。
原因がわかりました、パスの問題ではなかったです。
読み込み対象のファイルが、hoge.phpとHoge.phpのように名前の大文字小文字が違ってました
Windowsでは大文字小文字の判別してなかったのに、Linuxではエラーになっていました
ほんとにお騒がせしました
0548nobodyさん
2009/05/23(土) 02:46:08ID:JnoRZVY9<?php
$namae = $_POST['namae'];
$kana = $_POST['kana'];
$mail = $_POST['mail'];
if($namae == ""){
echo "警告:名前空っぽ";
}
if($kana == ""){
echo "警告:カナ空っぽ";
}
if($mail == ""){
echo "警告:メール空っぽ";
}
echo "テスト"
?>
1つ前のhtmlの送信ボタンから各POST値を受けています。
この晒したphpファイルを確認画面として使いたいのですが前画面の
3項目(名前 ふりがな メアド)のうち、一つでも不備があったら次の
ステップに進ませないようにしたいのですがどうすればよいですか?
3項目が全部空っぽでもecho "テスト"の文字が出てるって事は警告が
出た後でも処理はスルーされて最後まで進むようだし、
echo "警告:名前空っぽ";
exit();}
とかににすれば全て空でもスルーはされないけど1つしか警告は出せません。
空っぽの項目を的確に警告が出せて、かつecho "テスト"まで進ませない
ような書き方を教えてくれませんか?
if文でなくても良いです。
0549nobodyさん
2009/05/23(土) 03:23:22ID:???echo "警告:カナ空っぽ";
}
if(!$mail || !$kana || !$namae ){//ここから挿入
exit;
}//ここまで挿入
echo "テスト"
これで進ませないことはできる。
0551nobodyさん
2009/05/23(土) 08:10:08ID:xzc/N9L3function go(){
senddata="from=index";
url="b.php";
httpoj = new XMLHttpRequest();
httpoj.open("POST",url,true);
httpoj.onreadystatechange = function(){
if(httpoj.readyState==4){clipboardData.setData("Text",httpoj.responseText);alert(httpoj.responseText);process(data,mode);}
}
httpoj.send(senddata);
}
// http://example.com/b.php
<?php phpinfo();exit;?>
各ファイルの中身はこうで、a.phpからgo();を実行し、postでデータを転送しているつもりなのですが
b.phpのphpinfoを見ると
PHP Variables
_SERVER["REQUEST_METHOD"] POST
_SERVER["QUERY_STRING"] no value
_SERVER["argv"] Array()
_SERVER["argc"] 0
と、データが全く受け取れていないようです。
// http://example.com/c.php でjsを使わず
<form method="post" action="./b.php">
<input type="hidden" name="from" value="index" />
<input type="submit" value="hoge">
</form>
と、すると正常に処理出来ているのですが。
0552nobodyさん
2009/05/23(土) 08:10:56ID:xzc/N9L3POST http://example.com/b.php HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument,
application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, application/x-silverlight, */*
Referer: http://example.com/c.php
Accept-Language: ja
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; Sleipnir/2.8.5)
Host: hushi.x0.com
Content-Length: 93
Proxy-Connection: Keep-Alive
Pragma: no-cache
from=index
POST http://example.com/b.php HTTP/1.1
Accept: */*
Accept-Language: ja
Referer:http://example.com/a.php
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; Sleipnir/2.8.5)
Host: hushi.x0.com
Content-Length: 10
Proxy-Connection: Keep-Alive
Pragma: no-cache
from=index
と、ちゃんと両方b.phpにpost出来ているようにしか見えないのですが。
原因と解決策を教えて下さい。よろしくお願いします
0553nobodyさん
2009/05/23(土) 13:26:42ID:???Ajaxを勉強しているっぽいのはわかるけど。
0554nobodyさん
2009/05/23(土) 13:58:49ID:xzc/N9L3http://example.com/a.php は
http://example.com/a.html と置き換えていただいて結構です。
そしてjsはスクリプトタグで囲って
<script language="javascript">
function go(){
senddata="from=index";
url="b.php";
httpoj = new XMLHttpRequest();
httpoj.open("POST",url,true);
httpoj.onreadystatechange = function(){
if(httpoj.readyState==4){clipboardData.setData("Text",httpoj.responseText);alert(httpoj.responseText);process(data,mode);}
}
httpoj.send(senddata);
}
</script>
こんな感じです。
そう、ajaxに挑戦しています。
しかしpostでデータが全く送られない
厳密には、送ってはいるらしいが、受け取れてない様子なのです。
jsは正常に送信しているらしく、phpの受け取りに異常があると思ったので、phpスレに質問させて頂きました。
0555nobodyさん
2009/05/23(土) 14:27:01ID:???<?php
function validate(){
$err = array();
if(!isset($_POST['namae']) || '' === $_POST['namae']){
$err[]= "警告:名前空っぽ";
}
if(!isset($_POST['kana']) || '' === $_POST['kana']){
$err[]= "警告:カナ空っぽ";
}
if(!isset($_POST['mail']) || '' === $_POST['mail']){
$err[]= "警告:メール空っぽ";
}
return $err;
}
$errors = validate();
if(count($errors) > 0){
foreach($errors as $eachError){
echo $eachError . '<br />';
}
} else{
echo '問題なし';
}
0556nobodyさん
2009/05/23(土) 18:23:01ID:???httpoj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
httpoj.send(senddata);
0557nobodyさん
2009/05/23(土) 19:16:48ID:6DL8AN4q自分が作ってるアプリで、GDを使ってサイズ変更+複製したら
error.logに Allowed memory size of 1234567890 bytes exhausted と出たので
php.iniのmemory_limitで上限値を上げました。
たかがGDでメモリが足りないなんてことになるのは普通なんでしょうか?
作り方が悪いんでしょうか?
最大、一度に7ファイル画像UPしてそれぞれGDするんですが…
0558nobodyさん
2009/05/23(土) 19:37:43ID:???BMPとして丸ごとデータを持ってるようなものなので、それなりにメモリは食う。
0559nobodyさん
2009/05/23(土) 19:38:33ID:???無限ループとかしてんじゃね?
0560nobodyさん
2009/05/23(土) 20:35:33ID:???イベントログにはxdebug.dllが原因でapacheがクラッシュしたと残ってる。
ステップ実行でも、通常のリクエストでも起こって、再現性はない。
zend_extension_ts でロードしてるけど extension=xdebug.dll でロードすれば
ステップ実行はできないけど安定するみたい。
xdebug.dllは、オフィシャルとactivestate(KomodoIDE用)のバイナリで試したけど、大差なかった。
誰かお助けを
vista sp1 x86, apache 2.2, php 5.2.6-5.2.9-2, xdebug 2.03-2.04
0561nobodyさん
2009/05/23(土) 20:53:51ID:???0562nobodyさん
2009/05/23(土) 22:44:07ID:???どんな感じになってるんですか?
0563nobodyさん
2009/05/23(土) 22:44:58ID:HvWc9rw90564nobodyさん
2009/05/23(土) 23:46:03ID:6DL8AN4qありがとうございました
0565nobodyさん
2009/05/24(日) 02:59:12ID:???ログインっていうのは基本的にセッションを使って行っています。
セッションというのはそのユーザがWebサイトに入ったときにWebサーバから発行されるもので、
色々な情報を保持することができます。
このセッションは、ユーザがブラウザを閉じたりすると無効になります。
ログインするときに入力したIDとパスワードで認証を完了すると、そのユーザに発行されるセッションには、
「IDパス認証済み」という情報が付与されます。
一方、ユーザしか見れないページには『「IDパス認証済み」というセッション情報があるかどうか』を検査するコードが存在し、
存在する場合にはユーザにページを見せるような構造になっています。
ユーザがログインに使ったIDとパスワードをそのまま使わせているダメなサーバもありますが、
主にこんな形でメンバー制サイトは運用されていると思います。
0566nobodyさん
2009/05/24(日) 03:30:47ID:???ならねーよ、馬鹿。
0567nobodyさん
2009/05/24(日) 03:52:50ID:???0568nobodyさん
2009/05/24(日) 04:49:35ID:???0569nobodyさん
2009/05/24(日) 05:02:48ID:???0570nobodyさん
2009/05/24(日) 05:19:52ID:1c4u+X3P0571nobodyさん
2009/05/24(日) 05:50:47ID:???0572nobodyさん
2009/05/24(日) 10:52:54ID:???クッキーの有効期限を指定しない場合はブラウザを落とすと消える。
つうか、実際にブラウザ閉じてもセッションが継続するサイトなんぞ山のようにあるだろ馬鹿。
0573nobodyさん
2009/05/24(日) 13:52:15ID:???0574nobodyさん
2009/05/24(日) 14:13:45ID:???何も変化ありませんでした。
phpinfoで見ると、ちゃんと
_SERVER["CONTENT_TYPE"] application/x-www-form-urlencoded
と送信されています。
0575nobodyさん
2009/05/24(日) 15:38:23ID:???0576575
2009/05/24(日) 15:39:39ID:???0577nobodyさん
2009/05/24(日) 19:13:01ID:???どのようなスクリプトが使えるのでしょうか?
0578nobodyさん
2009/05/24(日) 19:32:22ID:???0579nobodyさん
2009/05/24(日) 20:20:37ID:luv0xO7F切り出す開始位置の値によって最後の一文字が欠落してしまいますが、これは開始位置が
文字の途中(バイトシーケンス中)と重なってしまうことにより起こる仕様なのでしょうか。
// SJIS-WINでのmb_strcut
mb_internal_encoding('sjis-win');
$str = "12345678901234567890ー";
echo mb_strcut($str, 15). "\n";
// 出力: 8901234567890
echo mb_strcut($str, 10). "\n";
// 出力: 678901234567890ー
// UTF-8でも同様でした。
mb_internal_encoding('UTF-8');
echo mb_strcut(mb_convert_encoding($str, "UTF-8", "sjis-win"), 15). "\n";
// 出力: 678901234567890ー
echo mb_strcut(mb_convert_encoding($str, "UTF-8", "sjis-win"), 10). "\n";
// 出力: 45678901234567890
PHP 5.2.9-2、Windows Vista SP2
0581nobodyさん
2009/05/25(月) 22:50:10ID:1PMYVgsN今、PHP5とmysql、phpMyAdmin、 CentOS5(不慣れ) でサイト作っています、そこでブラウザから以下の
クエリを実行したら mysql_affected_rowが-1を返します。
実行したクエリ> delete from `hoge` where `uId`=100 and `category`='foo'
が、phpMyAdminのクエリ画面で直接上記のクエリを実行すると、正しく削除実行されます。
どんな原因が考えられるでしょうか?
あと、このクエリのページでは、上のクエリの前にもう一つクエリ($sql_1)を実行してて、トランザクションさせようとしてます。
$DB -> Execute("BEGIN");//Pearのadodbを利用してクエリ
$sqlResult_1 = $DB -> Execute($sql_1);//これはちゃんと実行されます
if(!$sqlResult_1){
$DB -> Execute("ROLLBACK");
}
$DB -> Execute($deleteSql);//これが失敗します、$deleteSqlの中身が上記のものです
$deletedNum = mysql_affected_rows();
if($deletedNum != -1){
//成功した場合の処理。実行されません…
}
$DB -> Execute("COMMIT");//トランザクション本実行
変でしょうか? $DBで定義されてるユーザ情報、サーバ情報は共通で使っています。
よろしくお願いします
0582nobodyさん
2009/05/25(月) 23:24:26ID:KRPzGQP0お手本になる、シンプルでエレガントなスクリプトあったら教えてください。
0583nobodyさん
2009/05/25(月) 23:32:16ID:???0585nobodyさん
2009/05/26(火) 10:37:03ID:e9nrbvXePHP内にJavaScriptベタ書きってなんだよwwww
しかも、一部動作しない部分があってデバッグしてみたんだが
コメントで
「○○をする関数」って書いてあった
いやこれコメントアウトしてねーじゃんwww
こういうソース回されたときってどう対処してるよ
明らかにひどいやつ、しかもまだリリース前なんだぜ?
0586nobodyさん
2009/05/26(火) 10:43:19ID:???0587nobodyさん
2009/05/26(火) 10:45:06ID:???リリースまで時間がない→見なかった振りをして未実装部分に取り掛かる
0589nobodyさん
2009/05/26(火) 10:50:54ID:e9nrbvXeオフショアで外人が組んでたスクリプト
XHTMLすら同じIDを2つ以上使ってるんだぜ?まじひどい
0590nobodyさん
2009/05/26(火) 11:00:46ID:???上司 「どのくらいダメなんだ?」
お前 「動かないとは言いませんけど、構文とか滅茶苦茶です」
上司 「動くなら問題ないだろ。お前のセンスに合う合わないなんてどーでもいい」
お前 「・・・・・・」
上司 「ほら、さっさと作業にもどれ! リリースは来月頭なんだからな!」
0591nobodyさん
2009/05/26(火) 11:02:58ID:e9nrbvXe0592軟式PHP
2009/05/26(火) 13:09:39ID:???プログラム関連板全体に言えるが。
>>591
マテ。あわてるな。
トリガーでdeleteされたら別テーブルにコピーしてるに違いない。
0593nobodyさん
2009/05/26(火) 16:41:29ID:UQeZnrko無料レンタルサーバーでPHPを動かした場合、メモリはおよそ幾らくらい使用可能でしょうか?
多すぎると、エラーで停止しますか? もしくはHDDに移されて動作が遅くなりますか?
0594nobodyさん
2009/05/26(火) 16:43:25ID:e9nrbvXe0595nobodyさん
2009/05/26(火) 16:51:53ID:UQeZnrko0596nobodyさん
2009/05/26(火) 16:56:15ID:UQeZnrko実行開始までにかかる部分で負荷が大きいようでした。
0597軟式PHP
2009/05/26(火) 17:09:04ID:???使用可能なメモリはphpinfoしてmemory_limitを見るべし。
オーバーするとエラーで停止する。
>>595
fastCGIだったらオーバーヘッドも少なく、C/C++の方が速いと思う。
思うだけでやったことはない。
0598nobodyさん
2009/05/26(火) 17:10:36ID:UQeZnrko0599sage
2009/05/26(火) 18:12:49ID:???【PHPのバージョン】php5.2
【連携ソフトウェア】qmail(sendmailコマンドは使用可能)
【質問内容】受信したメールに添付されている画像等を
特定のフォルダへ投げるようにするにはどうすればいいでしょうか。
.qmailに転送用のものを置けばいいとは思うのですが、どのようなものを置けばいいのか
サンプルなどあれば教えてください。
0600nobodyさん
2009/05/26(火) 18:31:35ID:UQeZnrkoatpageとtok2で調べたのですが、atpageはアクセス拒否でtok2は8Mでした。
0602nobodyさん
2009/05/26(火) 20:56:23ID:UQeZnrkoPHPを高速化させる部品があるみたいですがこれは導入出来ないと思いました。
0603nobodyさん
2009/05/26(火) 21:03:05ID:???ただでさえ他ユーザーとリソースの食い合いするんだから。
0604nobodyさん
2009/05/26(火) 21:28:08ID:???|/usr/bin/php -q /example/example.php >& /dev/null
./Maildir/
とかやって example.php でなんとかする
0605nobodyさん
2009/05/27(水) 00:14:56ID:???そういう時は、「完成品」を見るのは微妙。
自分のコードを、どうやれば「完成品」に近づけられるのかが分からないからな。
「完成品」のどこがどういいのかも、実際に書き換えたりメンテしたりしないと分からない事が多い。
指導するにしても、おまいの現時点でのレベルが分からんから他人にはどうしようもないしな。
上手い人に自分のコードを渡して、考えている事を聞かせてもらいながら目の前で「美しく」書き換えてもらうのが一番分かりやすい。
…んだが、まあ難しい事が多いしなぁ。
0606nobodyさん
2009/05/27(水) 00:31:02ID:Cc/G0jS50607nobodyさん
2009/05/27(水) 00:35:06ID:???0608605
2009/05/27(水) 00:55:02ID:???できりゃ構わないけどな
MVC構造のフレームワーク使ってるのに何故かテンプレートにロジックが書いてある、とか、そういう事になるのがオチだと思う
使いまわす価値のあるコード作法ってだいたいデザインパターンという形で既に体系化されてるから、ある程度のレベル以上の奴はそっちを座学した方が早いしな
0609nobodyさん
2009/05/27(水) 01:07:23ID:???きれいなコードを書くために心がけること
・関数名は分かりやすい名前を付ける。イミフな省略はしない。多少長くなってもキニシナイ。
・同様に変数名も分かりやすい名前を付ける。
・空行を多く入れてみる。
藤原博文さんの本だったかな?
フォントを小さく(5ptとか)して見て、コードが黒々してたら、たいてい読みづらい、って書かれてた気がする。
・一つの関数内のコードをダラダラと書かない。意味の単位で小分けする。
理想は、コメントや空行を含めても、スクロールせずに一つの関数のコードがみえること。最悪100行以内に押さえる。
・同じ処理の塊をいろんな箇所に書かない。極力、関数としてまとめる。
まとめすぎて、かえって分かりづらくなるかもしれないが、最初は気にせずガンガンまとめてしまう。そのうち常識の範囲内がどの程度かわかるようになる...はず
・フラグの多様は控える。気がつきゃ万国博覧会になっちゃうよ。
・トリッキーなことはしない。
有名どころでは、ループ抜けるのに例外使うとか
いずれは、そんなトッリキーな手段に頼らざるを得ないといけないかもしれないが、始めは完全禁止の気持ちで。
関数分けしていくと、呼び出しが深くなって遅くなるとか言われるかもしれないけど、そんなところがボトルネックになるのはまずないから、キニシナイ。
0610nobodyさん
2009/05/27(水) 01:25:42ID:vJelIhGL単に見かけを綺麗にしたいならcode beautifierの類を使えば早い。
ttp://codeassembly.com/examples/beautifier.php
0612nobodyさん
2009/05/27(水) 02:08:35ID:Cc/G0jS5丁寧な回答ありがとうございました
0613nobodyさん
2009/05/27(水) 02:12:26ID:???英語も勉強するべきなんでしょうか
0614nobodyさん
2009/05/27(水) 02:41:03ID:???・変数への再代入の禁止
原則、ある変数には一度しか値を代入しない。次に代入する時はケチケチ使い回さず新しい変数を用意する
配列の合計を求める時など、何かをまとめる時だけは例外だけど
・多重ネストの回避
ifのネストが深くなったら、if内の処理をごっそりそのまま関数に切り出す事をまず考える
foreach、switchなども含め、どんな複雑な処理であっても、関数内のネストを一重だけにする事も可能
特にswitchは、その部分を単独の関数として切り出すことを真っ先に考えるべき
・グローバル変数の禁止
まずは、使う変数は全て関数の引数にする
すると、同じ引数を取る関数群がいくつか見えてくる。これが、どこをクラス化するかを判断する一番安全な方法
・手続き的にではなく、宣言的に書く
「Aに処理Xを加えて変数Bに、それに処理Yをして変数Cに」という思考を捨てる
「CはBにYをしたもの」「BはAにXをしたもの」という順序で、つまり定義を記述する感じでプログラムを書く
一時変数を同名の関数に置き換えていく感じで、一時変数を削っていくのが分かりやすい手順
>613
ローマ字より英単語のほうが読みやすいだろjk
まあ、そういうレベルじゃなく、$variableでも命名としては最低の部類に入るけどな
0615nobodyさん
2009/05/27(水) 02:41:42ID:???0616nobodyさん
2009/05/27(水) 03:39:43ID:vJelIhGL・ハンガリアン記法っぽいの
$intUserId, $strBody
・アンダーバーで繋ぐ
$user_id, $regex_str
・どうでもいいカウンタ変数
$i, $j, $k
・その他
foreachをネストして多次元配列を展開する場合に使う最初の一時変数は
何かこうもっと良い命名がある気がするけど思いつかないからv_を接頭辞にした。
foreach ($array as $v_array) {
foreach ($v_array as $key => $value) {
}
}
0617nobodyさん
2009/05/27(水) 04:08:53ID:???絶対悪態付きたくなるから、何が問題か分かる。
0618nobodyさん
2009/05/27(水) 05:43:01ID:???・手続き的にではなく、宣言的に書く
「Aに処理Xを加えて変数Bに、それに処理Yをして変数Cに」という思考を捨てる
「CはBにYをしたもの」「BはAにXをしたもの」という順序で、つまり定義を記述する感じでプログラムを書く
一時変数を同名の関数に置き換えていく感じで、一時変数を削っていくのが分かりやすい手順
$B=X($A);
$C=Y($B);
は分かるが、「CはBにYをしたもの」「BはAにXをしたもの」ってどういう事?
0619nobodyさん
2009/05/27(水) 08:55:18ID:???型にハマったんじゃ新しいもの生み出せない ゾと
0620nobodyさん
2009/05/27(水) 09:45:02ID:???foreach($years as $eachYear){
foreach($month as $eachMonth)
}
0621nobodyさん
2009/05/27(水) 09:47:36ID:???0622nobodyさん
2009/05/27(水) 21:58:18ID:tZbxcqT7A.csv
ID 名前
00001 あああああ
00002 いいいいい
00003 うううううう
B.csv
00004 えええええ
00005 おおおおお
00006 かかかかか
csvファイルAからBへ特定の行だけを移動したいと思ってます。
チェックボックスで選ばれたIDの行をAから削除しBへ書き込むプログラムはどうすりゃいいんでしょうか?
IDは重複する事はありません。
0623nobodyさん
2009/05/27(水) 22:15:30ID:???phase2.postされたチェックボックスのID値を見てA.csvを読み込み該当の行を特定、B.csvを追記モードでopenして追記。A.csvから該当行を削除。
こんなもんか
0625nobodyさん
2009/05/28(木) 02:36:09ID:PcD3hYBe【サーバー】Apache (Unix) PHP/5.2.8 mod_ssl/2.8.28 OpenSSL/0.9.7j
【PHPのバージョン】php5.2.8
【連携ソフトウェア】mysql
【質問内容】
通常のサイトから、SSLのサイトへ向けてPOST送信でデータを渡す際、
hidden だと値が渡らないという現象に見舞われてるのですが、
どうすれば解決するでしょうか。
サンプルソースです
(改行が多すぎるってエラーが出たので、次に続きます)
0626625
2009/05/28(木) 02:37:02ID:PcD3hYBeサンプルソースです
「送信元」(test.html)
<html>
<body>
<form action='https://xxxxxxxx.net/test.php' method='post'>
<input type='text' name='test' value='12345'>
<input type='hidden' name='kakushi' value'abcd'>
<input type='submit' name='submit' value='送信'>
</form>
</body>
</html>
「送信先」(test.php)
<?php
print_r ( $_REQUEST ) . "<br />";
print_r ( $_POST );
?>
「結果」
Array ( [test] => 12345 [kakushi] => )
Array ( [test] => 12345 [kakushi] => )
「期待すること」
Array ( [test] => 12345 [kakushi] => abcd )
Array ( [test] => 12345 [kakushi] => abcd )
よろしくお願いします m(__)m
0627625
2009/05/28(木) 02:53:41ID:PcD3hYBe先ほど、「通常のサイトから、SSLのサイトへ向けて」って書きましたけど、
同じSSLのサイト内でも同様にhiddenの値が渡りませんでした。
これはひょっとしたらスレ違いなのでしょうか。
0628nobodyさん
2009/05/28(木) 03:03:25ID:???↓
value='abcd'>
0629nobodyさん
2009/05/28(木) 03:13:26ID:???0630625
2009/05/28(木) 04:34:02ID:PcD3hYBe世の中、解決できない問題はないんだな
>>628 dクス
0631nobodyさん
2009/05/28(木) 08:39:32ID:???■ このスレッドは過去ログ倉庫に格納されています