• 締切済み

テキストに格納しているデータの編集

大学でPHPを勉強しています。課題は簡易Blog作成でメンバー登録、ログイン、ログアウト、カレンダーはなんとか自分でできました。 問題は、ユーザー登録の編集です。ユーザー情報はテキストファイルに保存されてます。 member.txt yama|1234|yamada|hanako|0123-56-5432 suzu|3412|suzuki|tsutomu|0982-38-1937 左から順にユーザー名、パスワード、苗字、名前、電話番号がユーザー一人に対し1行です。 これらの登録情報を、HTMLのフォームから再編集してmember.txtに上書きをしたいのですが、うまくいきません。 お知恵をいただけないでしょうか。よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 >これらの登録情報を、HTMLのフォームから再編集してmember.txtに上書きをしたいのですが、うまくいきません。 うまくいかないというのはどのようにうまくいかないのでしょうか? 内容を編集しても編集されない。 内容を編集すると新しいレコードが出来てしまう。 エラーが出る。(エラーなら内容) 等々 この辺の情報が無いとなんとも言えません。

papanda01
質問者

補足

Sorry that I am wrtting English. I can't type in Japanese right now. and sorry for inadequate question that I made. >うまくいかないというのはどのようにうまくいかないのでしょうか? 内容を編集すると新しいレコードが出来てしまう

関連するQ&A

  • テキストに格納しているデータの編集

    昨日同じ質問のしたのですが、説明不足だったので書き直ししました。 大学でPHPを勉強しています。ユーザー登録情報の編集のPHPプログラムです。フォームより、登録情報を編集し、テキストファイルに保存されます。 member.txt yama|1234|yamada|hanako|0123-56-5432 suzu|3412|suzuki|tsutomu|0982-38-1937 左から順にユーザー名、パスワード、苗字、名前、電話番号がユーザー一人に対し1行です。 test.php <? $userid=yama; if($userid=yama){ $listf=fopen("./member.txt","r"); $item=fgetcsv($listf,1024,"|"); while (!feof($listf)){ if($userid=$item[0]){ $Ofname=$item[2]; $Ogname=$item[3]; $Ophone=$item[4]; break; } $item=fgetcsv($listf,1024,"|"); } fclose($listf);} if($editPro=="on"){ $listf=fopen("./member.txt","r+"); rewind( $listf ); $data = fgetcsv($listf, 1024, "|"); while (!feof($listf)){ if ($userid==$data[0]){ $new_member="$userid" . "|". "$data[1]"."|". "$fname"."|" ."$gname"."|". "$phone\n"; fwrite($listf,$new_member); break; } $data = fgetcsv($listf, 1024, "|");} fclose($listf);} ?> (フォームの部分も添付をしたかったのですが、行数の関係で入りませんでした。) 上記のプログラムですと、目的のユーザの次のユーザー情報が上書きされてしまいます。編集ボタンをクリックした時に、編集情報を目的ユーザの行に上書きをしたいのですが、どうすればよいのしょうか。よろしくお願いします。

    • 締切済み
    • PHP
  • データの保存、編集、呼び出し

    よろしくお願いします。 現在、VS2005勉強中です。(初挑戦です) ユーザーフォームを作り、数値や文字列を入力して登録ボタンを押すと、その情報はどんな形で登録・編集・呼び出しをするのがベストなのでしょうか? 手元に参考書があるのですが、テキスト形式でCSVで保存する、というものでした。 しかし、私が作りたいのはユーザーが情報を入力すると、それを登録し、それを元に色んな計算をし、表にあらわして印刷をしたいので保存と呼び出しだけではだめなんです。ユーザーが入力を間違えたら訂正(編集)の処理もありますよね。保存したデータを訂正箇所だけ直したい!という処理もしたいです。 参考書にはフォームのプログラミングはたくさんありますが、肝心のデータの保存や訂正・編集の部分が載っておらず、開発されてる方々はどのようにされているのか教えてほしくて投稿しました。参考書を買おうにもどれが良いのかわかりません。 作ろうとしているソフトは、従業員50名くらいの出勤簿と、営業日報(業績)、取引先への請求書等を管理するソフトです。 ご経験者の方、お詳しい方、アドバイスお願いします。

  • 連絡先の編集

    質問させていただきます iphoneを購入しました。 連絡先の編集を使い慣れているパソコンのキーボードで行いたいのですが、情報を一度パソコンに吸い出し、編集してからiphoneに上書きするようなことは出来ますでしょうか? 登録が何百件もありますが、電話番号だけとかアドレスだけで別々に登録されているものがかなり有り、編集作業に手間取っています。 どなたか教えて下さい。 宜しくお願いします

  • 夫婦別姓、子供の苗字について(夫:アメリカ人)

    他に色々トピックがありましたが、はっきりと分からなかったので、こちらでトピを立てました。少し長くなりますが、ご回答頂けると助かります。 アメリカ人の彼と結婚をした際に、苗字は変更をせず、元のままの苗字を名乗る事にしました。彼には、子供には僕の苗字を名乗って欲しいと言われていましたが、後で変更すればいいかなぐらいに思っていました。今の所、まだ子供は出来ていないのですが、アメリカでのsocial securityコードを取得の際に私の名前に彼の苗字を入れようとしています。現在のパスポートのままですと、申請書類にはHanako Yamadaと書かないといけなくなると思います。ちょうどパスポートの書き換え時期も来ているので、山田花子(Smith)と夫の苗字を()で入力してもらおうと思っています。夫が私の名前をsocial securityコードの申請の為に記入しようとしているのは、Hanako Yamada-Smithです。ハイフンで繋げようとしています。これが勝手に公的書類に書き込みが可能かどうかは不明なのですが。。 日本で子供を産んだ場合、私は戸籍の筆頭になっており、日本で結婚しましたので、子供の名前は戸籍に登録されると、山田○○になりますよね。下の名前はまだ決めていないので、漢字で書くのか、カタカナにするのかはまだ分かりませんが、例えば、下の名前も漢字で恵梨香とした場合、山田恵梨香になりますよね。。 将来的に、夫は日本には住みたくないと言っているので、子供が生まれたらアメリカへ移住することになると思うのですが、私の戸籍上の名前はそのまま山田のままにしておきたいのです。日本人の名前を残したいというのと、小さい頃から後を継いで欲しいと言われていた為、苗字を変更するという観念が最初からなく、抵抗がある。ただ、アメリカに住むにあたって、私は公的に使用できる名前に夫の苗字が入っていれば良いと彼に言われましたが、子供は彼の苗字を名乗って欲しいとのこと。。 例えば、私の苗字も子供の苗字も日本の本籍では私の苗字を名乗り、アメリカでは彼の苗字を名乗ることは可能なのでしょうか?他の質問等で、子供が生まれた際に出生届をアメリカに出す時に名前を決めて書くなんて方もいるようなのですが、その際にErika Yamada-Smithと書けば良いのでしょうか? その場合は子供のパスポートはErika Yamada(Smith)という表記になるのですか? それとも、Geven name: Erika、 Sur name:Yamada-Smithになるのでしょうか? 短期で1~数年日本で生活する予定なので、彼の外国人登録証には、Peter Smith(Yamada)と書いてもらおうと思っているので、日本での生活では問題はないかと思うのですが、アメリカへ帰った際には、子供と私の苗字の中には夫の苗字を入れたいと考えています。 下記のようにすることは可能なのでしょうか? 夫:Peter Smith 私:Hanako Yamada-Smith 子供:Erika Yamada-Smith 日本で子供が生まれて戸籍登録する際には、私の苗字が筆頭になっているので、 どちらにしても、山田恵梨香になりますよね? もし、最初から夫の名前に変更したい場合は、子供が生まれる前に家庭裁判所でスミス花子に変更してもらい、子供が生まれて来たら、子供はスミス恵梨香になり、、というようなことをしないとダメかと思うのですが、戸籍上の名前は山田のままで置いておきたいです。 アメリカに帰る時に問題にならないようにする為の方法があればとても助かります。 方法をご存知の方や、同じ方、それ私達もそうです!って方いらっしゃいましたらアドバイスを宜しくお願いします。 アメリカでも公的文書上で私と子供が夫の苗字を名乗れるように出来れば解決なんです、、日本の戸籍上はそのまま私の苗字で。。

  • Active Directoryのユーザー情報編集について

    現在Windows2000SeverでActive Directoryを使用しています。 そのActive Directoryの【Active Directoryユーザーとコンピューター】画面。 その画面の中に表示されているユーザーとグループの一覧で、現状名前に統一せいがなく登録されています。 ある方はフルネームで、ある方は姓だけ、ある方は姓は漢字で苗字はアルファベットといった状態です。 ですのでこれら登録者の名前をフルネームで統一したいのですが、変更するには【Active Directoryユーザーとコンピューター】画面で一人一人修正していくしかないのでしょうか?? 登録者が1000人近くいる現状でそのような方法だと大変な時間がかかってしまいます。 この一覧の情報をエクスポートしてEXCELで編集しインポートといった事は可能でしょうか?? もし無理であれば、他に良い作業手段はないものでしょうか??

  • ユーザー情報編集【性別】について

    くだらない質問ですいません。 今、自分のユーザー情報を見てみたら性別の所が間違えて【男性】になっていました。 私は女なのですが、きっと登録の時に間違えてしまったんだと思います。 今は非公開にしてあるので問題はないのですが、【男性】から【女性】に直したいです。 ユーザー情報の編集は可能ですか? また、今使っている名前?の編集もできるのでしょうか。 くだらない質問で申し訳ないのですが、回答よろしくお願いします。

  • Windows7でネットワークで共有しているhtmlファイルが編集出来ません。

    質問させていただきます。 ネットワーク上の他のPCにあるhtmlファイルを編集しようとすると 「他のプロセスで利用中の可能性があります。」と出て編集が出来ません。 読み取り専用で開いても保存する時にもちろん上書き保存は出来ず別の名前で 保存するしかありません。 開いているソフトはWindowsのメモ帳やTeraPadなのですがtxtファイルは普通に 開き編集上書き保存が出来るのですがhtmlファイルだけは出来ません。 権限の問題かとも思うのですがユーザーアカウントは「Administrator」で 他のファイルは編集出来るので不思議で仕方ありません。 どなたか理由がわかる方、又は解決方法がわかる方がいらっしゃったら教えて下さい。 よろしくお願い致します。

  • データ検索&セルの背景色変更

    ユーザーフォームを利用し、データの検索結果をユーザーフォームへ表示させ 一部の情報を変更・上書きした上で、その元データのセル背景色を変更したいのですが・・・どうもうまくできません。 ご助力お願いします。 ≪詳細≫ シートAは、データシートとしての表となっている。(商品データ) シートBは、廃棄商品のデータシート。(廃棄商品) 登録番号  商品名  型番  状況 11111   りんご  @@@  在庫 22222   みかん  !!!  在庫 33333   いちご  ###  在庫 検索ボタン   更新ボタン ※ユーザーフォームで、登録番号を入力+検索ボタンクリックすると、テキストボックス(ユーザーフォーム上)に登録番号・商品名・型番・状況が表示されるようになっている。 ※更新ボタンを押すと、廃棄商品シートへ入力される。 検索・表示後、状況を「在庫→廃棄」に変更し上書きする。 ※上書き・・・データのあった列・行に上書きする。 例 2列目にあるみかんの検索の場合、   「22222」を入力・検索し、ユーザーフォーム上に   「22222」「みかん」「!!!」「在庫」を表示させる。   「在庫」のみを「廃棄」に変更し、2列目の状況のみを変え   上書きする。 上書き後、この2列目の「22222」「みかん」「!!!」「廃棄」の セル背景色をグレーに変更する。 ちなみに上書き&背景色変更は、更新ボタンのワンクリックにて 動作させたいのですが、検索したデータを指定するコードがわかりません。 宜しくお願いします。 まだまだVBA初級者のため、具体的に教えて頂けると有難いです。 Private Sub cmd検索_Click() Dim SerchKey As String Dim SerchArea As Range Dim lRow As Long lRow = Sheets("商品データ").Cells(65536, "A").End(xlUp).Row + 1 SearchKey = Application.InputBox( _ Prompt:="登録番号を入力して下さい。", Type:=2) If SearchKey = "" Or SearchKey = "False" Then Exit Sub End If Set SearchArea = Sheets("商品データ").Range(Sheets("商品データ").Range("A1"), Sheets("商品データ").Range("A1").End(xlDown)) Set FoundCell = SearchArea.Find( _ What:=SearchKey, _ SearchOrder:=xlByRows, _ LookAt:=xlWhole, _ MatchCase:=False) If FoundCell Is Nothing Then MsgBox "見つかりません", vbCritical GoTo ExitHandler End If With FoundCell 商品登録.txt登録番号.Value = .Value 商品登録.txt商品名.Value = .Offset(0, 1).Value 商品登録.txt型番.Value = .Offset(0, 2).Value 商品登録.txt状況.Value = .Offset(0, 3).Value 商品登録.txt状況.SetFocus End With ExitHandler: Set SearchArea = Nothing Exit Sub End Sub Private Sub cmd更新_Click() Dim lRow As Long lRow = Sheets("廃棄商品").Cells(65536, "A").End(xlUp).Row + 1 With Sheets("廃棄商品") .Cells(lRow, "B").Value = 商品登録.txt登録番号.Value .Cells(lRow, "A").Value = 商品登録.txt商品名.Value .Cells(lRow, "C").Value = 商品登録.txt型番.Value .Cells(lRow, "D").Value = 商品登録.txt状況.Value   End With MsgBox "廃棄商品シートへ登録しました。", vbInformation End Sub

  • 複数の一般ユーザーが編集できるディレクトリ/ファイル作成

    Debian etch4 Apache 2.2 SFTPクライアント: WinSCP サーバー管理者初心者です。 複数の一般ユーザーが、同じディレクトリ/ファイルを編集する環境がつくれず困っております。 ↓の方法で、'project'グループに'user0'ユーザと'user1'ユーザを所属させました。 # usermod -G project user0 # usermod -G project user1 ~# less /etc/group | grep project project:x:1004:user0,user1 と登録されたのが分かります。 ディレクトリ /var/www/project の権限, 所有者 : 所有グループは、 775, user0 : project です。 このディレクトリ以下に web公開や、編集するディレクトリ/ファイルを置きます。 user1 でWinSCP からログインして、/var/www/project/の test.html ( 664 所有者:user0 所有グループ:project ) を ローカルから上書きしようとしたら、「Permission denied」のエラーが帰ってきます。 user0 でWinSCP からの上書きは可能です。 とすれば、この場合 # usermod -G project user1 のコマンドは効果がないということになりました。 さらに、 # usermod -g project user1 しても、 上書きしようとしたら、「Permission denied」のエラーでした。 user1 で この /var/www/project/test.html を上書きするには、どんなコマンド(?)や設定が必要なのですか。 ご教授願います。

  • ヤフーのグループの管理者の権限

    ヤフーのグループにメンバーとして楽しく参加しておりますが管理者というのはメンバーの情報をどれくらいわかっているものなのでしょうか?入会できる人を制限することは可能のようですがその他にユーザーの接続IPアドレス(プロバイダ情報)やログイン~ログアウトした時間帯などは個別にわかってしまうものなのでしょうか?