freepacketのプロフィール

@freepacket freepacket
ありがとう数20
質問数0
回答数37
ベストアンサー数
6
ベストアンサー率
46%
お礼率
0%

  • 登録日2009/02/25
  • チェックボックスと入力フォームが一致しない

    チェックボックスにチェックを入れた箇所のみ入力フォームがあり、 入力フォームにテキストを入れ、チェックを入れた箇所のみDBにデーターがSETされるような形で作りたいのですが、以下のコードですと、 チェックされた部分にデータは入るのですが、ずれてデータがセットされてしまいます。 チェック如何に関わらず、チェックボックスのデータを上から、チェックしたボックスに順番にデータが入ってしまうような形です。 ループの部分がおかしいのでしょうか? 昨日からいろいろ試しているのですが、うまくいきません、、、 よろしくお願いします。 ★入力前 □ [あああ] □ [いいい] □ [ううう] □ [えええ] □ [おおお] ★データ入力 □ [あああ] ■ [イイイ] □ [ううう] ■ [エエエ] □ [おおお] ★データ反映後 □[あああ] □[あああ] □[ううう] □[イイイ] □[おおお] ソースコードはこのような形になっています。 ■入力フォーム部分 <?php while ($row = mysql_fetch_array($result)) { //登録状態判別 if($row[reg] == 0){ $reg_status = '<span style="color:#ff0000;">未入金</span>'; }elseif($row[reg] == 1){ $reg_status = '<span style="color:#0000ff;">会員</span>'; } $clo_date =$row["clo_date"]; $clo_date2 = str_replace('-', '', $clo_date); echo ' <tr> <td><input type="checkbox" value="'.$row["reg"].','.$row["dispName"].','.$row["userName1"].','.$row["userName2"].','.$row["userID"].','.$row["tel"].','.$row["email"].','.$row["add_date"].','.$row["up_date"].','.$row["clo_date"].','.$row["no"].','.$row["passwordCheck"].'" name="user[chk][]" /></td> <td>'.$reg_status.'</td> <td>'.$row["dispName"].'</td> <td>'.$row["userName1"].''.$row["userName2"].'</td> <td>'.$row["userID"].'<input type="hidden" name="userID[]" value="'.$row["userID"].'" /></td> <td>'.$row["tel"].'</td> <td>'.$row["email"].'<input type="hidden" name="user[email][]" value="'.$row["email"].'" /></td> <td>'.$row["add_date"].'</td> <td>'.$row["up_date"].'</td> <td><input type="text" size="8" value="'.$clo_date2.'" name="user[clo_date][]" /> </tr> '; } ?> ■MYSQL接続データSET部分 $i = 0; foreach($_POST['user']['chk'] as $val){ $clos = $_POST['user']['clo_date'][$i]; //valueの値を配列に分割 $split = explode(",", $val); $sql = "UPDATE user SET reg =1 WHERE userID = '$split[4]'"; $sql2 = "UPDATE user SET clo_date ='$clos' WHERE userID = '$split[4]'"; mysql_query("SET NAMES utf8",$mysql_con); mysql_query($sql,$mysql_con); mysql_query($sql2,$mysql_con); }

    • 締切済み
    • ango_s
    • PHP
    • 回答数2
  • ログイン情報が混ざってしまう

    同じwebサーバーにディレクトリ分けして2つのサイトを運営しようと思っています。 2つのサイトはphpで動いており、プログラム的にはほぼ同じ内容です。 サイトにはログインフォームがありログインして操作を行っています。 タブブラウザ(IE7,やfirefox)を使用して2つのサイトを同時に別タブに開くと上手く動きません。 (ログアウトしてしまったり、Session情報がどちらかのデータに上書きされているような挙動です。) 自分なりに色々調べてみたのですがSessionIDが2つのタブで同じになってしまっていることが分かりました。 (SessionIDは固定値ではなくphpに自動取得させています。なので、ブラウザを一回閉じてから開いた場合はおかしな挙動はしません。) 以下セッションの部分のコードです。 if(isset($_REQUEST['PHPSESSID'])) { session_id($_REQUEST['PHPSESSID']); //Setting the same session id to Forums as in CRM $sid=$_REQUEST['PHPSESSID']; } session_start(); ブラウザを初めて開いた場合、$_REQUEST['PHPSESSID']は空なのですが、session_start();をすると別タブでも最初から$_REQUEST['PHPSESSID']に値が入ってしまっています。(この値が重複しています。) この状況を何とかするにはどうしたらいいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • mentaiko2
    • PHP
    • 回答数1
  • firefoxでfloatの調整の仕方CSS

    CSSで下記(div)のなかにBOXを3つ並べました、 ie6以上では思い通りに表示されるのですがFireFox(バージョン3.5.3)では一番右端にくるBOXが左端のBOXの下に入ってしまいます。 どなたか解決策を教えていただけますでしょうか? ----ソース部分--- <div class="setbox1"> <div id="rent1"><a href="eee.html"><img src="img/trans_rent.gif" width="234" height="69" /></a></div> <div id="rent2"><a href="aaa.html"><img src="img/trans_rent.gif" width="234" height="69" /></a></div> <div id="rent3"><a href="ccc.html"><img src="img/trans_rent.gif" width="234" height="69" /></a></div> </div> ----以下CSS---- .setbox1{ margin-left : 25px; width : 750px; } #rent1{ margin-top : 20px; margin-left : 0px; float : left; width : 234px; } #rent1 a{ background-image : url(img/rent1.gif); display : block; line-height : 0px; background-repeat : no-repeat; width : 234px; height : 69px; } #rent1 a:hover{ background-position : left bottom; } #rent1 img{border-width : 0px 0px 0px 0px; } #rent2{ margin-left : 0px; float : left; margin-right : 22px; padding-left : 22px; width : 234px; margin-top : 20px; } #rent2 a{ background-image : url(img/rent2.gif); display : block; background-repeat : no-repeat; line-height : 0px; width : 234px; height : 69px; } #rent2 a:hover{ background-position : left bottom; } #rent2 img{border-width : 0px 0px 0px 0px; } #rent3{ margin-top : 20px; margin-left : 0px; padding-left : 0px; } #rent3 a{ background-image : url(img/rent3.gif); line-height : 0px; background-repeat : no-repeat; width : 234px; height : 69px; display : block; } #rent3 a:hover{ background-position : left bottom; } #rent3 img{border-width : 0px 0px 0px 0px; }

  • 正規表現について

    PHP5.2.4を使用しています。 1文字以上のアルファベットと数字の組み合わせは許可(含めて) かつ 「ab」は許可しない(含めない) という正規表現はどのように記述すれば良いのでしょうか?(「01ab」「abc」は許可、「ab」は許可しない) 一応自分なりに考えてみたのですが、 $str = "abc"; if (preg_match("/[^(ab)][a-z0-9]+/", $str)) { print "match<br>\n"; } やはり駄目でした・・・

    • ベストアンサー
    • takagoo100
    • PHP
    • 回答数4
  • レイアウトの崩れについて

    先日から初めてHP作りに挑戦しているのですが、<div>の中の<table>の位置がおかしい(tableの位置がdivの下のほうに突き抜けて表示される)ので困っています。 どうすればdivの中にtableがおさまるでしょうか。 (XHTML) <div id="main"> <div class="contents"> <table> <tr> <td id="tdl" rowspan="4">>映像</td> <th>文字</th> <td>文字</td> </tr> <tr> <th>文字</th> <td>文字</td> </tr> <tr> <th>文字</th> <td>文字</td> </tr> <tr> <th>文字</th> <td>文字</td> </tr> </table> </div> </div> <div id="sub"> 内容 </div> (CSS) #main { width: 600px; float: left; } .contents { width: 600px; height: 155px; background-color: #f5f5dc; font-size: 16px; float: left; } table { width: 590px; height: 150px; border-collapse: collapse; table-layout: fixed; border: solid; border-color: #f1f1f1; } th { width: 100px; height: 32px; border-bottom: solid; border-bottom: thin dotted; background-color: #f1f1f1; font-size: 16px; text-align: left; } #tdl { width: 160px; height: 145px; border: none; } td { width: 320px; height: 32px; border-bottom: thin dotted; font-size: 16px; text-align: left; } #sub { width: 150px; height: 145px; background-color: #999; float: right; } 関係あるか分かりませんが、サイト全体の幅は770pxです。 書き方がめちゃくちゃだと思うので、おかしなところも指摘していただけると幸いです。 よろしくお願いします。