くだすれPHP(超初心者用)2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/27(月) 17:46:42ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
0496nobodyさん
2007/06/16(土) 21:18:17ID:uzypepP0PHPで作成したんですが、ロリポップにupするときはパーミッション等 なにか設定する必要があるのでしょうか?
宜しくお願いします。
0497nobodyさん
2007/06/16(土) 22:14:47ID:???Perlで一通り経験をつんでからPHPをやると、とっても楽だけど
逆の場合は、とっても苦労することになると思うよ。
0498ひろみつ
2007/06/17(日) 12:31:35ID:HuxhPGRr0499nobodyさん
2007/06/17(日) 12:36:50ID:???0502ひろみつ
2007/06/17(日) 13:22:54ID:???0503nobodyさん
2007/06/17(日) 13:58:31ID:???php使いがperlを勉強すると途中で挫折すると思う。
0504nobodyさん
2007/06/17(日) 14:03:28ID:???そんなに違うのか?phpとperlって
phpが簡単すぎるのか、perlが難しすぎるのか?
それともお互いのルールが違いすぎるのか?
0505nobodyさん
2007/06/17(日) 16:49:56ID:ikG117Frんなわけない
Cとphpの違いほどは違わない
0506ひろみつ
2007/06/17(日) 17:46:56ID:???0508nobodyさん
2007/06/18(月) 19:44:09ID:cNf541ynmail()関数が使用できないサーバーで動作させるというのは困難なんでしょうか?
0509nobodyさん
2007/06/19(火) 14:15:59ID:iqDz2KhQPHPで、ユーザがアクセスしてきたブラウザがJavaScriptを許可しているかどうか引く方法はありますか?
0510nobodyさん
2007/06/19(火) 14:39:32ID:???0511nobodyさん
2007/06/19(火) 17:36:00ID:???0512ひろみつ
2007/06/20(水) 00:41:56ID:KtCwuvOv0513nobodyさん
2007/06/20(水) 13:23:32ID:5awmyfGF$word->Visible = 0;
$wdoc=$word->Documents->open("C:\\a.doc");
$paras=$wdoc->Paragraphs;
foreach($paras as $P)
echo $P->Range->{'Text'}="aaa\n";
$word->Documents[1]->SaveAs("C:\\b.doc");
$wdoc->close();
$word->quit();
$word = null;
こういうCOMを使ってWORDを操作するプログラムの練習をしてるんですが
とりあえず全ての改行までの文字列をaaaに変換しようとしたら、何故か1行だけ変換はされるものの
その後とまってしまいます。どうも永久ループに突入するようです。
結局タイムアウトが発生してしまうんですが、foreachの使い方を間違ってるのでしょうか?
よろしくおねがいします。
0514nobodyさん
2007/06/21(木) 16:56:42ID:???foreachが完了しない。
0515nobodyさん
2007/06/21(木) 17:25:32ID:fjm03ynm0516nobodyさん
2007/06/25(月) 21:15:56ID:o32+7cUqのように、配列の中に同一の値が入っているか否かを得たいのですが、
ループで値を順に比較して探すしかないのでしょうか?
入っていた場合にそれぞれの添え字を得たいとかそんな豪華な結果は要らないのですが。
0517nobodyさん
2007/06/25(月) 23:21:26ID:3qfCD4pZ2点ほど分からないことがありましたので是非ご教授ください。
test.csvの内容は
ai,bb,0
ai,cc,0
au,bb,1
au,dd,1
ao,aa,0
ao,cc,0
ao,dd,0
ao,gg,0
とあります。
最初のページ(test1.php)で・ai ・au ・aoを選ぶページをつくます。
(1)
CSVファイルを使用して
aiを選択した場合、次のページ(test2.php)での選択肢が・bb ・cc
同様に・auの場合、選択肢は・bb ・dd
・aoの場合、選択肢は・aa ・cc ・dd ・ggと表示したいです。
(2)
さらに次のページで
CSVを見て
0の場合は(test3.php)
1の場合は(test4.php)と移動したいです。
0518517
2007/06/25(月) 23:22:43ID:3qfCD4pZもっと効率のよい書き方があれば教えてください。
test1.phpはhtmlのみのプルダウンなので略。
test2.phpでの自分の書き方は
<form action=●●.php method=POST>
<input type=hidden name=test1 value=<?php echo"".$_POST[test1].""?>>
<?php
$file=file("test.csv");
for($i=0;$file[$i]; $i++){
$data=explode(",",$file[$i]);
if(($_POST[test1]=="ai")&&($data[0]=="ai")){
echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>";
}elseif(($_POST[test1]=="au")&&($data[0]=="au")){
echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>";
}elseif(($_POST[test1]=="ao")&&($data[0]=="ao")){
echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>";
}
}
?>
<input type=submit value="次へ">
0519517
2007/06/25(月) 23:23:58ID:3qfCD4pZ●●.phpを新たに作成して
そこでincludeかrequireを使用してtest3.phpかtest4.phpに移動
するプログラムを作成しているのですが、うまく移動しません。
案がありましたら是非ご教授ください。
まだプログラムを勉強中の初心者なので少し解説をつけていただくとうれしいです。
0520涙枯
2007/06/25(月) 23:35:28ID:A39FwowZ異なる文字列(html)で文字数が異なっている4つのフォームから
送信された文字列を一つのindex.htmlに書き込み、
取り出す時にはまた4つのフォームに文字列を戻す。
ということは出来ますでしょうか?
出来ますなら教えていただきたいです。
0521nobodyさん
2007/06/25(月) 23:55:39ID:???$ary = array(1,2,5,6,1,3);
if( $ary == array_unique($ary) ) {
echo "重複ナシ";
}else{
echo "重複アリ";
}
0522nobodyさん
2007/06/26(火) 01:22:53ID:N5XOW1DD具体的にAcceptヘッダとはどういったものなのでしょうか?
画像をリクエストしたり、テキスト形式をリクエストしたりするような感じですか?
ウチのマシンでphp.iniのglobal_regiなんとかって部分offにしてApache再起動して
form作って試したんですけど、なんで実行されたんでしょうか?
formのname属性にnametestって入れて
echoで$nametest呼んだらformで送った情報がきっちり表示されちゃいました・・・
0524nobodyさん
2007/06/26(火) 01:29:08ID:???どれを答えるか迷うな。
0525nobodyさん
2007/06/26(火) 07:39:08ID:???ブラウザがね、自分の好きなメディアタイプはこれだよって送ってるんだ
例えば画像ならpngが好きでpngがなければ他の形式でもいいというときは
Accept: image/png,*.*;q=0.5
qというのは優先順位ね
ApaqcheがMultiviewsでコンテントネゴシエーションしていれば好みのメディアタイプを自動的に送ってくれるわけさ
image.pngとimage.jpgを同じディレクトリにおいて
http://example.com/image
でアクセスするとimage.pngを選択してくれるのさ
Acceptには他にもAccept-Language, Accept-Charset, Accept-Encoding とかあるよ
まあ君はMultiviewsとか使わないだろうから気にしなくていいよ
0526nobodyさん
2007/06/26(火) 09:20:31ID:???プルダウンを二つ作成し、それを関連づけるにはどうしたらいいでしょうか?
たとえば
プルダウン1 プルダウン2
1月 → 1〜31日 項目にセット
2月 → 1〜28日
といった具合です。
0528nobodyさん
2007/06/26(火) 11:55:33ID:???解答ありがとうございます。
もう一つ聞きたいのですが、選択された項目のindex番号を取得する
ことはできますか?
0530529
2007/06/26(火) 12:27:05ID:???0532nobodyさん
2007/06/26(火) 13:08:45ID:???0534nobodyさん
2007/06/26(火) 14:07:43ID:???function check_date($yyyy, $mm, $dd)
{
if(! ereg("^[0-9][0-9]*$", $yyyy)){
return False;
}
}
とりあえず$yyyyだけ正規表現でチェックしてみるんですけど、
^[0-9] だと、0-9以外の文字ならマッチ となり
ereg関数によってtrue/falseと分岐するので
結果として$yyyyに数字以外の文字が入った場合、
マッチ→ereg関数でtrueが返る→論理演算子 ! でtrueがfalseになって返る
→if文の処理は行わない
これで解釈あってますか?
0535nobodyさん
2007/06/26(火) 17:04:58ID:???1文字以上の数字のみからなる文字列にマッチする正規表現。
文全体の処理なら
$yyyyが数字のみでない文字列→ereg()はfalseを返す→否定→真→ return false;
分岐構文の認識大丈夫か?
0536nobodyさん
2007/06/26(火) 17:25:00ID:???他にも突っ込みどころ有るけど、とりあえず根本的な勘違いを一つ
>^[0-9] だと、0-9以外の文字ならマッチ となり
これは[^0-9]の場合
^[0-9][0-9]*$だと「最初から最後まで0〜9のみ、最低一文字以上」って事になる
ちなみに^[0-9]+$とした方がスマート
正規表現の基礎の基礎を学ぶ事をおすすめする
0537nobodyさん
2007/06/26(火) 18:17:04ID:???真偽って言葉を知らないだけで分岐の認識はあってんじゃないの?
0538nobodyさん
2007/06/26(火) 18:50:53ID:???0540nobodyさん
2007/06/30(土) 17:22:23ID:0gW5gfE40541nobodyさん
2007/06/30(土) 17:23:56ID:???意味がよく分かりません
0542nobodyさん
2007/06/30(土) 17:53:11ID:0gW5gfE4スレの一覧です。
0543nobodyさん
2007/06/30(土) 18:00:11ID:???ツリー式掲示板などではスレの一覧に表示させていますが、あれはどういう仕組みなのですか?
??????
0544nobodyさん
2007/06/30(土) 18:44:01ID:jxjgyUFjEUC-JPで書かれたフォームから受け取った値をEUC-JPのPHPで処理します。
値には2バイト文字が含まれています。 頭の全角半角スペースを除去するのですが
$name = $_POST['name'];
$ptn = "/^[ ]*(.*)$";
mb_convert_variables("UTF-8", "EUC-JP", $name, $ptn);
$name = preg_replace($ptn", "\\1", $name);
mb_convert_variables("EUC-JP", "UTF-8", $name);
のようにpreg_replaceを使うのと
$name = mb_ereg_replace("^[ ]*(.*)$", "\\1", $name);
のようにmb_ereg_replace使うのどちらがいいでしょうか?
preg_replaceの方が好きですが、パターンと受け取った値を一度UTF-8に置き換えるのが面倒です。
0545nobodyさん
2007/06/30(土) 19:42:19ID:0gW5gfE4スレの一覧を一定に表示させている(ry。
(´”ω・)y─┛
0547nobodyさん
2007/06/30(土) 22:51:56ID:0gW5gfE4つまり、20個のスレがあるとします。
1つめのページには10個
二つめのページには10個
電池が…
0548nobodyさん
2007/06/30(土) 22:58:11ID:jxjgyUFj現在のページが0か空なら最初の0〜10件を表示。
ページが1なら11〜20を表示
ということ?
それならURLの引数にページ番号を保持させて、1ページの表示件数にかけて取得する。
0549nobodyさん
2007/07/03(火) 11:19:51ID:+jiGGDAy参考になりますPHPなどありますでしょうか?
0551nobodyさん
2007/07/03(火) 14:45:59ID:???レスにどのスレタイが割り当てられているのかスレタイIDをつければいいんでね?
0553nobodyさん
2007/07/03(火) 19:36:17ID:???0554nobodyさん
2007/07/03(火) 19:47:23ID:???0555nobodyさん
2007/07/03(火) 21:13:07ID:???0556nobodyさん
2007/07/03(火) 21:26:16ID:???0557nobodyさん
2007/07/03(火) 21:32:12ID:???0558nobodyさん
2007/07/03(火) 22:38:43ID:???0560nobodyさん
2007/07/04(水) 00:25:28ID:???0562nobodyさん
2007/07/04(水) 01:44:33ID:???0563nobodyさん
2007/07/04(水) 05:32:15ID:NO82XaqL質問です。
// GET取得
if(strtoupper($_SERVER["REQUEST_METHOD"]) == "GET"){
$page = $_GET["page"];
(1)
// $pageがnextの場合
if($page == 'next'){
// ファイル書き込み処理
if(!$_SESSION["execute"]){
//書き込み
// 書き込み後
$_SESSION["execute"] = true;
}
}
}
リンクPAGEをクリックした後、$_SESSION["execute"]
= falseにして(1)、
if(!$_SESSION["execute"]){}の条件を満たし、
書き込み処理を行い、セッションexecute = true
にしています。 どうすれば、リロードで書き込み処理を行わず、
ページリンクをクリックした時だけ、書き込み処理を行うように
したらいいのでしょうか??質問自体がおかしいところもあると
思いますが、ご教授お願い致します。
0564nobodyさん
2007/07/04(水) 05:34:34ID:NO82XaqLリンクPAGEをクリックした後、$_SESSION["execute"]
= falseにして(1)、
if(!$_SESSION["execute"]){}の条件を満たし、
書き込み処理を行い、セッションexecute = true
にしています。 どうすれば、リロードで書き込み処理を行わず、
ページリンクをクリックした時だけ、書き込み処理を行うように
したらいいのでしょうか??質問自体がおかしいところもあると
思いますが、ご教授お願い致します。
0565nobodyさん
2007/07/04(水) 05:37:53ID:???ページリンクをクリックする度にファイルを書きこまないといけない理由は何ですか?
何をしようとしているのか教えて欲しい。
0566nobodyさん
2007/07/04(水) 05:52:13ID:NO82XaqLファイルからレコードを読み込み、配列に格納して、5桁区切りで
ページ数を表示(各ページはリンク)。PAGEリンクは5桁区切りの右側に
リンクしてあり、そのPAGEリンクをクリックすると、
1 2 3 4 5 → 6 7 8 9 10 のように表示を変えるものを作成しています。
その為ファイルにポイントとなる部分を書き込んでいます。
F5等リロードすると、ファイルにポイント部分を書き込むので、
PAGEリンクをクリックしないでも、表示がずれてしまいます。
0567nobodyさん
2007/07/04(水) 06:24:23ID:???えぇと・・そのページを複数のユーザが見る事になった時、どうするんですか?
ファイルに書き込まない実装にしたほうがいいですよ。
0568nobodyさん
2007/07/04(水) 06:33:45ID:NO82XaqL返答ありがとうございます。
「ファイルに書き込まない実装」勉強します。
0569nobodyさん
2007/07/04(水) 07:09:45ID:???マルチ死ね
0570nobodyさん
2007/07/07(土) 18:02:32ID:fXUNib0D―――――――――――
アップされたファイル
アップされたファイル
2345
―――――――――――
1ページに2個アップされたファイルを表示し、残りは2345のリンク先の別ページにそれぞれ2つずつ表示させたいのですが、どうしたらよいでしょうか
page=2
GETでの指定。
0572nobodyさん
2007/07/08(日) 22:50:09ID:???PHPって別ファイルの関数呼ぶことできますでしょうか?
例えば下のa.phpを実行すると「here aaa」を表示されるように
したいのです。
a.phpを実行してもaaa();が見つからないというようなエラーが
出ています。助けてください。
a.php--
aaa();
-------
aaa.php---
print "here aaa";
-----
0573nobodyさん
2007/07/09(月) 00:08:32ID:???penis.php--
function syasei(){
print("syasei");
}
vagina.php--
include("penis.php");
syasei();
0575nobodyさん
2007/07/09(月) 17:09:47ID:6BMNon6nどんな関数使えばできますか?
0576nobodyさん
2007/07/09(月) 18:39:40ID:???そこは超初心者とは言え、自分で考えて作る所だろ
そんな1から10まで用意してもらわないとダメなら他人に作らせるんだな
0577nobodyさん
2007/07/09(月) 18:44:32ID:???思いついた頃には「あぁ!詳しく聞かなくて良かった!」って思えるず。
0578nobodyさん
2007/07/09(月) 19:18:48ID:6BMNon6n実はもの凄い簡単な事だった、と?
(´・ω・`)
0579nobodyさん
2007/07/09(月) 19:23:23ID:???全体の件数から表示する件数を割れば良いだけだろ?
0580nobodyさん
2007/07/09(月) 20:22:45ID:6BMNon6nごめん…情けないが…わからねぇ…
0581nobodyさん
2007/07/09(月) 20:31:22ID:QtrGBC6r0582nobodyさん
2007/07/09(月) 20:31:24ID:???別に変でもいいから
0583nobodyさん
2007/07/10(火) 02:18:11ID:???for文なんかで格好良く書きたかったけど、俺にはできなかった…orz
とりあえずif文でダラダラと…
0585nobodyさん
2007/07/10(火) 12:59:39ID:wG4JHCsOひらめかねぇ
>>584
その言葉はずっと前から知ってるが
それがどうした?
0586nobodyさん
2007/07/10(火) 13:02:32ID:wG4JHCsO>>583
for文…(´・ω・`)
ひらめかねぇ…
でもif文よりは短く書ける?
0588nobodyさん
2007/07/10(火) 23:28:57ID:wG4JHCsOそれもそうだな。ググってみて参考になりそうなスクリプトを今見てる
ネット繋がってなくてさ
公共のPC使ってきた
(´・ω・`)
わかってる
あなたの言いたい事はよくわかる
0589nobodyさん
2007/07/10(火) 23:35:03ID:???よくわかるから何なんだよ
行動がわかってない奴と同じだから意味ねーじゃん
0593(´・ω・`)
2007/07/11(水) 07:49:56ID:og/6iDuTみんなありがとう。
0594nobodyさん
2007/07/11(水) 20:38:07ID:???0595nobodyさん
2007/07/11(水) 20:51:36ID:6BaXcWuEURLにてlocalhostが表示出来ている事を確認しました。しかし<?php print "aa"; ?> という内容でtest.phpの
ファイルをProgram Files/apache Group/htdocsのディレクトリに入れ表示させるとaaと表示されずソース全てが
表示されてしまう結果になってしまいます。これはPHPのインストールに異常があるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています