のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,831人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 130

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    201 : nobodyさん - 2013/10/08(火) 10:30:20.55 ID:??? (-9,-30,-56)
    $isExistPersonalName = isset($_POST["personal_name"]);
    なら条件判別用に使うbooleanでいいが、値取得ならnullまたは空文字が妥当でしょ
    202 : nobodyさん - 2013/10/08(火) 11:04:47.07 ID:??? (+10,-26,-14)
    >>199
    なんでfalse? よくわからない
    203 : nobodyさん - 2013/10/08(火) 12:19:26.92 ID:??? (+52,+29,-1)
    クズクズうるせークズ
    204 : nobodyさん - 2013/10/08(火) 13:16:56.01 ID:xqp9FA+C (+32,+29,-140)
    今PHPでショッピングカート作ってるんですけど、カートに登録する情報の最低条件は
    商品ID,個数,ユーザID くらいだとして、
    ユーザーが会員登録していない・ユーザIDが存在しない状況のときはどうしたら良いんでしょうか
    サイトにアクセスしたときに乱数発生させてクッキーに保存。それをIDとして代用するしかないですか?
    そうするといろんなデバイスでカート情報を共有できなくなるのはあきらめるしかないんでしょうか

    PHP固有の問題の質問じゃなくてすみません
    205 : nobodyさん - 2013/10/08(火) 13:25:26.67 ID:??? (-2,-30,-51)
    if (isset($_POST['a'])) {
     $a = $_POST['a'];
    } else {
     $a = null;
    }

    function aaa($a) {
    206 : nobodyさん - 2013/10/08(火) 13:34:15.73 ID:??? (+39,-29,-104)
    無名関数について調べてたらたまたまisset使用してるコードが書いてたけどそこだとfalseになってんな。
    もっともgetterで変数がセットされてたら返すという利用法で、$_POSTの時とは話が違うけど。
    自分はnull使ったり、1以上の整数値が入ること想定してんなら0とか入れるかもしれないし、
    文字列の場合空文字にする時もあるかな。
    falseでも比較に支障はないけど違和感は感じるね。
    207 : nobodyさん - 2013/10/08(火) 13:34:39.65 ID:??? (+79,+29,-44)
    カートとは別に、ログイン中かどうかを示すセッションあるやろ
    「確定」ボタン押したときログイン中じゃなかったら一旦ログイン画面へ飛ばす
    つまりカートにはユーザIDは不要
    208 : nobodyさん - 2013/10/08(火) 14:11:06.80 ID:xqp9FA+C (+105,+29,-205)
    >>207
    ありがとうございます
    1)カートの内容確認画面の「確定」ボタンを押してログインチェック
    2)ログイン中ならユーザIDを持って決済実行
    3)ログインしてなかったらユーザ登録ページに移動
    って感じでしょうか

    これはカート情報をDBに持たせるのではなくて全部ブラウザのクッキーもしくはセッションに持たせる前提ですか?
    DBに持たせるとしたら、テーブルにユーザごとの固有のフィールド(クッキーまたはセッションに入れた乱数?)を
    持たさなきゃだめですよね。よくあるページ上部の「カート:5商品」とかを実現するには。。
    209 : nobodyさん - 2013/10/08(火) 14:28:08.31 ID:??? (+55,+23,+0)
    >>208
    業者に作ってもらえ乞食
    210 : nobodyさん - 2013/10/08(火) 15:41:58.79 ID:??? (+71,+29,-18)
    >>208
    セッションに、カート丸ごと入れればいいじゃない。
    211 : nobodyさん - 2013/10/08(火) 16:12:37.78 ID:??? (+91,+29,-31)
    >これはカート情報をDBに持たせるのではなくて全部ブラウザのクッキーもしくはセッションに持たせる前提ですか?
    どこに持たせようがやることは同じだと思うのだが
    212 : nobodyさん - 2013/10/08(火) 16:42:12.77 ID:??? (+70,+29,-31)
    >>211
    cookieに持たせる場合とセッションに持たせる場合じゃ、やること違うでしょ
    213 : nobodyさん - 2013/10/08(火) 16:55:27.46 ID:??? (+91,+29,-7)
    いや?情報の読み込ませ方が違うってだけでやることは同じ
    214 : nobodyさん - 2013/10/08(火) 17:03:32.06 ID:??? (+44,+21,+0)
    初心者はレスするな
    215 : nobodyさん - 2013/10/08(火) 17:15:08.67 ID:??? (+70,+29,-31)
    >>213
    > 情報の読み込ませ方が違う
    から、やることが違うって言ってるんだが。
    抽象化されたデータ構造を受け取る設計になっているViewの場合なら、そのViewの処理は同じだろうが。
    216 : nobodyさん - 2013/10/08(火) 17:28:35.52 ID:??? (+94,+29,-32)
    揚げ足取りとかいらないから
    読ませるだけの違いをさも明確な違いだと言わんばかりに主張されても失笑するだけ
    217 : nobodyさん - 2013/10/08(火) 17:34:52.75 ID:??? (+57,+29,-23)
    やることは同じ→処理内容的に同じことをしていく(読んでいじって書いて)
    やることは同じ→使用する関数なんかが違うから同じじゃない
    218 : nobodyさん - 2013/10/08(火) 18:21:41.23 ID:??? (+75,+29,-91)
    >>216
    いや、そもそもcookeiとセッション(あるいはデータベース)では、根本的にデータをクライアント側で
    保持するのか、サーバ側で保持するのかという違いがあるでしょ。

    それを「読ませるだけの違い」っていっちゃうわけ?
    219 : nobodyさん - 2013/10/08(火) 18:27:17.59 ID:??? (+62,+29,-150)
    データをサーバ側から出さない場合とクライアント側に出す場合じゃ、施すセキュリティ対策も変わってきたりするでしょ。
    それに、cookieに保持するのであれば、PHPがいうセッションの期間だけを有効にするのか、あるいはそのセッションを超えて
    (例えば3日とか)保持するとか、そういう設計の違いも出てくるし。
    220 : nobodyさん - 2013/10/08(火) 19:10:24.42 ID:??? (+57,+29,-20)
    話が飛躍しすぎ
    そこまで深い話をしてるわけじゃないのは見ればわかるだろ
    221 : nobodyさん - 2013/10/08(火) 19:48:19.33 ID:??? (+63,+30,-272)
    質問
    DBに持たせるとして、よくあるページ上部の「カート:5商品」とかを実現するには、
    テーブルにユーザごとの固有のフィールド(クッキーまたはセッションに入れた乱数?)を
    持たさなきゃだめですよね?

    答え
    いいえ
    DB+クッキーでセッションを実現する場合は必要ですが(わかってると思うがIPはだめ)
    PHPのセッションを使う場合についてはその限りではありません
    PHPのセッションを使うとサーバ側に固有IDを持つファイルが生成されその中に情報入れていきます
    クライアント側は固有IDと紐つけるためにクッキーを食べさせられます
    DB+クッキーでやろうとしてることを勝手にやってくれる仕組みです
    自前のセッションを構築したいという強いこだわりがないのならPHPのセッションを使いましょう
    ちなみに自前でセッションを構築するのはいろんな意味で危険なのでおすすめしません
    222 : nobodyさん - 2013/10/08(火) 20:19:28.41 ID:??? (+3,-29,-82)
    クライアント側のセッション情報はデフォルトではクッキーだけどhiddenやurlに含ませることもできる
    ベストなのはクッキーだけどね
    ひろみつがクッキー食えないのドコモ茸とかネタでやってたけど
    今はもうその問題も解消されてるのかな?
    227 : nobodyさん - 2013/10/08(火) 21:28:47.28 ID:4t+2own2 (+0,-30,-104)
    73: <link href="http://www.dixe.net/favicon.ico" rel="SHORTCUT ICON" />
    74: <link rel="icon" href="" type="image/gif" >
    75: <link rel="stylesheet" type="text/css" media="all" href="http://www.dixe.net/common.css" />
    228 : nobodyさん - 2013/10/08(火) 21:32:19.80 ID:4t+2own2 (+19,+29,+0)
    あれ、ごめん。なんでもない
    230 : nobodyさん - 2013/10/09(水) 00:02:24.32 ID:??? (+57,+29,-45)
    レビューあるのにコーディング規約ないの?
    規約に反するならちゃんと指摘しないと
    231 : nobodyさん - 2013/10/09(水) 00:07:18.43 ID:??? (+57,+29,-91)
    入れ子禁止くらいはあったと思うがそんな厳密な規約はないっす。
    つうか「三項演算子でエコー、リダイレクト禁止」みたいな規約があったらむしろ決めた人の感覚を疑うw
    232 : nobodyさん - 2013/10/09(水) 00:13:08.49 ID:??? (+57,+29,-21)
    いやいやそんな規約じゃなくて単に可読性落ちるから指摘していいやん
    233 : nobodyさん - 2013/10/09(水) 00:27:00.76 ID:??? (+57,+29,-16)
    指摘したら「PHPでは普通です。見やすいですよね」みたいに言われたからほんとに一般にそうなのか聞きたいんす
    234 : nobodyさん - 2013/10/09(水) 00:59:20.60 ID:3/AePGfa (-20,-30,-189)
    >>223は解決しました。多分別のところが問題でした。>>227-228さん、ありがとうございました。
    それでまた別の質問なんですが

    【OS名】windows7 64bit home
    【PHPのバージョン】PHP/5.4.7
    【連携ソフトウェア】MySQL
    【質問内容】
    以下のコードで文字化けしてしまいます。
    どこが悪いのでしょうか。
    結果はこうなります。
    <?php
    $str=( '<html><body>123abcあいう</body></html>');
    $dom = new DOMDocument();
    $dom->loadHTML($str);
    $xml = $dom->saveXML();
    $xmlmain = simplexml_load_string($xml);
    var_dump( $xmlmain->body);
    ?>
    235 : nobodyさん - 2013/10/09(水) 02:02:20.24 ID:??? (+112,+29,-122)
    じじいの俺も未だ三項演算子にやはり抵抗はあるな。ifelse書く
    javascript内で見かけたらクライアント側に送るデータ少なくしたいんだなとは思うけど

    返値が同じ型や似たような値・処理内容が同じような命名規則の関数の羅列
    の場合だと使うかな?  とか思ったけど、やはり自分基本三項演算子自体を使わないから意見出すのはやはり間違ってるなと思って黙っとく
    236 : nobodyさん - 2013/10/09(水) 04:25:31.97 ID:??? (+7,-29,-65)
    普通ではないけどやってることはif-else文と同じでしょう
    別に驚きはしないけど自分はやらないよ
    三項演算子を使うのは基本変数のセットぐらい>>196
    あれをif-elseでやると$_POST $_GETが多いほど長ったらしくなるからね
    237 : nobodyさん - 2013/10/09(水) 05:00:41.78 ID:??? (-11,-29,-7)
    >>229
    >$isHogeHoge()

    可変関数使ってるの?
    238 : 235 - 2013/10/09(水) 05:06:21.42 ID:??? (+21,-30,-142)
    $isHogeHoge() ? echo 'エラーです' : redirect('/hogehoge/success');
    $isIogeIoge() ? echo 'エラーです' : redirect('/hogehoge/success');
    $isJogeJoge() ? echo 'エラーです' : redirect('/hogehoge/success');
    $isKogeKoge() ? echo 'エラーです' : redirect('/hogehoge/success');
    $isLogeLoge() ? echo 'エラーです' : redirect('/hogehoge/success');
    ・・・

    こんなかんじだったらやる かもしれんnu?
    239 : 235 - 2013/10/09(水) 05:09:24.45 ID:??? (+52,+29,-6)
    いやねえなw
    助長だわなすまね
    240 : nobodyさん - 2013/10/09(水) 05:11:33.01 ID:??? (+52,+29,+0)
    クロージャーかもしれない
    241 : nobodyさん - 2013/10/09(水) 06:48:49.94 ID:??? (+0,-30,-162)
    >>234
    DOMDocument#loadHTML() はHTMLから文字エンコーディングが判別できない場合は
    ASCII互換として処理するみたいだがこれが原因だな
    loadHTML() する前に mb_convert_encoding($html, ''HTML-ENTITIES', '$htmlのエンコーディング'); で
    非ASCII文字を数値文字参照に変換してしまうのが楽そうだ
    242 : nobodyさん - 2013/10/09(水) 12:58:52.60 ID:??? (+35,-19,-38)
    三項演算子 と if 文 を比べてるやつはドシロート
    三項演算子 は 文 じゃなくて 式
    恥ずかしいぞ
    243 : nobodyさん - 2013/10/09(水) 13:15:36.96 ID:??? (+2,-30,-232)
    >>192

    <?
    $personal_name = isset($_POST["personal_name"]) ? $_POST["personal_name"] : NULL;
    $contents = isset($_POST["contents"]) ? $_POST["contents"] : NULL;
    if ($personal_name && $contents) {
     echo "<p>投稿者:{$personal_name}</p>\n";
     echo "<p>内容:</p>\n";
     echo "<p>{$contents}</p>\n";
    }
    244 : nobodyさん - 2013/10/09(水) 15:00:54.87 ID:??? (+48,+20,+0)
    >>242
    自己紹介乙
    245 : nobodyさん - 2013/10/09(水) 15:01:09.70 ID:??? (+3,-30,-261)
    >>243

    <?php
    $personal_name = isset($_POST["personal_name"]) ? $_POST["personal_name"] : NULL;
    $contents = isset($_POST["contents"]) ? $_POST["contents"] : NULL;
    if (trim($personal_name) && trim($contents)) {
     echo
      "<p>投稿者:{$personal_name}</p>\n" .
      "<p>内容:</p>\n" .
      "<p>{$contents}</p>\n";
    }
    246 : nobodyさん - 2013/10/09(水) 15:08:06.66 ID:??? (+91,+29,-17)
    恥ずかしいから終わった話題をぶり返すな
    247 : nobodyさん - 2013/10/09(水) 17:47:19.90 ID:??? (+39,-19,-19)
    >三項演算子 は 文 じゃなくて 式
    この言葉はif文と比べてないと出てこないんだけどwwwww
    248 : nobodyさん - 2013/10/09(水) 18:26:51.67 ID:i4X3kT9V (+63,+29,-42)
    変数の値設定に三項使って長々と書くようならデフォルト設定しておいて
    改めて例外を上書きした方が見やすく問題も起きにくい

    俺は最終段階でわざわざ余計な変数使いたくないような時にしか使わん
    まあphpなんか使うことはないがな
    249 : nobodyさん - 2013/10/09(水) 18:53:45.73 ID:??? (+57,+29,-3)
    >>247
    おまえ白痴だろ?
    250 : nobodyさん - 2013/10/09(水) 18:55:14.36 ID:??? (+70,+29,-9)
    >>246
    恥ずかしいから、まずはとりあえずパンツを履け
    それから一度家の外に出て外気を吸え
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について