【PHP】くだらねぇ質問はここに書き込みやがれ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/02 00:15:41ID:???0555nobodyさん
04/12/21 18:15:54ID:AvesOqOi0556nobodyさん
04/12/21 18:20:37ID:???0557nobodyさん
04/12/21 18:33:37ID:AvesOqOi別のレンタルサーバからは同じスクリプトで
メール送れてます。
0559nobodyさん
04/12/21 18:54:17ID:???0560nobodyさん
04/12/21 19:10:55ID:AvesOqOi解決しました。
お騒がせしました。
0561500
04/12/21 23:38:53ID:wgtiEewbやはりHTML_QuickFormは使用できないみたいなので
自前で関数を作ることにしました。
連想配列でフィールド名をkeyにして
それにたいしてさらに配列で
データの属性や最大入力値をセットしておいて
検証していこうとかなーと思いました。
↓こんな感じで。
$fields = array( "year"=>array("type"=>"int","length"=>4)・・・)
この場合だと年のフィールドには数値が4桁入るみたいな感じです。
もっと効率のよい方法があればぜひ知恵を拝借したいです。
よろしくお願いします。
0563nobodyさん
04/12/22 14:18:19ID:PAkfsMlB0564nobodyさん
04/12/22 14:36:09ID:0NGp8KFP0569nobodyさん
04/12/22 20:04:50ID:???0571nobodyさん
04/12/22 21:06:12ID:???exec($command,$result,$boolean);
で実行できるのですが、コマンドがエラーを吐いた時にエラー内容を出力
させたいのですが、できるのでしょうか?
マニュアルを見て、googleで検索しましたが出てきませんでした。
よろしくお願いします。
0575nobodyさん
04/12/23 01:41:00ID:???0577571
04/12/23 05:03:15ID:???リダイレクトは、
exec("$command > $redirect");
とかで$redirectに入ってくれるのでしょうか…(今環境なくて試せなくてすみません。)
できないというのと、できるというのはどちらが正しいのでしょうか。
0578nobodyさん
04/12/23 13:26:41ID:???よろしくお願いします
0583nobodyさん
04/12/23 13:36:45ID:???0585nobodyさん
04/12/24 03:29:30ID:???"$command > $redirect"が文字列と解析されてexecに渡されるんだから、
$redirect の値は変化しないよ。プログラミング言語の構文解析を理解しよう。
0586nobodyさん
04/12/24 07:25:48ID:???0587nobodyさん
04/12/24 09:14:28ID:???<?php
$test=1;
include 'sample2.php';
sample($test);
?>
sample2.php
<?php
function sample($data){
global $sample;
$sample = $data;
//echo $sample; ←これは表示される
}
?>
<?php
echo $sample;
?>
sample1.phpで$testの値をsample2.phpに送り
sample2.phpのfunction sample(){}の外から
送られてきたデータを表示させたいのですが、上手く行きません
function内部でグローバル関数にはしているのですが・・・
そもそもこのようなことは可能なのでしょうか?
もし可能でしたらやり方を教えてください
0588nobodyさん
04/12/24 12:44:13ID:???その書き方だと
$test=1;
↓
echo $sample; ←この時点では$sampleに何も入ってない
↓
sample($test); ←ここで$sampleに代入が行われる
って処理順になるから無理
やりたいことが分からんけど、sample()で$sampleをreturnしてそれ拾ったらダメなのか?
0589nobodyさん
04/12/24 12:52:00ID:???globalを勘違いしてるな。
<?php
$hoge = 'fuga';
$hogehoge = 'fugafuga';
function sample($data)
{
global $hoge;
echo $hoge;
echo "\n";
echo $data;
}
sample($hogehoge);
?>
//実行結果
fuga
fugafuga
//ココまで
functionの外で定義されている変数を引数として渡さずに関数に渡す方法としてglobalがある、ということ。
だから、必要もないのにglobalを使うのは控えた方が良い。
ついでに言うとincludeの解釈も何かおかしい。これ以上は面倒くさいので他の人に任せるわ。
0591nobodyさん
04/12/24 13:37:53ID:???アドレスを変数に代入しまくっておいてそれをナビゲーションバーなどの部分にincludeさせるとかでしょうか?
PHPでサイトを管理するってのは良い事(=ラク)なのでしょうか。。。
0592nobodyさん
04/12/24 14:04:44ID:???0593591
04/12/24 14:49:54ID:???すみません。(汗
具体的には全ページにリンクを貼ったり、最新の記事を表示させたり…などのことです。
「サイト構築」の方が正しい言い方でした。。。
0594nobodyさん
04/12/24 15:38:44ID:???出来合いのものではxoopsやphpnukeがそんな機能を持ってるけど、
一からそれらを作ろうとしたり、モジュール(機能クラス)を作るとなるとメンドクサイ。
ソースを公開しているものが多いので「CMS php」で検索してみるといいかも。
0597nobodyさん
04/12/25 15:31:41ID:zT6Tkwqiなにかと面倒なため、別サーバー上のPHPのスクリプトにアクセスすると
対象のページに自動的にログイン処理をするようにしたいのですが、
URLにIDとPASSを追記する方法でやってみたのですがうまくいきませんでした。
どうしたらいいでしょうか?よろしくお願いします。
0599nobodyさん
04/12/25 17:52:29ID:xF7q17T9echo "<pre>";
print_r($hoge);
echo "</pre>";
0600nobodyさん
04/12/26 00:50:51ID:???ほらよ!
function myprint($hoge)
{
echo "<pre>";
print_r($hoge);
echo "</pre>";
}
0601597
04/12/26 03:22:38ID:???説明不足で申し訳ありませんでした。i-mode等、PC以外の端末からアクセスすることもあるため、
IEを使うという選択肢は選べなかったのです。
それと、色々試行錯誤したら自己解決してしまいました・・・。せっかく答えてもらったのに申し訳ないです。
0602HELPです。
04/12/26 06:31:02ID:iF98WIAd$_HTTPからの変数(文字列)は何事も無くデータベースに保存されるのですが。
テーブルのバックアップファイルを作成した後、それらを読み込んで
データベースに格納する際に文字化けしてしまいます。
文字コードの違いだと思うのですがどの様に変換すればちゃんとできるでしょうか?
文字化けの例: ソフト→ャtト
色々調べてSJISの”835c”が”5c”を抜かして認識されている様です(TT)
0603nobodyさん
04/12/26 12:38:51ID:???$test0 = 0;
$test1 = 1;
$test2 = 2;
for($i=0; $i<3; $i++){
echo $test(iの番号);
}
?>
上記のようなプログラムで
for文の中で変数$testの後ろにある番号とiの数を同じものを表示したいんですが
流石に「$test$i」と入れても都合よく「$test0」のようにはなってくれないので
いい打開策はありませんかね?
なんか、わかりにくい文章でスイマセン
0604nobodyさん
04/12/26 12:42:32ID:???$test[0] = 0;
$test[1] = 1;
$test[2] = 2;
for($i=0; $i<3; $i++){
echo $test[$i];
}
?>
0605nobodyさん
04/12/26 12:52:55ID:???for($i=0; $i<3; $i++){
$val = 'test'.$i;
echo $$val;
}
0606nobodyさん
04/12/26 18:22:23ID:???質問内容の殆どが配列で出来る処理ばっかりだけど
>>605
こっちのがスマートじゃね?
for($i=0; $i<3; $i++){
echo ${'test'.$i};
}
0607nobodyさん
04/12/26 18:50:34ID:0Jc5OGQzってエラーが出て何が原因かさっぱり分からないです・・・
<html><body>
<?
mysql_connect(localhost,tanaka,secret);
mysql_select_db(ADDRESS_DB);
mysql_query("insert into
FRIENDS_T2(NAME_C,ADD_C,AGE_C,BLOOD_C)
values('$fullname','$address','$age','$blood')");
$result=mysql_query("select * from FRIENDS_T2");
$rows=mysql_num_rows($result);
if($rows==0){
print "該当のレコードがありません";
}
else{
while($row=mysql_fetch_array($result)){
print $row["NAME_C"];
print " ";
print $row["ADD_C"];
print " ";
print $row["AGE_C"];
print " ";
print $row["BLOOD_C"];
print "<br>";
}
}
?>下記の内容で登録しました<br>お名前:<? echo $fullname; ?><br>ご住所:<? echo $address; ?><br>年齢:<? echo $age; ?><br>血液型:<? echo $blood; ?><br>
<br>登録ありがとうございます<br>
</body></html>
HTMLのフォームを使ったのですが受け取ったはずの名前とかも表示されません分かる方いたらお願いします
0608nobodyさん
04/12/26 19:03:40ID:???接続に成功した場合は正のMySQLリンクID、失敗した場合にFALSEを返し ます
mysql_query()
クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)またはFALSEを返します
フォームからの変数は、register_globals = on にしない限り、$_GETや$_POST。
0609607
04/12/26 19:49:10ID:0Jc5OGQz>フォームからの変数は、register_globals = on にしない限り、$_GETや$_POST。
これやりましたら変数を受け取ることができました
mysql_connect()は接続ができているようです
ただmysql_query()はFALSEを返してきてうまくできていないようです・・
また新しいエラーとして
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Apache Group\Apache2\htdocs\my.php on line 16
と出ています・・
原因分かるようでしたらお願いします
0610nobodyさん
04/12/26 19:58:19ID:Z2KqsJa+$str="/uri/debug/index.html"; と文字列がある時に、/debug/ を
含まれない場合、真にしたいのですがどうすればよいのでしょうか?
(^/debug/) のようにしてもダメでした。^を使ってアンマッチする方法
がどうしてもわかりません。どうか宜しくお願い致します。
0612nobodyさん
04/12/26 21:55:56ID:???どうしたらいいでしょうか?
0613nobodyさん
04/12/26 22:03:27ID:???【PHP】質問スレッドpart26【php】
http://pc5.2ch.net/test/read.cgi/php/1103636095/71,74
0614nobodyさん
04/12/26 22:11:00ID:???mod_mimeモジュールがこの役割を果たす。
ttp://httpd.apache.org/docs-2.0/ja/mod/mod_mime.html
PHPのマニュアルのインストールの項目に書かれている、
AddType application/x-httpd-php .php
ってのは、このmod_mimeの中の設定(ディレクティブ)の1つで、
phpという拡張子の時に特定の動作をさせることを示しているわけだ。
で、こいつの書式を上のURLから参照してみると、
AddType MIME-type extension [extension] ... となっとる。
どこに書けばいいかも書いてあるな。
サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess に書けることになる。
0616nobodyさん
04/12/26 23:42:00ID:???0617612
04/12/27 00:01:19ID:???どうもです(・∀・)!
ということは.htaccessに
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
といった感じに追加していけばいいわけですね?
0618610
04/12/27 00:29:12ID:???なるほど。ありがとうございます。
>>617
AddType application/x-httpd-php .html .htm
な感じで一行にまとめれますよ。
0619612
04/12/27 00:38:04ID:???> AddType application/x-httpd-php .html .htm
> な感じで一行にまとめれますよ。
( ´∀`)ノ
0620nobodyさん
04/12/27 13:56:51ID:???0621nobodyさん
04/12/27 14:27:13ID:???0622620
04/12/27 15:54:17ID:???「もはび」かなぁとも思ったんですが、
なんだか「もじゃび」って書いてあったりもして・・・
0623nobodyさん
04/12/28 08:45:39ID:???タイムスタンプって何だ?ググッてもムズいメーリングリストとかしか出てこないんだが。
0624623
04/12/28 09:03:41ID:???0625nobodyさん
04/12/28 14:01:44ID:NN7ShV+Kリンクがindex以外のページにされている場合に、
強制的にindexに一度飛ばす操作をしたいのですが、
検索のしかたが悪いのかそれらしいものにひっかかれません。
くだらねえ質問誘導頼んます。
0626nobodyさん
04/12/28 14:22:27ID:???変数、定数、変数の参照、式と文、演算子、条件分岐、if文条件分岐、switch文、ループ文while、ループ文for、配列array、変数の受渡し
等を覚えればいいのですか?
これ等を駆使すればどんなスクリプトも作れますか?
0627nobodyさん
04/12/28 14:35:04ID:???全コンテンツがPHPで書かれてるのでなければ、
Apacheなりhttpdのお仕事だな、それ。
あとリファラーのチェックとか、トップのindexで
クッキー食わせてチェックとかにになるんだろうけど、
判断が危うい条件になりそう。
0629nobodyさん
04/12/28 15:56:51ID:64WbgjnWa
b
c
3つのチェックボックスがあって、
チェックを付けたやつだけ、
inputボタンを押した後に表示したいんですが、
どうすればいいでしょうか?
例:aとcにチェックを付けたら、次の画面で、
aとcを表示させる。
あと、perlだと、フォームで同じnameで複数項目入力させても
配列に格納されます?
perlのスクリプトだとどうもそうっぽいので。
phpじゃこれは無理でしょうか?
やってみますたが、むりっぽかったので
0630nobodyさん
04/12/28 16:09:56ID:???http://www.kondo-net.gr.jp/softca/php/
0631nobodyさん
04/12/28 16:12:49ID:???perlは自分で配列に入れないといけない。
hoge=a&hoge=c
PHPはフォームのnameに[]をつける
<input name=hoge[]
0634nobodyさん
04/12/28 16:32:51ID:NN7ShV+Khttp://www.itmedia.co.jp/news/articles/0412/28/news006.html
新種。(((((;゚Д゚)))))
0635nobodyさん
04/12/28 17:05:07ID:???正直突かれるようなスクリプトを未だに書いてるのが…
サニタイズしろって。
参考:http://xoops.sourceforge.jp/wiki/xoops2/index?cmd=read&page=TECH%2FAgenda-X%20%A4%CE%C0%C8%BC%E5%C0%AD%CC%E4%C2%EA
0636nobodyさん
04/12/28 17:53:38ID:???新しいファイルを作成するのって
どのようにすればいいのでしょうか?
mkdirみたいなのねーでしょうか?
0638636
04/12/28 18:16:45ID:???fopenとかだと、パーミッション気にしなきゃならなくて
厳しくないでしょうか?
今、
一時的にchmodでアクセス権限777にして
書き込む方法思いついたのですが、セキュリティ上よろしくない気がしますのでございます
0643nobodyさん
04/12/29 06:58:13ID:???<?php
function query($sql1, $con){
$resultsql1=mysql_query($sql1, $con);
if ($resultsql1==false){
echo ("Perform Query01 failed !!");
exit();
}
return $resultsql1;
}
?>
を
require_once("./lib/query01.php");
という感じで引き出してるのですが、どうやっても
Perform Query01 failed !
が返ってきてしまいます。
(使いまわししてる他のページでは問題なし)
多分くだらない事が原因なんだろうけど、自分じゃ見つけることができません。
間違いがあったら教えてくだしあ…(涙)
0644nobodyさん
04/12/29 07:22:15ID:???どーもこーもmysql_queryがFALSE返してんだろ
PHP通さずにmysqlに同じSQL文投げても通るか確かめた?
0646nobodyさん
04/12/29 09:27:28ID:???データが入っていない場合はimage02が表示されるという
PHPのコードを書きたいと思います。
if($data==""){
<img src="image01">
}else{
<img src="image02">
}
こういう風に記述しているのですが、データが入っても入って無くても
image01が表示されます。どういう記述の仕方をすればいいのでしょうか?
0647646
04/12/29 09:28:25ID:???$dataにデータが入っていない時はimage01が表示され
データが入っている場合はimage02が表示されるという
PHPのコードを書きたいと思います。
0649643
04/12/29 10:53:21ID:???レスthxです!
一応PHP通さずにやってみて通ったのでおかしいと思ったので…
あの後不貞寝して起きて、もう一回見たら
require_once("./lib/connect.php");
require_once("./lib/query01.php"); ←DB接続部分
のはずが
require_once("./lib/query01.php");
require_once("./lib/connect.php");
になってました(汗
ココを訂正&要らないスペース&改行を外したら正常に動作するようになりました。
やっぱり寝ないとダメってことですね…
0650nobodyさん
04/12/29 10:54:32ID:???require_once("./lib/connect.php");
が接続部分ですた。
とりあえずキチンと寝てきます………。
0651nobodyさん
04/12/29 12:44:24ID:???echoは書き忘れということにして
プログラムの通りなら$dataにデータが入っていると思い込んでることが間違いでしょう。
プログラムは書いたとおりにしか動きませんから。
if($data==""){
echo '<img src="image01"> ';
}
でimage01が表示さるなら$dataはゼッタイに空のはずです。
0652nobodyさん
04/12/29 13:15:23ID:???0653nobodyさん
04/12/29 13:30:52ID:61b8nv/Z現在、フォームからファイルアップロードできるページを作成中なのですが、
ファイル名に「可能」という日本語が入っているファイルをアップロードしたら、
ファイル名が消えてしまうという問題に気が付きました。
例えば、「アップ可能.txt」というファイルをアップロードすると、
$_FILES['file']['name'];で取得できるファイル名が「.txt」となって拡張子以外の部分が消えてしまいます。
「アップ可能1.txt」というファイル名だと、「1.txt」となって日本語の部分が消えてしまいます。
「可能」という文字列を使わない日本語ファイル名だと何も問題なく普通に取得できるのですが・・・
おそらくは、エスケープ文字関連だと思われるのですが、
stripslashes(stripcslashes)を使ってエスケープ文字を取り除く処理をしてもファイル名が消えたままです。
また、サーバ側の文字コード(EUC-JP)に変換したり、変換後のファイル名のエスケープ文字を取り除いたりしたのですが、解決しません。
これと同様の問題(「可能」という文字列が入るとおかしくなる)が、
ファイルアップロード時のコメント入力欄でも起きましたが、これは、strpslashes関数で問題解決したように見えます。
この「可能」という文字は、なんなんでしょうか?また、この問題解決の手段を教えていただきたいです。
#補足としまして、「可能」という文字列をEUC-JPにすると「イトヌス」となります。
#コメント欄で問題が出たときに「可能」という文字列を見ると「イトヌス\」となぜか、「\」が入っていました。
#それで、エスケープ文字を取り除く処理をすると、コメント欄ではうまく通りました。
■ このスレッドは過去ログ倉庫に格納されています