【PHP】くだらねぇ質問はここに書き込みやがれ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
04/11/02 00:15:41ID:???0861nobodyさん
05/01/05 01:57:35ID:???0863nobodyさん
05/01/05 09:30:58ID:UxwkK65Lどうすれば?
0865超ど素人
05/01/05 12:59:33ID:m5e5wCkg入力部品を操作する方法も教えて頂けますでしょうか。form.htmlファイル
には
<form method="POST" action="hairetu.php">
<table><tr><td>アドレス1</td>
<td><input type="text" name="mailadrs[1]"></td></tr>
<tr><td>アドレス2</td>
<td><input type="text" name="mailadrs[2]"></td></tr>
</table><input type="submit" name="submit" value="送信"></form>
と書き、hairetu.phpファイルには、
<?php
$mailadrs[1]=$_POST["mailadrs\[1\]"];
$mailadrs[2]=$_POST["mailadrs\[2\]"];
print("あなたのメールアドレスは");
print($mailadrs[1]);
print($mailadrs[2]);
print("ですね");
?>
と書いたのですが、「送信」ボタンを押しても「あなたのメールアドレス
はですね」としか表示されず、入力したmailadrs[1],mailadrs[2]が表示
されません。mailadrs[1],mailadrs[2]も表示させるようにするにはどう
すれば良いのでしょうか。環境は、PHP4.3.8+Apache1.3.31+WindowsXP
です。
どなたか、教えて下さると非常に助かります。宜しくお願いいたします。
0866nobodyさん
05/01/05 13:22:03ID:???print_r($_POST); すると、
Array ( [mailadrs] => Array ( [1] => i [2] => l ) となる。
つまり、$_POST['mailadrs']['1']や $_POST['mailadrs']['2'] に保持されている。
これを再帰的な配列や多次元の配列という。(マニュアルの配列の項より引用)
フォームで使っている[ ]が、変数名の中の文字[ ]として扱われずに
配列になっていることに注意。
0867nobodyさん
05/01/05 13:37:34ID:???たとえばperlでかかれたスクリプトの中にPHPのスクリプトを記述するの?なぜそんなことを…
<img src="hogehoge.php?count=○○">とかsystem('php hogehoge.php ○○');とか?
0868nobodyさん
05/01/05 13:39:12ID:???と、思うのは俺だけでしょうか。
0869nobodyさん
05/01/05 13:54:00ID:???やりたい事によってはサーバの設定(apacheのfilterとか)を
変えるような大掛かりなものになったりするし、
対象がはっきりくっきりもっきりしないと何とも言えないよね。
0870超ど素人
05/01/05 15:21:00ID:m5e5wCkg>つまり、$_POST['mailadrs']['1']や $_POST['mailadrs']['2'] に保持されている。
ありがとうございます!!出来ました!!それで、続きなのですが、これを
PHPファイルに簡単に書く方法はないでしょうか。
$mailadrs1=$_POST['mailadrs']['1'];
$mailadrs2=$_POST['mailadrs']['2'];
print($mailadrs1);
print($mailadrs2);
を、もっと簡単に書きたいのです。イメージとしては、
for($i=1;$i<=count($_POST['mailadrs']);$i++)
{
$mailadrs . $i =$_POST['mailadrs'][" $i "];
print($mailadrs . $i);
}
なのですが、これでは動きません。このような「ループ」を使って
簡単に書く方法はないでしょうか。何度もお手数をおかけしますが、
何卒宜しくお願い致します。
0871nobodyさん
05/01/05 15:23:56ID:???$mailadrs=$_POST['mailadrs'][$i];
print($mailadrs);
0872nobodyさん
05/01/05 15:25:13ID:???print($mailadrs . $i);
じゃなくて
print $_POST['mailadrs'][$i];
でいいんじゃない?
0873nobodyさん
05/01/05 17:23:35ID:???echo "アドレス".$key."=".$value."<br>\n";
}
0874nobodyさん
05/01/05 17:50:46ID:m5e5wCkg>872
>873
皆様、ありがとうございます!!どの方法でも出来ました!!
本当に感謝しています!これで、次のステップに進めます。
本当にありがとうございました!!
0875nobodyさん
05/01/06 00:03:07ID:+ptIYsD6<?php
$a = "PHP+MYSQL<br>";
$b = "マスターしよう";
print "<br>" . $a . $b . "<br>";
$c = "<font color ='#003366">";
$c .= $a . $b;
$c .="</font>";
print $c;
?>
宜しくお願いします。
0877nobodyさん
05/01/06 00:10:41ID:???エラーが表示された行でPHPの中の人が構文間違いに気づいたということなので、
それより上の行をじっくり見ていくとよい。
show_source('そのPHPファイル"); を使うとソースが色分けされて
PHPの中の人がどういう風にソースファイルを見ているか分かるので
parse errorなんかは比較的発見しやすい。
0878nobodyさん
05/01/06 01:34:26ID:+wNs3Qbo検索したんですが、Perlとかぐらいしかありません…。
0880nobodyさん
05/01/06 09:35:54ID:fZiVCIKI=>
ってどう読んでる?
0881nobodyさん
05/01/06 11:22:10ID:???というか、あまり呼ぶ機会がない。
0882nobodyさん
05/01/06 13:16:54ID:???0883nobodyさん
05/01/06 13:17:02ID:???逆にASCIIコードから文字を表示させるにはどうしたらいいですか?
0884nobodyさん
05/01/06 14:32:22ID:???0885nobodyさん
05/01/06 14:34:33ID:???chr()
0887nobodyさん
05/01/06 15:16:42ID:???たばこ買いにサアンクス行って来ようっと。
0888nobodyさん
05/01/06 17:25:22ID:d7KRc6M6class A extends Bとする方法以外で
class A{
???関数('B');
}
などとして子クラスに追加する関数はあるのでしょうか?。
class B{
}
class A extends B{
}
0890888
05/01/06 17:55:18ID:???エラーになるという記事を見つけて(^^)!納得しました。
お騒がせしましたm(_)m。
ありがとう^^ > 889
0892nobodyさん
05/01/06 19:36:06ID:???と表示されてしまうのですが、どうしてでしょう^^;
以下の設定だけでは動作しなくなりました?
WIN2K+Apache2+PHP4.3.10
[php.ini]
extension_dir = "C:/PHP/extensions"
extension=php_mbstring.dll
0893初心者です。
05/01/06 19:44:32ID:+ptIYsD6入力フォームから入力
<form method="POST" action="b.php">
名前<br>
<input type="text" NAME="name"><br>
<input type="submit" value="送信"></form>
↓
txtに保存して。(これがないと消えてしまうので)
↓
a.phpに表示
したいんですけどどのようにソースを書けばよいでしょうか?
暇な方で誰か書いていただけませんか?
どうぞ宜しくお願いします。
0894nobodyさん
05/01/06 19:52:00ID:???[b.php]
$fp = fopen('./name.dat','w');
fwrite($fp,$_POST['name'])
fclose($fp);
[a.php]
$fp = fopen('./name.dat','r');
$name fread($fp,filesize('./name.dat'))
fclose($fp);
0895nobodyさん
05/01/06 19:53:23ID:???エラー無視の適当書き
[b.php]
$fp = fopen('./name.dat','w');
fwrite($fp,$_POST['name'])
fclose($fp);
[a.php]
$fp = fopen('./name.dat','r');
$name = fread($fp,filesize('./name.dat'))
fclose($fp);
echo $name;
0896初心者
05/01/06 20:27:02ID:+ptIYsD6しかし何故だかエラーになってしまいます。
Parse error: parse error, unexpected T_STRING in
何故なのでしょうか。
宜しくおねがいします。
0897nobodyさん
05/01/06 20:29:58ID:???$name = fread($fp,filesize('./name.dat')); ←
0898初心者
05/01/06 20:39:41ID:+ptIYsD6すいません私がちゃんと見てなかったです。
nobodyさん本当にありがとうございます!
0899初心者
05/01/06 20:55:33ID:+ptIYsD6項目を増やしたいのですがどうすればよいでしょうか。
echo $name."<br>".$tosi;にすればよいのでしょうか。
宜しくお願いします。
0900nobodyさん
05/01/06 21:28:25ID:???食事作り&食べるのでしばらく不在になります
[b.php]
$dat = join("\t",array($_POST['name'],$_POST['name']));
$fp = fopen('./name.dat','w');
fwrite($fp,$dat);
fclose($fp);
[a.php]
$fp = fopen('./name.dat','r');
$dat = fread($fp,filesize('./name.dat'));
fclose($fp);
list ($name,$toshi) = preg_split("\t",$dat);
echo $name.'<br>'.$toshi;
0901nobodyさん
05/01/06 21:29:20ID:???↓
$dat = join("\t",array($_POST['name'],$_POST['toshi']));
でしたね^^;
0902初心者
05/01/06 21:50:52ID:+ptIYsD6わざわざありがとうございました!
0903初心者
05/01/06 21:58:42ID:+ptIYsD6[a.php]
$fp = fopen('./name.dat','r');
$dat = fread($fp,filesize('./name.dat'));
fclose($fp);
list ($name,$toshi) = preg_split("\t",$dat);
echo $name.'<br>'.$toshi;
どなたか見てもらえますか。
宜しくお願いします。
0904nobodyさん
05/01/06 22:03:51ID:???ってか、エラーメッセージ読めばどこがおかしいか見当つくだろが
甘えんのも大概にしやがれ
0905???S?O`
05/01/06 22:37:05ID:+ptIYsD6すいません。そんな言い方しないでください。
相手は人間なので。
Warning: Empty regular expression in
というエラーがどうしてもおきてしまいます。
宜しくお願いします。
0907nobodyさん
05/01/06 22:51:04ID:???0908nobodyさん
05/01/06 22:56:52ID:???Warning: Empty regular expression in の後にもエラーメッセージは続いてるだろ?
そこには、line **と、エラーが発生した近辺の行番号が書かれているはず。
なぜ、そこを書かない?
我々はエスパーではない。
自分の状況を誰にでも正確に伝わるように心がけることから、
質疑応答は始まる。
「人間」ならばコミュニケーションの基本から勉強したほうが良い。
ってか、これは新手の釣りか?釣りなのか?釣られたのか?
0909nobodyさん
05/01/06 23:01:12ID:???0910nobodyさん
05/01/06 23:04:01ID:???>907見てみろよ!
こいつは詳しく書きすぎなんじゃないの?
こんなの見たら超初心者でも簡単に理解できちゃうよ!!
こりゃ>905をやさしくしすぎなんじゃないのか?
…あっ!すまねぇ!人間じゃないんだったな。
人外の言葉は分からないから勘弁してくれ。
0911nobodyさん
05/01/06 23:25:08ID:???↓
list ($name,$toshi) = preg_split("/\t/",$dat);
寝るw
0912nobodyさん
05/01/07 00:40:46ID:M7BJ/Yco0913nobodyさん
05/01/07 03:17:51ID:???最近MySQLとPHPの連携ばかりやっていたので
ファイル操作のほうを結構忘れがちでした。
久しぶりにやってみようと思って
DB使わずにアクセスログを作ろうとしていたのですが。
日毎に自動でファイルを作成しようと思いソースを書いてみたのですが
<?
#アクセス時間を取得
$time=time()-60*10;
$now=date("Y/m/d H:i:s",$time);
#ログ保存ファイル
$today=ereg_replace("/","",$now);
$today=substr($today,0,8);
$filename="/log/".$today.".txt";
$file=fopen($filename,"a"); //28行目に当たる
?>
Warning: fopen(/log/20050107.txt) [function.fopen]:
failed to open stream: No such file or directory in /home/masami/www/htdocs/realtime/accget.php on line 28
と言うエラーが出てしまいます。
どなたか対処方がわかればご教授お願いします。
0914nobodyさん
05/01/07 03:24:12ID:???× $filename="/log/".$today.".txt";
○ $filename="./log/".$today.".txt";
0915nobodyさん
05/01/07 03:28:16ID:???書き込みを読む前に
$filename="../log/".$today.".txt";
上記に変更してみたのですが、無理でした。
fopenのマニュアルを見る限り
モードaは
書き出し用のみでオープンします。
ファイルポインタをファイルの 終端に置きます。
ファイルが存在しない場合には、作成を試みます。
上記のように書いてあります。
それなのにファイルが作成されなくて困っております。
0916nobodyさん
05/01/07 03:36:51ID:???自己解決しました。
ファイル保存のパスが間違っていただけでした。
0917nobodyさん
05/01/07 04:31:05ID:UoL6X1bK繰り返すうちになぜかセッションIDが空のものしか登録されなくなります。
ここで新たにIEなんかを起動させて、同じ動作を行っても
正しくセッションIDが作成されます。
タブブラウザであることが関連あるのか思いますが、
解決方法はないか誰かご教授ください
0919nobodyさん
05/01/07 07:44:23ID:???>>900のpreg_splitはexplodeでいいし
>>913のereg_replaceはstr_replaceでいい
サーバにもやさしいと思うけど
0920nobodyさん
05/01/07 09:49:07ID:???str_replace はバイナリフリーじゃないので
日本語の置換で化ける時があるから ereg_replace が安全
0921nobodyさん
05/01/07 10:55:36ID:???//ereg_replace("/","",$now);
で良い様な
0922百済無
05/01/07 12:01:52ID:???APACHE+PHP>WinXPに入れたんだけど、
switch ($a) {
case 1:
case 2:
print "<P>case1</P>\n";
break;
case 3:
print "<P>case2</P>\n";
break;
default:
print "<P>case else</P>\n";
}
と記載して、test.phpとして
http://localhost/test.php?a=2
実行しても、『case else』が表示されてしまいます。
レンタルサーバーにアップして実行すると、
『case1』と表示されます。
どうすればうまく動作するのでしょうか?
0923nobodyさん
05/01/07 12:29:06ID:???$_REQUEST['a'] もしくは $_GET['a']
0924nobodyさん
05/01/07 12:29:22ID:???$_GETを使う
php.iniの設定によるけど、922の自宅PCだと$aには自動で入らない設定なんだと思う
$_GET['a']をつかって書く事をお勧めします
0925& ◆b1oxADppeU
05/01/07 13:23:38ID:???0926nobodyさん
05/01/07 14:00:18ID:6POw/25B他の部分で使った場合は文字化けしてないのですが
if(mb_ereg("[^0-9A-Za-z]",$in_pass,$result)){
err_message("パスワードは半角英数字で");
}
というところで 「は半角英数字で」 が文字化けします。
パスワードという文字は何故か文字化けせず、
開かれたページをメモ帳でソースを見ると普通EUCなので文字化けするはずが
その部分だけしておりません。
どのような原因が考えられるでしょうか?
よろしくお願いします。
0929nobodyさん
05/01/07 14:22:10ID:7s26NJ24なんか気持ち悪いなぁ。書く時は楽だろうけど後々困りそう。
PHPってこれから覚える価値あるの?
0931nobodyさん
05/01/07 14:24:24ID:???じゃあ、ブラウザが勘違いしてSJISで読んでるんじゃね?
EUCで再読込してみたら?
で、逝けたらheaderで文字コード投げてやれば桶なはず
>>929
変数の宣言はしたければしてもいいよ、と。
0932nobodyさん
05/01/07 14:29:42ID:???表示はできましたが他のエラーが山ほどでてしまいました。
>>931
ブラウザはEUCで読んでいます
Shift-jisにするとソコの部分だけちゃんと表示されます。
headerで文字コードは投げてあります。
0933nobodyさん
05/01/07 14:39:48ID:???どうやら、漏れではお手上げのようだ。
まあ、ないとは思うけど以下の点も確認するといいかも
-「パスワードは半角英数字で」の部分だけ何故かSJISになっている
-headerで投げる文字コードの記述が間違っている
0934nobodyさん
05/01/07 14:45:01ID:???err_messageってのが何やる関数なのか知らないけど、
関係しているスクリプト(テンプレート使ってるならそのファイルも)の
文字コードを全部チェックしてみた?
0935nobodyさん
05/01/07 14:47:59ID:???こういうコトってあるんですか?
エディタで名前をつけて保存でEUCで上書きしてみたのですが直りません。
他の部分では問題ないのでheaderの記述やphpファイルの文字コードエラーではないと思います。
0936nobodyさん
05/01/07 15:12:33ID:???なんかしょっちゅう文字化けが…( ´Д`)=3
0937nobodyさん
05/01/07 15:17:17ID:???0938nobodyさん
05/01/07 15:19:49ID:???DWは文字コードSJIS以外の編集はオススメ出来ない。
判定機能が弱いらしい。2バイト文字をいっぱい入れればEUCでもちゃんと表示してくれるけど。
もしかしたら「美乳」とか入れると文字化けしないかもかもかも。
0939nobodyさん
05/01/07 15:22:55ID:???この奇妙な文字化けがなければ結構好きなソフトなのになぁ…
0941nobodyさん
05/01/07 15:37:37ID:???★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0942nobodyさん
05/01/07 17:57:35ID:???Warning: Division by zero in C:\Apache2\htdocs以下プログラムのアドレス on line 94
ってエラーが出るんですけど
Warning: Division by zero のエラーとは、どういう意味なのでしょうか?
0943nobodyさん
05/01/07 18:07:16ID:???0944nobodyさん
05/01/07 22:51:33ID:???0946nobodyさん
05/01/08 00:07:11ID:???> <img src="status.php">
で画像ファイルを呼び出せると言われたのですが
imgタグの中に直接phpファイルを記述して画像を呼び出すことは
できるのでしょうか?
"status.php"の中身はどう記述すれば
<img src="status.php">
で画像ファイルが呼び出されるのでしょうか?
0947nobodyさん
05/01/08 00:18:33ID:pNFfcF90これを継承した子クラスでコンストラクタを作ると親クラスのコンストラクタで入れてる初期値が入らなくなってしまう。
PHP/4.3.2だからフィールドに初期値は入れられません。
そうなると継承した各子クラスで同じ初期値を入れる処理を書かなくてはいけません。
こういう時ってどうしたらいいんですか?
グローバル変数を使えばいいんでしょうか?
どなたか良い方法お願いします。
class oya{
var $a;
function oya(){
$this->a = "hage";
}
function message(){
print "message is " . $this->a;
}
}
class ko extends oya{
function ko(){
$this->a = "hage";
}
function message(){
print "msg is " . $this->a;
}
}
0948nobodyさん
05/01/08 00:21:28ID:???$img="画像のバイナリコード";
$ext="gif";
header("Content-Type: image/$ext");
echo base64_decode($img);
exit;
0950nobodyさん
05/01/08 00:42:04ID:???ごめん間違った。
$imgにはバイナリ直接じゃなくってbase64でエンコードされた文字列でした。
外部からファイルオープンでもいいよ。
0951946
05/01/08 00:46:02ID:???$img = "picture.png";
$ext = "png";
header("Content-Type: image/$ext");
echo base64_decode($img);
exit;
ですね( ´∀`)?
0952nobodyさん
05/01/08 01:09:31ID:???$imgname="picture.png";
$fh=fopen($imgname,"rb");
$img=fread($fh,filesize($imgname));
fclose($fh);
$ext="png";
header("Content-Type: image/$ext");
echo $img;
exit;
0953946
05/01/08 01:17:14ID:???0954nobodyさん
05/01/08 02:21:05ID:???というエラーが出たのですが、どうすればいいのですか?
ググってもよくわからなくて。。
0955nobodyさん
05/01/08 02:21:06ID:???継承先のクラスで継承元のコンストラクタを
呼ぶしかないんじゃないかなぁ。
class ko extends oya{
function ko(){
parent::oya();
}
}
みたいに。
0956nobodyさん
05/01/08 02:23:12ID:???0957947
05/01/08 02:26:55ID:???やっぱり各子クラス内でどうにかしないといけないですよね。
しょうがないのでそうするようにします。
どうもありがとうございます。
0958954
05/01/08 03:25:23ID:???ググったら解決しました。。
あるメールフォームなので晒すことは出来ませんです。。
しかし、配信されてくるメールが文字化けする・・・OTL
0959nobodyさん
05/01/08 12:37:13ID:???0960nobodyさん
05/01/08 12:59:56ID:???<form action="./form.php" method="post">
<input type="text" name="test" size="30">
<input type="submit" value="send">
</form>
form.php
<?php
echo $test;
?>
という二つのファイルを用意してフォームからデータを送っても何も表示されません。
empty($test)で確認したところ1が返ってきます。
インストールしたばかりのredhat7.3+apache1.3.22+php-4.1.2で行ってます
初歩的な質問ですが、自分では解決方法が得られなかった為よろしくおねがいします。
レス数が950を超えています。1000を超えると書き込みができなくなります。