元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 93
php覧 / PC版 /みんなの評価 :
301 = :
>>299
http://php.net/manual/ja/language.types.type-juggling.php
302 = :
サナクス
303 = :
(C 言語で行われるように) 数値に変換することで 一つの文字のコードを取得できると期待してはいけません。 文字と文字コードを相互に変換するには ord() および chr() 関数を使用してください。
305 = :
>>304
最後のだけ改行なしで終わってるんだろ
>>279
306 = :
半角とEUC-jpが混在している文を、特定文字を置換すると
本来、区切れない部分を置換してしまうことがあります。
対処法はありますか。
ユニコード文字列みたいなのが出来ればいいですが。
一語が一つの配列入りしてれば
307 = :
>>304
なんでforeachのブロックが終わったのに$tmp使ってるの?
その$tmpはforeach内のみで使うローカル変数でしょ
何やってるか理解できてないでしょ?
答え書いても分かるとは思えないけど
$data = file("ttttt.txt");
$users = array();
foreach ($data as $row) {
$tmp = explode("<>", $row);
$users[$tmp[0]] = $tmp[1];
}
この処理が終わった時点で
$usersは
$users['hoge'] = "geho";
$users['aaaa'] = "bbbb';
$users["1111"] = "2222";
こうなってるでしょ
セッション処理してるけど理解してないだろうしそこは省いて簡素化して続き書くと
if (isset($_POST['username']) && isset($_POST['password'])) {
if ($users[$_POST['username']] == $_POST['password']) {
echo "認証成功";
} else {
echo "認証失敗";
}
}
308 = :
と説教たれといてなんだが色々間違えてたわ
ちょっと手直しする
309 = :
別に間違ってなかったか・・・他の人が指摘してる通りrtrim挟んでなかったんだね
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
N<input type="text" name="username" value="">
P<input type="text" name="password" value="">
<input type="submit">
</form>
<?php
$data = file("ttttttxt");
$users = array();
foreach ($data as $row) {
$tmp = explode("<>", rtrim($row));
$users[$tmp[0]] = $tmp[1];
}
if (isset($_POST['username']) && isset($_POST['password'])) {
if ($users[$_POST['username']] == $_POST['password']) {
echo "認証成功";
} else {
echo "認証失敗";
}
}
?>
array_key_existsとか使ったほうがいいかもしれないがとりあえず簡素化したものなのでこれで
あと本番ではエスケープ忘れずに
310 = :
たびたびスマン・・・やっぱ>>309はよくない
何も入れなくても認証されてしまう
isset使ってるのが原因でもあるがやっぱarray_key_exists使って
if (isset($_POST['username']) && isset($_POST['password'])) {
if (array_key_exists($_POST['username'], $users)) {
if ($users[$_POST['username']] == $_POST['password']) {
echo "認証成功";
} else {
echo "認証失敗";
}
} else {
echo "認証失敗";
}
}
まぁ書き方は色々あるのでとごまかしつつ寝ます・・・
311 = :
これはヒドイ・・
312 = :
>>296
答えてくれてありがとう。
普通ならバッチ処理でいいのですが、今回はGUIを作っていまして。。
いろいろ試した結果
proc_open()で時間が掛かるプログラムを起動
proc_open()のオプションでbypass_shellをtrueにする
終了時にproc_terminate()
こんな感じでできました。
313 = :
textareaにデフォルト値入れたいんだけど、中に何が入るか分からない場合htmlspecialcharsすべき?
315 = :
>>313
×すべき?
○すべきですか?
317 = 316 :
色々と構成をいじってしまったので、
とりあえず、サーバーを再起動して見てみます。
318 = :
mysqlの拡張を読み込めてないだけやで
319 = 316 :
再起動してみましたが、やっぱり症状変わらずです。
MYSQL単体だとログインが出来て、テーブルも作れます。
PHP5もphpinfo()で動作は確認しています。
やっぱり、接続中に何らかしらのトラブルが発生しているようです。
ネットワーク周りとかで、疑った方がいい設定値などありますか?
320 = 316 :
>>318
mysqlが原因ですか・・・
DBサーバー関係が疎いので、色々やっているうちに、どこかの設定を間違っていじっていたかもしれません。
今から、再インストールしてみます。
ありがとうございます。
321 = :
>>320
mysqlではなくphpのmysql用のモジュールが読み込めてないだけ
phpinfo()にMySQLの項目がでてこないと使えない
322 = :
>>319
PHP5(2系3系)とMySQL5.xはdllの相性が悪い
5.2なら「php mysql 修正版 dll」でググレ
王道的な解決策は>>6のブログに書いてある
323 = :
【OS名】linux
【PHPのバージョン】php5
環境は特に限定せず、普通のレンタル鯖等での動作を想定。
数値での++的な事をアルファベットでやりたいです。
a,b,c....と事前に配列で定義することなく、プログラム的にa,b,c....をループの中などで出力する方法はないでしょうか?
328 = :
`hoge.exe`;
329 = 327 :
>>328
いやそうやって書いてたんですがエラーでて(´・ω・`)
っておもってたんですがスペルマミスでしたwwwwwwwwwwwwwwwwwサーセンwwww
そして直して再度やってみたら、なんかブラウザが読み込み中のままで
サーバー側でアプリが起動してないんですが
他に何か気をつける点があったら教えてください
330 = :
`GUIなアプリ.exe`; とかしてない?
331 = :
サーバー側のログは?
332 = 327 :
>>330
えっと普通のWinアプリなのでGUI的な感じですが・・・
>>331
ログどこにありますかログ。みてみます
333 = :
GUIかよ
`~` は文字出力して戻ってくるのが前提のコマンドだ。
もしサーバー側で実行が成功してるなら
そのphp、つまりhttpdの実行ユーザーで実行されている
デスクトップがそのユーザーのものじゃないからそのままじゃ出ないだろう
サービスの設定でデスクトップとの対話を許可するとかやれば出るかもしれない
実行してphpkら切り離すのは、、、&使えたっけ?forkしてexecとかか
334 = 327 :
>>333
すごいありがとうございます。
確かに画面には出ていませんでした。。。
んでタスクマネージャみてみたらボタン押した回数分起動してましたww
すみません、サービスの設定はどうやってやるのですか?><
んで、サイトに書いてるようにexecやったらphpが抜けてこないっぽいので
切り離すやりかたを><
335 = :
サービスは、、、マイコンピュータの右クリックから管理でサービス選んで
Apacheのプロパティ出してログオンのとこにあるデスクトップ~をチェック
336 = 327 :
>>335
できました!!!
タスクトレイのアイコン右クリのサービスでもOKでした。
おかげでアプリは見事に表示されました!!
で、これやっぱりアプリ終了させるまでexecで止まってるみたいですね。
アプリは起動されたら一連の動作を終えたら終了するようにするので
これはこれでOKかなとおもいました。
いろいろありがとうございました。
ほんと助かりました。。。
337 = :
>>313
htmlspecialcharsは表示のタイミングで使うものなので
受け取った値をどう使うかによる
表示するのなら(そのタイミングで)使うべき
内部で処理するために使うだけならいらない
338 = :
何言ってんだこの馬鹿は
339 = :
スーパーチンピラタイム
341 = :
まぁはじめからうまくいくようなもんじゃないしガンガレ
342 = :
>>340
http://jp.php.net/manual/ja/function.file.php
注意: FILE_IGNORE_NEW_LINES を指定しない限り、 配列に取り込まれた各行は行末文字も含みます。
行末文字を取り除きたい場合には rtrim() を使用する必要があります。
fileで配列に入った1行ずつの最後には改行が入ってるよってこと。
だからexplodeした最後の配列の中は
"geho[行末文字]"になっていて比較する"geho"とは違う文字列となってしまう。
こういうときは自分なら
hoge<>geho<>
aaaa<>bbbb<>
1111<>2222<>
と余分に<>を付けとく
348 = 340 :
>>342
ふむふむ。
file関数をバカにしてました・・・。
勉強になります。
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 95 (1001) - [98%] - 2010/5/28 10:44
- 【PHP】下らねぇ質問はID出して書き込みやがれ 91 (1001) - [98%] - 2010/1/9 4:06 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 96 (1001) - [98%] - 2010/7/22 7:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 97 (1001) - [98%] - 2010/9/18 2:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 92 (1001) - [98%] - 2010/2/15 17:01 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 83 (1001) - [98%] - 2009/4/27 3:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 94 (1001) - [98%] - 2010/4/20 19:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 99 (1001) - [98%] - 2010/10/27 4:51
- 【PHP】下らねぇ質問はID出して書き込みやがれ 90 (1001) - [98%] - 2009/12/7 18:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 98 (1001) - [98%] - 2010/10/12 18:16
- 【PHP】下らねぇ質問はID出して書き込みやがれ 139 (994) - [96%] - 2015/7/25 21:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 130 (1001) - [96%] - 2013/11/11 2:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [96%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [96%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [96%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 113 (1001) - [96%] - 2012/1/1 1:00
トップメニューへ / →のくす牧場書庫について