私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレくだすれPHP(超初心者用)6
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
問い合わせフォームなのですが、イレギュラーな行為をしようとすると
挙動がおかしくなってしまいます
form.html→[POST]→confirm.html→[SESSION]→complete.html
↓ ↑
[SESSION] [POST]
↓ ↑
rewrite.html
基本的に上のような形で作っていて
基本的な動作には問題がないのですが、
ちょっとイレギュラーな動作として、confirm.htmlで確認した後、complete.htmlへのリンクを押さずに、
(confirm.htmlでは「送信する」と称したcomplete.htmlへのリンクがあります)
アドレス直打ちでform.htmlへ戻り、
form.htmlで再度記入して、記入漏れがあった場合
rewrite.htmlでは記入がある問題のない項目は$_SESSIONで自動的に表示されるのですが、
その$_SESSIONが古いままなのです。
分かりにくいですね・・・すみません。例えばですが、初回の訪問で
form.htmlで名前に「太郎」と記入、メールは未記入、確認submitボタン→
confirm.htmlでは$SESSIONに$POSTを代入、その次にメールが空欄なので自動判定してrewrite.htmlへ飛ばす
rewrite.htmlでは名前の項目に$SESSIONを受け取るので「太郎」と表記、そしてメール項目は空欄で、
メール項目の上にメールが未記入ですと表記する。
メールを「123@abc.com」とrewrite.html画面で記入して確認submitボタン→
confirm.htmlでは今度は未記入項目がないので、「問題なければ送信(complete.htmlへのリンク)」をechoで表示、
そして本来ならここで、送信をクリックしてcomplete.htmlへ行くところを・・・・・
クリックせずに、form.htmlと直打ちして最初のフォーム画面に戻る、
そこで今度は名前の項目には「花子」と入れ、メールを空欄のまま確認submitボタン→
confirm.htmlがメールが空欄なので自動判定してrewrite.htmlへ飛ばす
すると何故か、名前欄、メール欄ともに先ほどの「太郎」と「123@abc.com」が表示されてしまうのです。
本来なら、ここでは名前欄に「花子」、メール欄は空欄でメールが未記入です警告がでるはずだと思うのですが・・・。
挙動がおかしくなってしまいます
form.html→[POST]→confirm.html→[SESSION]→complete.html
↓ ↑
[SESSION] [POST]
↓ ↑
rewrite.html
基本的に上のような形で作っていて
基本的な動作には問題がないのですが、
ちょっとイレギュラーな動作として、confirm.htmlで確認した後、complete.htmlへのリンクを押さずに、
(confirm.htmlでは「送信する」と称したcomplete.htmlへのリンクがあります)
アドレス直打ちでform.htmlへ戻り、
form.htmlで再度記入して、記入漏れがあった場合
rewrite.htmlでは記入がある問題のない項目は$_SESSIONで自動的に表示されるのですが、
その$_SESSIONが古いままなのです。
分かりにくいですね・・・すみません。例えばですが、初回の訪問で
form.htmlで名前に「太郎」と記入、メールは未記入、確認submitボタン→
confirm.htmlでは$SESSIONに$POSTを代入、その次にメールが空欄なので自動判定してrewrite.htmlへ飛ばす
rewrite.htmlでは名前の項目に$SESSIONを受け取るので「太郎」と表記、そしてメール項目は空欄で、
メール項目の上にメールが未記入ですと表記する。
メールを「123@abc.com」とrewrite.html画面で記入して確認submitボタン→
confirm.htmlでは今度は未記入項目がないので、「問題なければ送信(complete.htmlへのリンク)」をechoで表示、
そして本来ならここで、送信をクリックしてcomplete.htmlへ行くところを・・・・・
クリックせずに、form.htmlと直打ちして最初のフォーム画面に戻る、
そこで今度は名前の項目には「花子」と入れ、メールを空欄のまま確認submitボタン→
confirm.htmlがメールが空欄なので自動判定してrewrite.htmlへ飛ばす
すると何故か、名前欄、メール欄ともに先ほどの「太郎」と「123@abc.com」が表示されてしまうのです。
本来なら、ここでは名前欄に「花子」、メール欄は空欄でメールが未記入です警告がでるはずだと思うのですが・・・。
すいません、長文ですが、もう少しあります。
それでsessionを破棄していないせいかと思い、form.htmlの最初に
session_start();
$_SESSION=array();
session_destroy();
を付け加えてやったのですが、挙動はかわりません。
クッキーやキャッシュのせいかと思って
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-42000, '/');}
や
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
もform.html追加したのですが、相変わらずです・・・・。
原因はどこだと思われますか?
それでsessionを破棄していないせいかと思い、form.htmlの最初に
session_start();
$_SESSION=array();
session_destroy();
を付け加えてやったのですが、挙動はかわりません。
クッキーやキャッシュのせいかと思って
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-42000, '/');}
や
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
もform.html追加したのですが、相変わらずです・・・・。
原因はどこだと思われますか?
>>251
フォームのデザインパターンがぐたぐた。
もっと参考書見た方がいいよ。
文章わかりずらいす。
ちゃんと読んでないけど、セッションの代入で失敗してるでしょ。
セッションに値が入ってるか一行ずつ確認してみ。
フォームのデザインパターンがぐたぐた。
もっと参考書見た方がいいよ。
文章わかりずらいす。
ちゃんと読んでないけど、セッションの代入で失敗してるでしょ。
セッションに値が入ってるか一行ずつ確認してみ。
>>254
array_count_values
array_count_values
>>255
レスありがとうございます。
わかりずらくてすみません。
あれからずっと検証してたのですが、
どうやら未入力があった場合にheader(location)で
再入力ページに飛ばしてたのですが、
手動でリンククリック移動にすれば問題なく動作しましたので
header(location)で飛ばす時にsessionが切れてしまうっぽい感じです。
sessionの保存先など再検証してみます。
セッションはheader(location)でページ移動さえしなければ
全てのページで問題なく想定したものがechoで表示できましたので、
代入は問題ないかと思います。
ありがとうございます。
レスありがとうございます。
わかりずらくてすみません。
あれからずっと検証してたのですが、
どうやら未入力があった場合にheader(location)で
再入力ページに飛ばしてたのですが、
手動でリンククリック移動にすれば問題なく動作しましたので
header(location)で飛ばす時にsessionが切れてしまうっぽい感じです。
sessionの保存先など再検証してみます。
セッションはheader(location)でページ移動さえしなければ
全てのページで問題なく想定したものがechoで表示できましたので、
代入は問題ないかと思います。
ありがとうございます。
headerで飛ばすときにSIDを入れたらどうなんの?
っつかSID発行されてる?
っつかSID発行されてる?
headerで飛ばすのはフォームのパターンですので、
関係ありません。
session_Startちゃんとしてますか?
関係ありません。
session_Startちゃんとしてますか?
>>259
>>260
ありがとうございます。
SIDはについてはまだ検証してませんが
(というかSIDをまだよく理解してないので、勉強します。すみません。)
初心者的な見解ですが、どうやらこれが原因っぽい所にいきつきました。
やはり自分の単純ミスだと思います。
ご指摘の通りheader自体が悪さしてるわけでもないですよね、誤解をあたえるような
記述になってしまいましてすみませんでした。
どうやら自分のheaderの書き方に問題があるんだと思います。
header("location: ******")の****のところを
絶対パスを記入していたのですが(http://www.abc.com/rewrite.htmlのように)
手打ちでform.htmlに戻る時に、アドレスがhtttp://abc.com/form.htmlのようにwwwが抜けていたので
サーバアドレスが変わったと認識されてsessionが切れていたのだでしょうか・・・?
これを相対パスで記述した所、全ての動作が想定したものになりました。
お騒がせしてすみませんでした。ありがとうございました。
ちなみに・・・header("location:")は絶対パスで書くべき、いや相対パスでいい、いやどちらでもなく
完全な形のURL(?)で書かないといけない、と色々情報を見つけたのですが
正式なlocationヘッダの記述の仕方とかあるのでしょうか?
というか、書き方もめちゃくちゃで知識もグダグダだと思うので
色々長文書いてしまいすみません。色々と勉強して出直してきます。失礼しました。
>>260
ありがとうございます。
SIDはについてはまだ検証してませんが
(というかSIDをまだよく理解してないので、勉強します。すみません。)
初心者的な見解ですが、どうやらこれが原因っぽい所にいきつきました。
やはり自分の単純ミスだと思います。
ご指摘の通りheader自体が悪さしてるわけでもないですよね、誤解をあたえるような
記述になってしまいましてすみませんでした。
どうやら自分のheaderの書き方に問題があるんだと思います。
header("location: ******")の****のところを
絶対パスを記入していたのですが(http://www.abc.com/rewrite.htmlのように)
手打ちでform.htmlに戻る時に、アドレスがhtttp://abc.com/form.htmlのようにwwwが抜けていたので
サーバアドレスが変わったと認識されてsessionが切れていたのだでしょうか・・・?
これを相対パスで記述した所、全ての動作が想定したものになりました。
お騒がせしてすみませんでした。ありがとうございました。
ちなみに・・・header("location:")は絶対パスで書くべき、いや相対パスでいい、いやどちらでもなく
完全な形のURL(?)で書かないといけない、と色々情報を見つけたのですが
正式なlocationヘッダの記述の仕方とかあるのでしょうか?
というか、書き方もめちゃくちゃで知識もグダグダだと思うので
色々長文書いてしまいすみません。色々と勉強して出直してきます。失礼しました。
ロリポップで借りてWordpressを設置できました
トップページのHTML内の一部分にWordpressから最新記事2件を全文表示で
載せたいのですが、Wordpressの最新記事の呼び出し方が分かりません
>>224の<?php include_once('blog_reader.php'); ?>でも()内が分からず、
他、調べて出てきたものを試してみてもできませんでした
教えてください、お願いします
トップページのHTML内の一部分にWordpressから最新記事2件を全文表示で
載せたいのですが、Wordpressの最新記事の呼び出し方が分かりません
>>224の<?php include_once('blog_reader.php'); ?>でも()内が分からず、
他、調べて出てきたものを試してみてもできませんでした
教えてください、お願いします
WordPress (ワードプレス) その12
http://pc11.2ch.net/test/read.cgi/blog/1237205315/
http://pc11.2ch.net/test/read.cgi/blog/1237205315/
>>262
なんつーか全力で遠回りするタイプの人だなぁ
なんつーか全力で遠回りするタイプの人だなぁ
>>268
あります
でも俺の技術力じゃどうにもできません
今は、
WordPressループを挿入?トップページを静的ページに?
テーマ変更?ページテンプレート使用?
どれがいいか向こうで聞いてます
やっぱり本当は自分でデザインしたHTML内部に埋め込みたいなあ
あります
でも俺の技術力じゃどうにもできません
今は、
WordPressループを挿入?トップページを静的ページに?
テーマ変更?ページテンプレート使用?
どれがいいか向こうで聞いてます
やっぱり本当は自分でデザインしたHTML内部に埋め込みたいなあ
技術力がないっていっても、ページの中の一部分にWordpressの記事を埋め込みたいのならRSSがベストじゃないかな。
ググればなんぼでもRSSに関する事が出てくるから調べてみるといいよ。
PEARなんか使えば簡単に使えるから。
PHP5なら最初からRSS関係の関数はあるんでもっと簡単だよ。
配列にRSSで読み込んだ記事が入るんで、普通にそれをprintやechoで出力するだけだし。
ググればなんぼでもRSSに関する事が出てくるから調べてみるといいよ。
PEARなんか使えば簡単に使えるから。
PHP5なら最初からRSS関係の関数はあるんでもっと簡単だよ。
配列にRSSで読み込んだ記事が入るんで、普通にそれをprintやechoで出力するだけだし。
そもそもphpがまったくわかって無いと見たが。
やりたいことのレベルに達するのはかなり苦労しそう。
やりたいことのレベルに達するのはかなり苦労しそう。
DBは普通はUTF-8だよな。
最近はHTMLもUTF-8にしてる。
携帯のサイトはSJISだけどね。
最近はHTMLもUTF-8にしてる。
携帯のサイトはSJISだけどね。
WordPressのソースコード見て疑問に思ったんです。
基本オープンソースのアプリケーションてMVCはっきりしていないですよねって
実際プロの人っていうか、金もらってWebアプリ作られている方は
どんな感じでコーディングなさっているのかなぁって思ったんです。
基本オープンソースのアプリケーションてMVCはっきりしていないですよねって
実際プロの人っていうか、金もらってWebアプリ作られている方は
どんな感じでコーディングなさっているのかなぁって思ったんです。
DBとコードは全てUTF-8。HTML出力は基本UTF-8で、必要な場合はShift_JIS。
>278
プログラミングでは、上のほうのレベルでは金をもらっているかもらっていないかはあまり関係ない。
Linux開発者は基本的に金をもらっていないわけだが、彼らの技術力には疑問の余地はないだろ。
んで、実際だが。
PHP開発の大半はフレームワークに移行しているらしい(ソースは『PHPプロ!』)ので、恐らく大半がMVC。
うちは自社サービスだが、フリーダムすぎて恐らく参考にならない。
同じサービスのはずなのにエンドユーザ側と管理側でフレームワークが違う、とかあったからな。誰か言えよと。
ちなみにWordPressはプラグインなどの拡張性を考えた結果の設計だろう。特殊な例だと思う。
>278
プログラミングでは、上のほうのレベルでは金をもらっているかもらっていないかはあまり関係ない。
Linux開発者は基本的に金をもらっていないわけだが、彼らの技術力には疑問の余地はないだろ。
んで、実際だが。
PHP開発の大半はフレームワークに移行しているらしい(ソースは『PHPプロ!』)ので、恐らく大半がMVC。
うちは自社サービスだが、フリーダムすぎて恐らく参考にならない。
同じサービスのはずなのにエンドユーザ側と管理側でフレームワークが違う、とかあったからな。誰か言えよと。
ちなみにWordPressはプラグインなどの拡張性を考えた結果の設計だろう。特殊な例だと思う。
うちではフレームワーク使ってないなぁ。
フレームワークを使う利点がイマイチわからないんだよね。
設計・開発・管理を全て一人でやってるし・・・。
でもそのうちフレームワークに移行しないといけないな、とは思ってる。
思ってるけど時間がなくてなかなか移行に踏み切れない。
フレームワークを使う利点がイマイチわからないんだよね。
設計・開発・管理を全て一人でやってるし・・・。
でもそのうちフレームワークに移行しないといけないな、とは思ってる。
思ってるけど時間がなくてなかなか移行に踏み切れない。
一人なら別にいいんじゃない?
自分なりのフレームワークもどき出来てきちゃうし。
自分なりのフレームワークもどき出来てきちゃうし。
この自分なりのフレームワークもどきがネックで
色々ごてごて機能追加とか思いついたことくっつけてくと
下位互換が無くなったりして、古いアプリケーションとか放置になるという。
色々ごてごて機能追加とか思いついたことくっつけてくと
下位互換が無くなったりして、古いアプリケーションとか放置になるという。
http://php.dori-mu.net/search.html
これ見て勉強中です。
search.phpのスキルの部分で
$temp_where .= "skill REGEXP '$value' || ";
という部分があるんですが、
これは$temp_where .= "'$skill' REGEXP '$value' || ";
ではないのでしょうか。
なんでskillだけなんでしょうか?
すいません。教えてください。
これ見て勉強中です。
search.phpのスキルの部分で
$temp_where .= "skill REGEXP '$value' || ";
という部分があるんですが、
これは$temp_where .= "'$skill' REGEXP '$value' || ";
ではないのでしょうか。
なんでskillだけなんでしょうか?
すいません。教えてください。
すいません。教えてください。
>>285
foreach($skill as $value) {
$value = addslashes($value);
$temp_where .= "skill REGEXP '$value' || ";
}
の部分が、ナニしてるか理解出来てないみたいだね。
例えば、$skill = array('a', 'b', 'c')の場合
$temp_whereは
skill REGEXP 'a' || skill REGEXP 'b' || skill REGEXP 'c' ||
という文字列になる。
意味は、取得するレコードを、skillの内容がaまたはbまたはcを含む場合のみに絞り込むってこと
skillはテーブルの列のことであり、$skillとは関係ないの
同じskillという文字が入っているから、勘違いしたんだと思うけど
foreach($skill as $value) {
$value = addslashes($value);
$temp_where .= "skill REGEXP '$value' || ";
}
の部分が、ナニしてるか理解出来てないみたいだね。
例えば、$skill = array('a', 'b', 'c')の場合
$temp_whereは
skill REGEXP 'a' || skill REGEXP 'b' || skill REGEXP 'c' ||
という文字列になる。
意味は、取得するレコードを、skillの内容がaまたはbまたはcを含む場合のみに絞り込むってこと
skillはテーブルの列のことであり、$skillとは関係ないの
同じskillという文字が入っているから、勘違いしたんだと思うけど
そのページざっと見てみたがDBの仕組みについてはほとんど触れて無いんだな。
解説も雑だし初心者用としては不向きだと思われ。まだ本買ったほうがいい。
解説も雑だし初心者用としては不向きだと思われ。まだ本買ったほうがいい。
>281
テンプレートエンジンは基本的にはSmarty一本。デザイナーや企画者に無駄な負荷をかけないための措置。
デザイナーが携わらない社内利用モノとかも、面倒という理由でそのままSmartyになってる事が多い。
ビュー層がHTMLではない場合(CSVとかXMLとかJSONとか)は単純なPHPで処理してる場合もある。
テンプレートエンジンは基本的にはSmarty一本。デザイナーや企画者に無駄な負荷をかけないための措置。
デザイナーが携わらない社内利用モノとかも、面倒という理由でそのままSmartyになってる事が多い。
ビュー層がHTMLではない場合(CSVとかXMLとかJSONとか)は単純なPHPで処理してる場合もある。
プログラミング未経験でこれから始めようと思うのですが
おすすめの参考サイトがあれば教えてください。
おすすめの参考サイトがあれば教えてください。
>>293
公式
公式
http://www.php.net/manual/ja/
このサイトは便利でいいよね
このサイトは便利でいいよね
>>298
「2時間目」の講義を希望してるってこと?
「2時間目」の講義を希望してるってこと?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- くだすれPHP(超初心者用)4 (1001) - [97%] - 2008/11/21 17:19 ○
- くだすれPHP(超初心者用)3 (1001) - [97%] - 2008/6/8 6:35 ☆
- くだすれPHP(超初心者用)5 (1001) - [97%] - 2009/3/9 16:02 ○
- さっさとPHP5.0.6出せよ糞Zend (80) - [31%] - 2019/5/9 7:45
トップメニューへ / →のくす牧場書庫について