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

くだすれPHP(超初心者用)2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/27(月) 17:46:42ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
http://www.php.net/
0002nobodyさん2006/11/27(月) 17:52:42ID:???
では早速。

みなさん、PHPを書く時、<?〜?>か<?php〜?>どちらで書いてます?
最近、後者で書く時が多いのですが、そう癖づけた方がいいのでしょうか?
それともぶっちゃけあまり変わらないから、<?〜?>でも問題ないのでしょうか?
0003nobodyさん2006/11/27(月) 18:12:27ID:???
超初心者はなにも考えず後者を使え
0004前すれ9862006/11/28(火) 01:12:54ID:???
探したら確かに
/usr/share/php5/
にphp.ini-distがありました。

debianだと元々設定ファイルが無いんですね。
/etc以下にはありませんでした。

しかしながら検索で*を使うのを忘れてました。
恥ずかしい限りです。でも皆さんありがとうございます。
0005QQQ2006/11/28(火) 11:25:10ID:trk6Ybn1
テキストボックス一つに対してボタンを二つ用意して
それぞれのボタンで入力に対して異なる処理をさせたいんですが、
どうやったらできますか?
現状ソースは以下
<INPUT TYPE="text" NAME="var" SIZE="20">
<FORM ACTION="http://localhost/search1.php"; METHOD=POST>
<INPUT TYPE="submit" VALUE="実行1">    
</FORM>
<FORM ACTION="http://localhost/search2.php"; METHOD=POST>
<INPUT TYPE="submit" VALUE="実行2">    
</FORM>
元々、一行目の文を<form>の中に入れてました。ボタンを二つに
したかったので外に出しちゃいましたwこれでは値が渡されません。
あ、これPHPファイルをコールする直前のHTML内の処理ですね。
でもできれば回答お願いします。
0006nobodyさん2006/11/28(火) 11:29:04ID:???
超初心者ですが、foreachについてお聞きしたいことが。
foreachには、
1 foreach(array_expression as $value)
2 foreach(array_expression as $key => $value)
の2つの形式がありますよね?
1では、ループの値は$valueに格納されますが、2のほうでは$keyと$valueに
それぞれ何が格納されて、どんな時に使うのか分かりません。マニュアルを
見たのですが、ピンとこなくて。。。
000762006/11/28(火) 12:09:48ID:???
わかりましたので取り下げで。
0008nobodyさん2006/11/28(火) 12:18:54ID:???
>>5
っ name
0009nobodyさん2006/11/28(火) 13:46:11ID:PnRJydza
テキストファイルの中身をすべて出力するには
どうすればよいのでしょうか?
日本語が文字化けしてしまいます・・
0010nobodyさん2006/11/28(火) 13:56:58ID:???
>>2
ローカルでshort open tagをoffにしてるから<?php
<? ?>で動かないことはあっても<?php ?>で動かないことはないからね
0011nobodyさん2006/11/28(火) 13:59:20ID:???
>>9
mb_string 入れてる?
php.ini の [mbstring]の設定は?
読み込もうとしているテキストファイルの文字コードは?
001292006/11/28(火) 14:17:55ID:PnRJydza
>>11
文字コード変えてみたらうまくいくました
ありがとうございます

あと、テキストファイルに数行の文が書かれているのですが
読み込んで出力しても、改行がされてませんどうすれば
テキストファイルの内容そのまま出力できますか?
0013nobodyさん2006/11/28(火) 14:35:44ID:???
>>12
どうやって取り込んだの?
file 関数使えばファイル全体を読み込んで配列に格納するし、
fgets で読めばァイルポインタから 1 行づつ取得してるんだろうし。

非エスパーでも回答可能な質問汁。
0014nobodyさん2006/11/28(火) 14:41:24ID:???
>>12
ブラウザで見てるからだろ
ブラウザ上での改行は<br>だから
0015nobodyさん2006/11/28(火) 14:41:41ID:???
<br />つければいいんじゃね
001692006/11/28(火) 14:41:44ID:PnRJydza
readfileを使いました。
説明足りなくてごめんなさい
0017nobodyさん2006/11/28(火) 14:42:40ID:???
LFが改行じゃないシステムとか
0018nobodyさん2006/11/28(火) 14:46:27ID:???
>>16
今回は各行の後ろに「改行コード」(コマンドラインへ出力) or 「<br>」(ブラウザへ出力)を
加えたいから、fileで取り組んで配列ループして改行コードを追加しながら出力すればいいんじゃない?
001992006/11/28(火) 15:03:00ID:PnRJydza
何度もすいませんm(__)m
配列ループするとテキストファイルの中身の
文の行数だけループはどうすれば?
いろいろな行数のファイルを読み込みたいんですが
0020nobodyさん2006/11/28(火) 15:12:23ID:???
全部読んでまとめてnl2br
0021nobodyさん2006/11/28(火) 15:17:15ID:???
>>19
PHP のマニュアルの foreach を参照のこと。

ttp://jp.php.net/manual/ja/control-structures.foreach.php

他にも方法はあるけどね。
0022nobodyさん2006/11/28(火) 17:06:22ID:???
>>19
ループ使わないやり方
echo str_replace("\n", "<br>", file_get_contents("ファイル"));
\nは改行コードによって変わる
0023nobodyさん2006/11/28(火) 17:11:46ID:???
これでもいけるかな?
echo nl2br(file_get_contents('ファイル名'));
0024nobodyさん2006/11/28(火) 20:35:30ID:xi49mohN
さぁさぁさぁ、超初心者と聞いて俺がきましたよ!
超初心者が聞きます!
……PHPって何ですか?
0025nobodyさん2006/11/28(火) 20:36:45ID:???
嘘つくなハゲ
0026nobodyさん2006/11/29(水) 10:28:53ID:???
opendirでディレクトリ内を開いて書き出した時、
.
..
test.gif

みたいに” . ”が出力されます。これを削除して出力するにはどうしたらいいのでしょうか? 
0027nobodyさん2006/11/29(水) 10:37:14ID:???
while ($entry = readdir($dir)) {
if ($entry == '.' || $entry == '..') {
continue;
}
echo $entry . "\n";
}
とか
0028nobodyさん2006/11/29(水) 10:52:27ID:???
phpこれから勉強しようかなと思ってるんだけど
2ちゃんの壷のlocalhost8095は削除しとかないとダメかな?
アパッチも使おうかなと思ってるんだけど。
0029nobodyさん2006/11/29(水) 10:55:37ID:???
ローカルでテスト中のときだけ壷停止しとけばおk
0030nobodyさん2006/11/29(水) 16:41:30ID:gqW8eidG
フォームで番号入力させてボタン押したら
それをもとにHTMLファイル作成して
そこに飛ぶようにしたいんですけど
どのようにしたらいいでしょうか?
action先にあるphpファイル指定して、ファイル作成して
そのファイルに飛ぶって感じで考えたんですけど
かなり無駄ですよね・・・なにかいい方法ないですか?
0031nobodyさん2006/11/29(水) 16:53:50ID:???
>>30
マルチすんな。
0032302006/11/29(水) 17:00:36ID:gqW8eidG
ごめんなさい。今日中にやらなきゃだめで・・つい
0033nobodyさん2006/11/29(水) 17:48:47ID:???
つい殺してしまった
つい盗んでしまった
0034nobodyさん2006/11/30(木) 04:34:34ID:9PLb0L+/
http://w1.nirai.ne.jp/freeze/appli/file04.html
↑ここの二択クイズのスクリプトを設置してみたんですけど
エラー(Parse error: syntax error, unexpected '/')が出て動きません。
単純な構文の間違え?考えたのですがわかりません。

エラーが出るのは下のスクリプトの中の←の部分。
前後もおかしいところはないと思うんですが。

どうかわかる方、教えて下さいませ。

一部抜粋(元はhttp://w1.nirai.ne.jp/freeze/appli/files/office/index.htm
)
///////////////////////////////////////////////////////////////////////////////////個人成績表の表示
function RESULT($name_in){
global $office;
if(file_exists("./quiz/name_$office/$name_in") and $name_in !=null){
echo "名前:".$name_in." ".$office."成績表";
$result = file("./quiz/name_$office/$name_in"); ←この行
$array_cnt = count($result);
echo "<table border='1'>";
echo "<tr><td>DATE&TIME</td><td>LEVEL</td><td>POINT</td><td>TIME</td><td>BAR</td></tr>";
$cnt = 0;
while($cnt < $array_cnt){




0035nobodyさん2006/11/30(木) 04:55:17ID:???
>>34
ソースコードをShift_JISで保存してるから。
問題の行は一個上の echo ... の部分で、表はsjisだと 95 5c。 5c てのは \。
なので 成績表" の " がエスケープされてしまう。

とりあえず 成績表\" のように \ を追加すればいいけど、ソースコードは utf-8n か
euc-jp で書くようにしたほうがいいよ
0036nobodyさん2006/11/30(木) 06:35:19ID:???
>>35
ありがとうございます。解決しました!
しかし、今度はログイン画面や問題表示画面にエラーが出てきたので、引き続き考えてみます。
0037342006/11/30(木) 19:46:18ID:???
XREAのセーフモードというのが邪魔してるみたいです。

どこかのサイトに書いてあったのを参考に
.htaccessに

<Files index.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

として設置して、よくわからないままエラーメッセージは
出なくなりましたが、成績が記録されないです。
0038nobodyさん2006/11/30(木) 19:52:05ID:???
なぜ記録されないのか調べて、それに応じた対策をとればいい
0039nobodyさん2006/12/01(金) 02:03:15ID:eNWcG6C2
スクリプト内で$_GET['id']=TRUEという処理を使う場合、
外部から$_GET['id']===TRUEになる値を入れることは絶対できない?
■ このスレッドは過去ログ倉庫に格納されています