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

【PHP】くだらねぇ質問はここに書き込みやがれpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/01/09 06:01:24ID:tJkdKk+e

お前の下らない質問に回答があるかも知れないスレッドです。
0002nobodyさん05/01/09 06:02:05ID:???
過去のスレ

【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
0003nobodyさん05/01/09 06:07:02ID:???
マニュアル読め
0004nobodyさん05/01/09 06:10:42ID:yJi8rWX7
過去ログを漁ってみるがいい
0005nobodyさん05/01/09 06:13:01ID:???
>>6 質問の仕方
>>7 SFAQ
0006nobodyさん05/01/09 08:14:08ID:2fyg0lN1
フリーCGIでフリー鯖に使える携帯用うpロダない?
メール投稿とか出来たらよいかも
よろしくおにいちゃん!
0007nobodyさん05/01/09 09:04:50ID:???
CGI探しは板違い。web製作板の該当スレへ行け
0008nobodyさん05/01/09 09:36:09ID:O+gxswgn
配列を使った循環参照がうまく行きません!
──────────────────
<?php
class mother{
  var $childs = array();
}
class child{
  var $age;
  var $mother;
  function child($age, &$mother){
    $this->age = $age;
    $this->mother =& $mother;
    $this->mother->childs[] =& $this;
  }
}
$mother = new mother();
$x = new child(15, &$mother);
$y = new child(10, &$mother);
$x->age ++;
$y->age ++;
print_r($mother);
?>
──────────────────
これで、motherの中のchildのageがそれぞれ16と11になってほしいのですが
実際は15と10のままです。何か良い方法はありますか?
0009nobodyさん05/01/09 10:03:48ID:???
$x =& new child(15, $mother);
$y =& new child(10, $mother);
0010nobodyさん05/01/09 10:35:19ID:9fxwJrgA
$abcが "abc数字3文字"の時はエラー出したいんだが、
これは正規表現使って出来ますでしょうか?
正規表現複雑すぎてさっぱりなので、
誰か分かる人構文を書いていただけたら感謝感激なんですが。

例えば、
if(abc数字3文字の形かどうか){exit();}
という風にしたいのです。

abc数字3文字とは例えば、
abc123やabc555などをさします。
0011nobodyさん05/01/09 12:04:30ID:???
Smarty使えるレンタルサーバーってありませんか?
0012nobodyさん05/01/09 16:39:44ID:???
>>11
自分で勝手に入れろ
0013nobodyさん05/01/09 17:07:07ID:???
>>10
([a-zA-Z])+([0-9]){3,3}$
0014nobodyさん05/01/09 17:09:16ID:F+PYukjE
>>13
m9(^Д^)プギャーーーッ
0015nobodyさん05/01/09 17:40:07ID:???
>>10
/^abc\d\d\d$/
0016nobodyさん05/01/09 18:09:14ID:F+PYukjE
>>15
m9(^Д^)プギャッ
0017nobodyさん05/01/09 22:01:45ID:???
日付をYmdHis形式(20050101000000)の文字列として保存しています。

この文字列と現在のシステム日付の差分を計算し、
1時間以上経っていたら処理を行うようにしたいのですが、
YmdHis形式の日付文字列をdate型に変換できなくて困っています。

strtotimeとかでも上手くいかなかったのですが、何かいい方法は無いでしょうか?
0018nobodyさん05/01/09 22:02:35ID:hHfQCbQy
二次元配列に値をfor文で代入したいのですけどうまくいきません。
Cのように
int x[10][10] ;
int count=0 ;
for(int i=0 ; i<10 ; i++){
 for(int j=0 ; j<10 ; j++){
  count++;
 x[i][j] = count;
 }
}
とこのようなものをPHPで行いたいのですがどようにすればよいのですか?
0019nobodyさん05/01/09 22:19:01ID:???
>>18
そのままのロジックだと何か問題が?

$count = 0;
for($i=0; $i<10; $i++) {
for($j=0; $j<10; $j++) {
$count++;
$x[$i][$j] = $count;
}
}

てか、Cって for(int i=0 とかできるんだっけか?
0020nobodyさん05/01/09 22:56:26ID:???
>>17
list($year,$month,,,) = scanf($YmdHis,'%4d%2d,,,,');

とかできたはず
あとは単純にsubstr()を使うとか、どうとでもなるでしょ。
0021nobodyさん05/01/09 22:56:32ID:???
質問させてください。初心者です。
ttp://syokunin.no-ip.org/sample/cart/view.php

ここのショッピングカートを少しいじって使用するつもりです。
オプションの項目をちゃんと改行して表示したいのですが、
view.phpの中身のどのあたりをどうすればいいのかがよく分かりません。
ここかな?ってところに<br> タグをいれてみたけどうまくいきません。
例えば3段目の商品だと、
_________
生産国(日本)太さ
(10mm)

となっているのを
_________
生産国(日本)
太さ(10mm)

という感じにしたいのです。

ご教授ねがいます。
0022nobodyさん05/01/09 22:57:01ID:F+PYukjE
$str = '20050101000000';
$time = strtotime(preg_replace('/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/', '$1-\2-\3 $4:$5:\6', $str));
0023nobodyさん05/01/09 22:58:53ID:???
質問させてください。初心者です。
ttp://syokunin.no-ip.org/sample/cart/view.php

ここのショッピングカートを少しいじって使用するつもりです。
オプションの項目をちゃんと改行して表示したいのですが、
view.phpの中身のどのあたりをどうすればいいのかがよく分かりません。
ここかな?ってところに<br> タグをいれてみたけどうまくいきません。
例えば3段目の商品だと、
_________
生産国(日本)太さ
(10mm)

となっているのを
_________
生産国(日本)
太さ(10mm)

という感じにしたいのです。

ご教授ねがいます。
00241705/01/09 23:27:35ID:???
>>20,22
ありがとうございました。
やっぱり文字列操作をしないとダメみたいですね。試してみます。
00251705/01/09 23:41:43ID:???
>>20,22
ありがとうございました。
やっぱり文字列操作をしないとダメみたいですね。試してみます。
0026nobodyさん05/01/09 23:47:21ID:???
>>19
C99仕様のコンパイラじゃないと無理と思われ

>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0027nobodyさん05/01/09 23:53:05ID:???
>>19
C99仕様のコンパイラじゃないと無理と思われ

>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0028nobodyさん05/01/09 23:54:47ID:???
>>19
C99仕様のコンパイラじゃないと無理と思われ

>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0029nobodyさん05/01/09 23:56:48ID:???
>>19
C99仕様のコンパイラじゃないと無理と思われ

>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
0030nobodyさん05/01/09 23:57:43ID:???
>>19
C99仕様のコンパイラじゃないと無理と思われ

>>21,23
Selectタグ吐いてるとこにBrを追加するだけ
ありえないけど、もしそれすら出来ないなら丸投げ改造スレに移動
00312305/01/10 00:14:21ID:???
>>26
おお、できました!
ありがとうございました!場所をまちがってたみたいです。
0032nobodyさん05/01/10 00:14:43ID:???
連投できるのか?
0033nobodyさん05/01/10 00:17:11ID:???
連投できるのか?
0034nobodyさん05/01/10 00:18:00ID:???
連投できるのか?
0035nobodyさん05/01/10 00:19:20ID:???
連投できるのか?
00362305/01/10 00:22:20ID:???
>>30
おお、できました!!
ありがとうございます!ふう、これで進める・・・

なんだか板調子悪いすね
0037nobodyさん05/01/10 00:22:52ID:???
>>21>>23 >>24>>25
処理までにちょっと時間がかかるからもちでもついて待て。

>>26-30
オマイはぜってーわざとだろ。削除されろ。
0038nobodyさん05/01/10 00:30:37ID:???
今日はbbs.cgiの様子がおかしいから、
書き込みエラーが出たりタイムアウトしてても
実は書き込めてるらしい。

しかも、書き込みが反映されるまでに10分以上かかるというすばらしい仕様だ(w
0039nobodyさん05/01/10 01:57:18ID:???
質問させてください。掲示板で検索結果を表示する際、検索文字をPOSTで
送信して検索結果をGETの結果(result.php?k=XXX)で表示したいのですが
なにか方法はありますか?
0040nobodyさん05/01/10 01:57:45ID:???
>>39
リダイレクトでもすれば?
00413905/01/10 02:21:44ID:???
>>40
すいません。リダイレクトってどのようにすればいいんですか?
ググってみましたけどrequire使うんですか?
00423905/01/10 02:31:38ID:???
すいません。header("location:");で飛ばすんですね。解決しました。
ありがとうございます。
0043nobodyさん05/01/10 03:06:48ID:???
宣言して無いメンバ変数を作るのは不味いかな?
例えば、
class hoge{
function make($name, $value) {
$this->$name = $value;
}
}
0044nobodyさん05/01/10 04:17:00ID:FH4yAxR1
HTML部分
<FORM ACTION="xxx.php" METHOD="POST" name="MainForm">
<SELECT NAME="q01">
<OPTION value="0">---お選びください---</OPTION>
<OPTION value="1type">1タイプ</OPTION>
<OPTION value="2type">2タイプ</OPTION>
<OPTION value="3type">3タイプ</OPTION>
</SELECT><br>
<INPUT TYPE="TEXT" NAME="q02" SIZE="30"><br>
<INPUT TYPE="TEXT" NAME="q03" SIZE="90"><br>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="実行">
</FORM>

上のようにHTMLを記述し、下のプログラムからそれぞれq1,q2,q3の値を取り込
むプログラムを作ったつもりですが、実行してもq1の値だけ空で値を選択した値を
取り込みません。(q2,q3は正常に取り込んでくれます)
どのようにしたらq1の値も正常に読み込むようになりますか?

$q01 = $_POST["q01"];
$q02 = $_POST["q02"];
$q03 = $_POST["q03"];
0045nobodyさん05/01/10 06:20:30ID:???
>>43
そういうキャラクターのオブジェクトならOK。そうでないならNG。
ちなみに、生成済みのプロパティにアクセスしないためには__set()を
0046nobodyさん05/01/10 06:27:53ID:???
>>44
コードは間違ってないように見える。
var_dump($_POST['q01']);とやって変数の中身を確認してみたら。
0047nobodyさん05/01/10 06:45:40ID:???
44の言う通り「空」なら string(0) "" のはずだがどうだろうね
00481805/01/10 10:39:49ID:???
遅レスすいません。
なんとか自己解決しました。
echoを使って生成された配列の中身を確かめていたので勘違いしていました。
printを使ったら期待通りの値を得ることができました。
0049nobodyさん05/01/10 11:43:04ID:???
無茶言うな
0050nobodyさん05/01/10 12:29:13ID:???
>>45
ありがとう。__set()って使ったことなかったけど、こういう事もできたんだな…。
色々とありがたいヒントも得ました。2つぐらいしか思いつかなかったパターンが倍に増えたかんじ。
0051nobodyさん05/01/10 15:04:58ID:V+OrI4PO
JpGraph-1.16の日本語化ができず困っています。インストール後にグラフを表示
できる事を確認し、日本語が化ける問題に対処しようとgoogleで調べました。
まず、fonts用のディレクトリを作成し、そこにsazanami-gothic.ttfなどのフォント
を入れて、jpgraph.phpで
DEFINE('TTF_DIR','/usr/local/lib/php/jpgraph-1.16/japanese_fonts/');
このように参照できるようにしました。
次に
// Japanese font
DEFINE("FF_JPN_START", 40);
DEFINE("FF_JPN_END", 50);
DEFINE("FF_GOTHIC", 40);
DEFINE("FF_MICHO", 50);
DEFINE("FF_JPN_DEFAULT", FF_GOTHIC);
DEFINE("TF_JPN_DEFAULT", "sazanami-gothic.ttf");
を追加しました。
0052nobodyさん05/01/10 15:06:34ID:V+OrI4PO
次に
function TTF() {
$this->style_names=array(FS_NORMAL=>'normal',FS_BOLD=>'bold',
FS_ITALIC=>'italic',FS_BOLDITALIC=>'bolditalic');
// File names for available fonts
$this->font_files=array(
FF_COURIER => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_GEORGIA => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'' ),
FF_TREBUCHE =>array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_VERDANA => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'' ),
FF_TIMES => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_COMIC => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'', FS_BOLDITALIC=>'' ),
FF_ARIAL => array(FS_NORMAL=>'sazanami-gothic.ttf', FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf' ),
FF_GOTHIC => array(FS_NORMAL=>'sazanami-gothic.ttf',FS_BOLD=>'sazanami-gothic.ttf',
FS_ITALIC=>'sazanami-gothic.ttf', FS_BOLDITALIC=>'sazanami-gothic.ttf'),
);
このように修正しました。グラフを描画させてみたのですが、インストール直後と同じで日本語が
化けてしまっています。どなたかアドバイスをいただけませんでしょうか。
0053nobodyさん05/01/10 15:17:21ID:iCuvDIZ1
http://www18.big.or.jp/~toshi/cgi-bin/board10/yybbs.cgi
みんなあらそうぜ!
0054nobodyさん05/01/10 18:22:36ID:2LPzHX5s
セキュ板にそれらしいスレがなかったので、ここで聞いてみます。
SSLの有効範囲がよくわからないのですが、
例えば、AサイトのSSLフォームでID/PASSを入力し、
SSL無しBサイトのPHP+MySQLと照合する、といった場合、
暗号化されてない状態で盗み見されてしまう可能性があるのでしょうか?

図では
A ----------------> B
という状況になると思うのですが、
この-----の部分もAでSSLを使用するだけで暗号化されるのでしょうか?
イマイチ理解できないのです
0055nobodyさん05/01/10 19:00:53ID:MMRXO/4k
文字列
$a =
"あいうえお
かきくけこ
さしすせそ
たちつてと";

変数$aの各行にアクセスしたいのですが、
どうすればいいでしょうか?
0056nobodyさん05/01/10 19:09:18ID:???
>>55
$lines = explode("\n", $a)
0057nobodyさん05/01/10 19:09:20ID:???
>>55
改行をデリミタとしてexplodeで分割する。
0058nobodyさん05/01/10 19:12:48ID:MMRXO/4k
OK牧場でした。
>>56さん,>>55さんどうもありがとうございました。
0059nobodyさん05/01/10 19:17:08ID:???
$sql = "SELECT COUNT(*) FROM b_table "
."WHERE subject LIKE '%".$search."%'"
." OR message LIKE '%".$search."%'";
$count_result = mysql_query($sql, $object);
$row = mysql_num_rows($count_result);
print($row);
でヒットした数が出ると思うのですがなぜか全部「1」になってしまいます。
なぜでしょうか?アドバイスお願いします。
0060nobodyさん05/01/10 19:23:46ID:???
>>59
mysql_num_rowsはSELECTで取得できる件数を返す。
つまり、COUNT(*) とやっている以上は必ず「1」になる。
00616005/01/10 19:26:28ID:???
書き方が分かりにくかった。
件数っていうのはCOUNT(*)の値じゃなくてレコード数のこと。
SELECT COUNT(*) だと COUNTの結果が1レコードだけ返るから
mysql_num_rowsは常に「1」。
0062nobodyさん05/01/10 19:28:22ID:???
>>60
ありがとうございます。
trueが帰ってきてたんですね。
SELECT COUNT(*)をSELECT * に変えたところちゃんと表示できました。
0063nobodyさん05/01/10 19:29:06ID:???
あ、trueではないんですね(;・∀・)
0064nobodyさん05/01/10 19:48:51ID:???
>>62
てか、SELECT * にしてmysql_num_rowsを使うよりは
素直にSELECT COUNT(*) の値を取得したほうがいいんじゃないか?
0065nobodyさん05/01/10 19:53:42ID:???
>>64
素直にといいますと?
0066nobodyさん05/01/10 19:54:35ID:nGVUH1Bq
文字列中で$ってどう使えばいいっすか?
echo '$test';
ってして
$test
って表示させたいのに実際はブランクになっちまうっすよ。
どうか夜露死苦
■ このスレッドは過去ログ倉庫に格納されています