【PHP】下らねぇ質問はここに書き込みやがれpart10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/25(日) 02:03:45ID:nLUfPXhDここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
0449nobodyさん
2005/10/06(木) 12:04:09ID:???$ID = $nakami[0];
これは無駄というか有害な処理
配列のままの方が扱いやすい
答え
配列のままでarray_map()使う
0450nobodyさん
2005/10/06(木) 12:09:21ID:???while($nakami = @fgetcsv($fp,1000))
{
foreach($nakami as $value)
{
echo mb_convert_kana("K", $value);
}
}
fclose($fp);
0451448
2005/10/06(木) 12:17:39ID:obhW270H早速のレスありがとうございます!
今から実験してみます。もしうまく行かなかったらまた相談させてください。
よろしくお願いします。
0452448
2005/10/06(木) 12:59:37ID:obhW270H450さんのコードでCSVの中身を出力することができました。これすごいです。(自分のは120行くらいあったので...)
ただ、配列の中の特定の値だけをテキストエリアに出力したかったりするのですが、このwhileでforeachな感じでもそういうことってできますかね?
>449
449さんの仰る通り、リファレンスを読んでいたら、array_map()が使えそうな気がしたんですが、どうもうまく扱えませんでした。
CSVをアップしてmb_convert_kanaで成形して、出来れば各項バラバラに出力したいだけなのですが...。
0453nobodyさん
2005/10/06(木) 13:29:06ID:???array_mapを使うとこんな感じかな。今回の場合だと >>450 氏の方法と大して変わらんと思うが。
function kanaconv($value) {
return mb_convert_kana($value, "K");
}
while($nakami = @fgetcsv($fp,1000))
{
$nakami = array_map("kanaconv", $nakami);
foreach($conv as $value)
{
echo $value;
}
}
元々のやりたいことが特定の列だけを変換、出力したいのならこれで充分なはずだけど。
while($nakami = @fgetcsv($fp,1000))
{
$value = mb_convert_kana($nakami[列番号], "K");
echo "<TEXTAREA>$value</TEXTAREA>";
}
0454453
2005/10/06(木) 13:30:27ID:???ごめん間違えた。
foreach($conv as $value)
↓
foreach($nakami as $value)
0455nobodyさん
2005/10/06(木) 13:41:58ID:???$arr_key = array(1,3,5,7,9); // 取り出したい列の番号 0起算
$arr_data = array(1,2,3,4,5,6,7,8,9,10);
foreach($arr_key as $key){
echo $arr_data[$key]; //2,4,6,8,10が出力
}
0456448
2005/10/06(木) 14:28:31ID:obhW270Hすばらしいです!すごい..,。
>453さん
while($nakami = @fgetcsv($fp,1000))
{
$value = mb_convert_kana($nakami[列番号], "K");
echo "<TEXTAREA>$value</TEXTAREA>";
}
これ感動です。すごい手っ取り早い。
実際取り出したい値は1個ではないのですが、その場合は
455さんのパターンでいけばいいですかね。
本当に感謝します。ありがとうございました。
0457nobodyさん
2005/10/06(木) 14:33:30ID:???質問ではなく作成依頼といったほうが良いかもしれません。
話聞いてくれます?
0458nobodyさん
2005/10/06(木) 14:39:36ID:/yy7ybJNフォームにデータを打ち込んで、登録済みかチェックするボタンを押すと、指定のデータが存在するのか調べて
結果を返すといった内容のコードなのですが
一応、コードは丸写しして、test.phpという名前で保存してですね。
後は、MySQLにデータを入れれば準備OKなのかなというところなのですが、どのようにしてMySQLにデータを入れればいいのか
その初期の段階でつまずいていて困ってるんです。
参考書によると
MySQLのデータベース「testdb」のテーブル「t_userid」の項目「id」に問い合わせするようで。
テーブル「t_userid」を作成するSQLは、「登録チェック用テーブル作成SQL」(t_userid.sql)にあります。
とあるので、さっそくt_userid.sqlを付属CD-ROMからコピーしてデスクトップに持ってきて
とりあえず、test.phpと同じ場所に入れればいいのかな。と思いやってみたのですが
Parse error: parse error, unexpected T_VARIABLE in c:\program files\apache group\apache\htdocs\test.php on line 12
こんなエラーが出て。失敗と。
結局、t_userid.sqlの中身を参考にして、自分でMySQLにデータを入力してね。ということなのでしょうか。
一体どのようにt_userid.sqlを料理したらいいのという段階でわからなくて困っているのでどなたか方向でも教えていただけると助かるのですが。
ちなみにt_userid.sqlの中身はこんな感じです。下のスレ番号に書きます。
0459t_userid.sqlの中身です
2005/10/06(木) 14:40:37ID:/yy7ybJNCREATE TABLE t_userid
(
)
0460nobodyさん
2005/10/06(木) 14:42:01ID:???「Webブラウザ"上"で実行できる」なら
JavaアプレットかJavaScript、Jscript、VBScriptの話になると思う。
0461t_userid.sqlの中身です
2005/10/06(木) 14:43:34ID:/yy7ybJN↓が、ないようです。
/*テーブル作成*/
CREATE TABLE t_userid
(
id varchar{10} NOT NULL,
PRIMARY KEY (id)
);
/*データ追加*/
INSERT INTO t_userid(id) VALUES('aaa1111111');
INSERT INTO t_userid(id) VALUES('bbb2222222');
INSERT INTO t_userid(id) VALUES('ccc3333333');
0462nobodyさん
2005/10/06(木) 14:44:09ID:kpXXJeykとりあえず、PHPよりもMySQLについて勉強した方がよいかと思うのですが…。
0463nobodyさん
2005/10/06(木) 14:45:27ID:???>結局、t_userid.sqlの中身を参考にして、自分でMySQLにデータを入力してね。ということなのでしょうか
はい。
何かの本を参考にしているようですし、その本のどこかに解説もあると思いますよ。
0464nobodyさん
2005/10/06(木) 14:48:03ID:???PHPの範疇じゃないので、MySQL絡みを勉強すべし
http://dev.mysql.com/doc/mysql/ja/mysql.html
shell> mysql database < script.sql
無償有償のその他のクライアントツールでもできる。
0465458
2005/10/06(木) 14:53:28ID:/yy7ybJNアドバイスありがとうございます。
なんか良く見たらデータベースの章を見てください。とあるので、そこ読んだらできるかもしれません。
shell> mysql database < script.sql
こういったコマンドを打ってデータベースを作成するってことなんですかね。これがSQL文とかいうやつですかね。
なんか、データベースの章をちらっとみた感じでは。
コマンド打つ以外にも、phpMyAdminとかいう便利なツールもあるようで
それを使えば簡単に作成できるのかな。
ちょっとやってみます。
0468458
2005/10/06(木) 15:43:44ID:/yy7ybJNPHPの参考書をスムーズに終わらせたいところですが
MySQLと連動して使うなんてあたりまえに使う機能だから避けて通れませんもんね。
しょうがないので、MySQLの勉強します。今データベースの章読んでるところです。
>>467
MySQLをいじれるツールっていろいろあるんですね。
とにかく、基礎知識仕入れてからいろいろ試してみようと思います。
0470nobodyさん
2005/10/06(木) 15:56:08ID:???とりあえずMySQLにデータを作成しないとサンプルの実行はできないだろうから、
皆にレスをもらったことを参考に進めればいいんだろけど、最初のカキコの
エラーメッセージは多分MySQLとは関係ないと思われ。
>Parse error: parse error, unexpected T_VARIABLE in c:\program files\apache group\apache\htdocs\test.php on line 12
だから、12行目がPHPの文法としておかしいはず。入力ミスと思うからじっくりと見直してみそ。
ひょっとして本のサンプルが間違っている可能性もあるかもしれんが。。。
0473458
2005/10/06(木) 16:40:38ID:/yy7ybJNよく見直してみたら、PHPスクリプトの末に書く ; を入れ忘れてたことが判明しました。。
直してみましたが、また
Parse error: parse error, unexpected '/' in c:\program files\apache group\apache\htdocs\test.php on line 51
このようなエラーが、また、タイプミスっぽいのですが、ぱっと見た感じ、どこが悪いのかわからなかったので
後で直すか、どうしてもわからなかったらCD-ROMにサンプルコードが入ってるので
それをそのまま移すことによって解決しようかと思います。
データベースの章をさーっと読みましたが、どこにもMySQLにデータを作成する方法という肝心な知りたいことがかかれてませんでした。
しょうがないのでphpMyAdminを解説しているページを読んだら、このツールを使った作成方法が書いてあるので
これを読めばやっとMySQLにデータを作成することができると思われます。
phpMyAdminのフォルダをtest.phpが置かれているところと同じフォルダに入れて
今、config.inc.phpの設定のところに来てるのですが
config.inc.phpをメモ帳で開いてみたところ、おそらく改行部分と思われるところが↑になっており
改行のない一続きの文になっていて、なにがなにやらさっぱりわかりません。
これは文字コードの関係でしょうか。
↑を\nに置換しようかと思ったのですが、↑は↑とは違うようで、置換のフォームのところにコピペしようと思ったのですができませんでした。
どなたかこれを解決するにはどのようにすればいいと思われますでしょうか。
何か特別なことができるアプリで開いたほうがいいのか、文字コード変換するアプリで処理すればいいのか。果たして設定ファイルの
文字コードなんか勝手に変えちゃっていいものなのか。わからず困ってます。
0474nobodyさん
2005/10/06(木) 16:52:53ID:85el6NxV0475nobodyさん
2005/10/06(木) 16:54:55ID:???まずフリーのエディターをダウンロードする(少なくともUTF-8,EUC-JP対応)
phpエディタでも使ってみたら
ttp://phpspot.net/php/phpeditor.html
0476nobodyさん
2005/10/06(木) 17:09:17ID:/yy7ybJN>>474
51行数えてみてみたんですが、/になんの間違いもないように見えるんですよね。
51付近といえば
echo "<tr>";
echo "<td><input type = \"text\" name = \"id\"></td>;
echo "</tr>";
echo "<tr>";
echo "<td><input type = \"submit\" value = \"登録済みか調べる\" name = \"sub1\"></td>";
echo "</tr>";
こんな感じですが、どこが間違ってるのかさっぱりわかりませんでした。/もちゃんとつけるべきところについてるし。
まあ、どうしてもわからない場合は、CD-ROMから丸ごとコピーして動かしてみます。
それでも動かなかったら、本が間違ってるということで。
>>475
さっそくphpeditorダウンして使ってみました。
単純にファイルを開くから、config.inc.phpを開けばいいのかと思ったのですが、phpプロジェクトファイルではありません。
と言われてひらくことすらできず。
まあ、とりあえず、phpeditorのヘルプファイル読んでみます。
それでもできなければUTF-8,EUC-JP対応のエディタ探して開いてみます。
0477nobodyさん
2005/10/06(木) 17:15:55ID:???echo "<td><input type = \"text\" name = \"id\"></td>";
0478nobodyさん
2005/10/06(木) 17:17:39ID:???2行目の末尾の " が漏れてるのが原因だね。
紹介されてた phpeditor など構文チェックしてくれるエディタを使用すると、
この類のエラーはすぐ判る。
他にも構文チェックしてくれるエディタはあるんで、色々と触ってみて
自分が使いやすいと思ったものをチョイスすればいい。
あせらずにゆっくりと。。。
0480458
2005/10/06(木) 18:18:44ID:/yy7ybJNアドバイスありがとうございます。
間違いはないんだけどなあと思ってたのですが、やっぱりタイプミスだったんですね。
よく見たら、片方はちゃんと"ついてるから、よーく見比べたら発見できそうでしたね。
ただ、こんなミスもすぐに発見できるようなエディタ探したほうが効率いいに決まってるので、吟味して選ぼうと思います。
C#とか普通のアプリ作ってても、ミスをすぐ指摘してくれる統合開発環境とかあるのとないのじゃ生産性にえらい差がでますもんね。
phpeditorってそれだけじゃなくてスタンドアロン版とかあるんですね。
そっちダウンしてやってみます。
0481458
2005/10/06(木) 18:29:50ID:/yy7ybJNスタンドアロン版ダウンしまして、さっそく、config.inc.phpを開いたところ、無事改行されて表示されました。
スタンドアロン版は、単純にメモ帳みたいに開くことができるんですね。
これでphpのコードも書いて試用してみます。
どうもありがとうございました。
さっそく、設定変更します。
0482nobodyさん
2005/10/06(木) 18:37:29ID:???HTMLタグは属性の指定に "" を使用するのに、
スクリプト内で文字列を囲むのにも "" を使ってるのが、ミスの一つの要因だと思われ
\n入れたり、変数をパースさせたいんじゃなければ、
こういう時は ' ' を使うのが吉
文字列無いの " をエスケープする手間も省けて一石二鳥だよ
0483458
2005/10/06(木) 21:16:00ID:/yy7ybJNさっそく\"部分を'に変えました。
いちいち\入れるの面倒だなと思ってたので助かります。
これでケアレスミスも防げそうです。
どうもありがとう。
0485458
2005/10/06(木) 21:58:25ID:/yy7ybJNということは、つまり
echo "<td><input type = \"text\" name = \"id\"></td>"; を
echo '<td><input type = "text" name = "id"></td>';
このように書けるってことですね。これでも\"とか書かなくて済むから助かりますね。
どうもたびたびありがとうございます。
0486nobodyさん
2005/10/06(木) 22:02:12ID:???マイシークェル勉強して2ちゃんねる型掲示板つくろっと。
0487nobodyさん
2005/10/06(木) 23:25:40ID:???0488nobodyさん
2005/10/07(金) 00:04:23ID:???0489nobodyさん
2005/10/07(金) 00:05:16ID:???0490nobodyさん
2005/10/07(金) 00:13:54ID:???mysqlの事なのかw
0491nobodyさん
2005/10/07(金) 01:04:04ID:???0492軟式PHP
2005/10/07(金) 01:17:26ID:???0493nobodyさん
2005/10/07(金) 01:31:49ID:???but we don't mind if you pronounce it as “my sequel” or in some other localized way.
まあ、俺も気にしないよ。
0494nobodyさん
2005/10/07(金) 04:15:20ID:???発音されていた. そのためSQLと書くようになった現在でも, 米国ではシークェルと
読まれるのが一般的である.
だそうな。
0495nobodyさん
2005/10/07(金) 04:27:27ID:???0496nobodyさん
2005/10/07(金) 06:13:07ID:???0497nobodyさん
2005/10/07(金) 07:03:53ID:???0498nobodyさん
2005/10/07(金) 08:33:28ID:???0499nobodyさん
2005/10/07(金) 09:05:47ID:???mysplとphpを使った簡単なクイズのサイトを作りたいと考えております
現在、問題ID、問題文、5択なので選択肢5つ、解答とフィールドを作っており
htmlのサイト上でそれらを呼び出し ラジオボランで正確な答えをチェックして
当たりかどうか判別してやる という所まではいけたのですが困った事が起きてしまいました。
現在では1つのページに問題が1問しか表示してないのですが、
一度に何問も表示させ判定したいと考えております。
問題だけをを沢山表示させることは可能なんですが、それぞれの問題に答えをチェックする
ラジオボタンの表示にすごく困っております。
問題文は追加できるようになっており、現在存在する最後のID番号から+1した所に
追加されます。
すごく分かりにくい説明かもしれませんが どなたか分かる方おられましたら
よろしくお願いいたします。
0500nobodyさん
2005/10/07(金) 09:14:06ID:???phpの問題じゃなくてhtmlの問題な
0501nobodyさん
2005/10/07(金) 09:29:10ID:???<?php
if($a = 1){
echo aaaa;
if($b = 1){
include("b.php");
exit;
}
}
else{
include("b.php");
}
b.php
<?php
header("Location:c.php");
このようなスクリプトでa=1のときにはheader aleady sentとなってしまうので
headerを既に送信済みか確認したいのですが、可能でしょうか?
0502nobodyさん
2005/10/07(金) 09:29:22ID:???0504nobodyさん
2005/10/07(金) 09:37:09ID:???お望みの挙動かどうか知らんが、こうすればエラーは出なくなる。
a.php
<?php
if($a = 1){
if($b = 1){
include("b.php");
exit;
}
echo aaaa;
}
else{
include("b.php");
}
0505501
2005/10/07(金) 09:40:05ID:???aaaaを既に表示したか確認したいのです。
すでに表示してる場合はLocationを使わないようb.phpで処理したいです。
Locationを使えるか、使えないかの判別でもいいです。なにか方法はあるでしょうか?
0506499
2005/10/07(金) 10:14:46ID:???返信ありがとうございます
こちらの説明不足で意味を取り違えてしまったようで本当に申し訳ないです
先ほどの質問は忘れてもらって、新たに質問させていただきます。
PHPの中でラジオボタンやラジオボタンの様な答えをチェックでき
その値を違うPHPに渡すという物を設置することは可能でしょうか?
0507nobodyさん
2005/10/07(金) 10:20:57ID:ffDmuEnlfor($i=0;$i<5;$i++){
for($j=0;$j<5;$j++){
$data[$i][$j] = "1";
}
}
とやるしか方法はないのでしょうか?
もっとスマートな方法があったら教えてください。
0508nobodyさん
2005/10/07(金) 10:25:03ID:???http://www.hajimeteno.ne.jp/html32/14/08.html
↑参考になりません?
name=を問題のIDにするとかで区別できると思いますが。
0513nobodyさん
2005/10/07(金) 10:55:53ID:???回答ありがとうございます。
array_fill()のネストでも結局同じくらいの行数になりますし、
厨な私にはforで値を入れていくほうが読みやすいので
結局これでいこうと思っています。
どうもでした。
0514501
2005/10/07(金) 11:08:48ID:???出力バッファを有効にすればエラーは出ないのですが、headerの前に出力があったのか調べる事はできませんか?
0515nobodyさん
2005/10/07(金) 11:24:00ID:???0516506
2005/10/07(金) 11:36:12ID:???URLまでご用意していただき ありがとうございます
しかしそのサイトではPHPの中ではなくHTML文の中にフォームを作って値を渡しているので
参考にはなりませんでした。 せっかく答えていただいたのに申しわけないです。
ご説明がまだまだ不十分でしたね・・・ 今度こそ分かりやすいはず
<?php ?>の中のPHP内部にラジオボタンやラジオボタンの様な答えをチェックでき
その値を違うPHPに渡すという物を設置することは可能でしょうか?
0517nobodyさん
2005/10/07(金) 11:42:27ID:???普通はheader送るタイミングは自分で制御するもんだからなぁ・・・
>>516
相変わらずわけわからん。
「phpの中にラジオボタンの様な答えをチェック」という辺りを
もうちょっとわかりやすく書けないか?
0518nobodyさん
2005/10/07(金) 11:49:57ID:???・PHPはサーバー側で動作
・ラジオボタンの表示、選択はクライアント側で動作
が理解できてるのかな。。。という疑問があるんだけど。
「ラジオボタンの様な答えをチェックでき」のチェック操作を行うのは誰?
人間が行うのなら、上記が理解できていないと思う。
PHPで行うのなら header('Location:xxx.php?checkbox=1');等でいいと思う。
0519516
2005/10/07(金) 11:54:30ID:???う〜ん なかなか言葉で説明するのが難しいですね・・・
>>「phpの中にラジオボタンの様な答えをチェック」という辺りをもうちょっとわかりやすく書けないか?
ラジオボタンです 要は<?php ?>の中にラジオボタンを作成したいのです
現在fromを利用してphpの外で実行した場合は成功しております
while文や変数を利用したラジオボタンを作りたいので、PHPの中に入れて
やりたいのですが 可能でしょうか?
0520501
2005/10/07(金) 11:56:49ID:???出力バッファを使うことにしました。
>>516
508です。
PHPとMYSQLを使って作りたいとのことですが、PHPとMYSQL利用の経験はお持ちでしょうか?
DBから問題を取得→表示
ユーザーからの解答があったら
問題の答案を取得→DBから解答取得→回答正誤判定→結果表示
こんな流れになるのではないかと思いますが、PHPとMYSQLをこれから勉強するなら
HTMLとPHPとMYSQLを使ってデータの出し入れの勉強してみるとよくわかると思いますよ。
0521518
2005/10/07(金) 11:57:42ID:???<?php
echo '<INPUT TYPE="radio" NAME="data" VALUE="1">テスト1';
echo '<INPUT TYPE="radio" NAME="data" VALUE="2">テスト2';
?>
0522501
2005/10/07(金) 11:59:35ID:???<?php
echo '<form action="" method="post">
選択肢1<input type="radio" name="Q1" value="aa">
</form>';
こういうことですか?
0524nobodyさん
2005/10/07(金) 12:00:37ID:???ラジオボタンを表示してcheck.phpに値を送られる
<?php
echo '<form action="check.php" method="post">';
for ($i = 0; $i < 5; $i++) {
echo '<input type="radio" name="q[0]" value="'.$i.'">'.$i;
}
echo '<input type="submit">';
echo '</form>';
?>
0525nobodyさん
2005/10/07(金) 12:11:02ID:???0526nobodyさん
2005/10/07(金) 12:36:14ID:???0527516
2005/10/07(金) 12:46:33ID:???>>521 >>522 >>524さんの言われておるようにやってみたところ
無事に出来ました こちらもprintなどでラジオボタンの所を
くくってやってみていたのですが 出来ませんでした。
シングルでくくらずにダブルコートでくくっておりました・・・
printじゃ出来ないと思って質問してみたのですがptirntで出来たのですね
みなさんどうもありがとうございました
0528nobodyさん
2005/10/07(金) 12:47:15ID:???0529nobodyさん
2005/10/07(金) 12:50:35ID:???0530nobodyさん
2005/10/07(金) 13:51:42ID:DMyUsnXKこれは結局、分断しなければ
echo '<form action = "next.php" method = "post">';
のように書かなければいけないところを、<?php ?>を分断することによって普通に、<form action = "next.php" method = "post">
のように書けるという解釈であってますか。
<body>
<?php
$text1 = @$_POST["text1"];
if(strlen($text1) < 1 or strlen($text1) > 10)
{
?>
<form action = "next.php" method = "post">
<table>
<tr><td><font color = "red">1〜10バイトでお願いします</font><br>
お名前:<input type = "text" name = "text1" value = "<?=$text1?>"</td>
<td><input type = "submit" value = "送信"></td>
</tr>
</table>
</form>
<?php
}
else
{
echo "<p>正しく入力されました:".$text1;
}
?>
</body>
0531nobodyさん
2005/10/07(金) 14:03:31ID:3gINL/Eiそっちの方が負荷がかからないらしいけど実際は俺はシラン。
0532530
2005/10/07(金) 14:07:58ID:DMyUsnXK回答ありがとうございます。
やっぱり、いろんな書き方ができる中のひとつだったんですね。
個人的にはこの方が、HTMLタグそのまんま書き込めるからわかりやすいですね。
PHPスクリプトからHTMLタグを吐き出す場合
echo 使って ""で囲んだり、中の"を\"にしたり、''で囲んだりするのが面倒だなと思ってたので
こんな方法があったなんてうれしいな。
更に、本当に負荷がかからないとすれば、この書き方推奨ですね。
0533nobodyさん
2005/10/07(金) 14:11:29ID:???PHPはもともとhtmlの中に<?php ?>というタグでスクリプトを埋め込めるというふうに作られた
<html>
<body>
<?php 処理 ?>
html タグ
<?php 処理 ?>
html タグ
<?php 処理 ?>
</body>
</html>
0534nobodyさん
2005/10/07(金) 14:14:13ID:???一応、こういう方法もあるということで(負荷はしらん)
if(strlen($text1) < 1 or strlen($text1) > 10)
{
echo <<<EOD
<form action = "next.php" method = "post">
<table>
<tr><td><font color = "red">1〜10バイトでお願いします</font><br>
お名前:<input type = "text" name = "text1" value = "{$text1}" ></td>
<td><input type = "submit" value = "送信"></td>
</tr>
</table>
</form>
EOD;
}
else
{
echo "<p>正しく入力されました:".$x;
}
0535534
2005/10/07(金) 14:15:57ID:???いや〜ん。Ctrl+Xを押したつもりが・・・
echo "<p>正しく入力されました:".$x;
は
echo "<p>正しく入力されました:".$text1;
ね。
0536530
2005/10/07(金) 14:25:08ID:DMyUsnXK>>533
そうか。こんなに柔軟に<?php ?>とHTMLタグを組み合わせられるんですね。
今まで<?php ?>とHTMLタグが、<body>タグの間できれいに分離してるコードしか見たことなかったので
<?php ?>とHTMLタグは、<body>タグの中で分離して書くもんだと思い込んでたものでびっくりしたわけです。
>>534
こんな書き方もあるのか、同じ処理でもいろんな書き方があるもんですね。
こっちの方が、書き方がスマートな感じしますね。
これもPHPスクリプトでHTMLタグ出力するのに、""で囲んだりもいらずにそのままかけますね。
0537nobodyさん
2005/10/07(金) 14:25:16ID:/ul7fY5mPHPを勉強しようと思い、本を買ってきて勉強しているのですが最初の時点で躓いています。
本にあるとおりに、Apache1.3.27とPHP4.2.2をインストールしてハローPHPと表示させようと思ったのですが
ブラウザで見たときに日本語が文字化けしてしまいます。
ブラウザのエンコードで自動選択にすれば問題なく表示はされるのですが、以前表示させたときには文字化けなんてしませんでした。
これは何が悪いのでしょうか?iniファイルの書き換えミスか、そもそもブラウザ側が悪いのでしょうか?
0538nobodyさん
2005/10/07(金) 14:41:49ID:???せっかくプログラミングの世界に入ってきたのですから、「文字化け」という曖昧な説明ではなく、
「〜の文字エンコーディングで出力するつもりが、ブラウザによって〜の文字エンコーディングと解釈されてしまいます。」
のような説明をするようにしましょう。
ブラウザは次の3点に注目して表示に使う文字エンコーディグを決定します。
・HTTPヘッダ Content-Type: text/html; charset=shift_jis
・HTMLヘッダ <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
・html文章内の一部を使って判定
これらの指定が矛盾していた場合等で表示に使う文字エンコーディングが実際のものとちがっていれば、
いわゆる「文字化け」を起こす原因となります。
0539nobodyさん
2005/10/07(金) 15:00:14ID:DMyUsnXK今は、自分のPCでPHPの動く環境を作ってるから、php.iniをいじって設定を変えたりできるけど。
レンタルサーバなんかに置かせてもらう場合、そのサーバのphp.iniっていじることはできないんですよね。
1サーバにつき、1php.iniだと思うのですが合ってるでしょうか。
なので、PHPに、get_magic_quotes_gpc()みたいな、magec_quotes_gpcがONかOFFか調べる関数とかがあるんですよね。
ということはレンタルサーバに自作のPHPで作ったアップローダを置くとすると
アップできるファイルサイズの上限は、そのレンタルサーバのphp.iniの設定に依存するわけですか。
0540nobodyさん
2005/10/07(金) 15:02:48ID:???AddDefaultCharset でも設定してあるんじゃねーの?
つか、PHPの質問じゃねーな。
ほれ、
Apache〜嗜みとして〜 Part3
ttp://pc8.2ch.net/test/read.cgi/php/1043851302/
0544nobodyさん
2005/10/07(金) 15:54:56ID:DMyUsnXKPHPマニュアルの目次見ても、型、変数、定数、演算子、制御構造、関数、クラスとオブジェクトとか、他言語を知ってたら見なくても
いいような内容ばっかりに見えたので、これ1から見ながらやってたら遠回りかなと思っていきなりサンプルコード集買ったんですよね。
PHPを実行できる環境を整える方法から書かれてる書籍の方が便利だし。
PHP独特の書き方とかわかれば、後は他言語で身につけた基礎知識がカバーするだろうと思って。
でもこの際なので知識補完といった意味で目を通しとこうかなとは思います。
まあ、書き方が有料の書籍と違ってわかりにくいから避けてたのですが、書籍で使える知識を身につけてから
PHPマニュアルも補完的に目を通すという読み方にするとPHPマニュアルに書かれた内容もわかりやすいかなとは思います。
0545nobodyさん
2005/10/07(金) 16:18:11ID:???マニュアルのini_set()を見ればわかるけど.htaccessやスクリプト内で変更できるものもある
upload_max_filesizeは変更できないがな
0546nobodyさん
2005/10/07(金) 16:32:44ID:???#!/usr/bin/perl
use LWP 5.7X;
use Encode;
use URI;
my $browser = LWP::UserAgent->new;
my $url = URI->new('http://www.hogehoge.com/cgi-bin/hogehoge.cgi');
$url->query_form(
foo => 'bar' ,
);
my $response = $browser->get($url );
die $url , " Error!", $response->status_line unless $response->is_success;
print $response->content;
0547546
2005/10/07(金) 16:35:32ID:???use Encode; の行は削除してください。
0548539
2005/10/07(金) 16:37:24ID:DMyUsnXKスクリプトから設定ファイルをいじれる関数があるんですね。
でも全部いじれるわけじゃないのですね。
マニュアルみたら、php.iniの設定の一覧が出て、変更の可否の項目を見ればいいのだと思うのですが
PHPマニュアルも便利ですね。
調べてみたら
PHP_INI_ALL、PHP_INI_PERDIRだと、.htaccessで変更可能らしい。
ちなみに
http://www.shigeweb.jp/php/project_p/?section=setup&page=htaccess に書いてる。
upload_max_filesizeを見るとPHP_INI_PERDIRになってるので、.htaccessで設定変更できることになりますよね。
でも変更できないということは、スクリプトから変更できないけど、.htaccessだったらできるということかな。
設定できるできないみたいにはっきりしてるのかと思ったら、この設定はこの方法でできるけど、この設定はこの方法では変更できない
みたいにいろいろあってややこしいですね。
どうも解説ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています