- 締切済み
テキストボックスの値をファイルに保存する方法
テキストボックスから入力された文字を取得し、ファイルに保存する方法について、以下のように処理を行った結果、ローカル環境では、動くのですが、レンタルサーバー(スマイルサーバー)上で動きません。レンタルサーバー上でも同様に動くようにするには、どうしたらいいか教えてください。宜しくお願いします。 HTMLテキストBOX <form action="/search.php" method="post"> <INPUTtype="text"size="36"name="kensaku"></FONT><BR> <INPUT type="submit" value="データの検索"> serch.phpの書き出し部分のソース $kensaku=$_POST["kensaku"]; $fd = fopen("/users.txt","a"); $str = " $kensaku"; fputs( $fd, $str ); fclose( $fd ); 動いた環境のPHPバージョンは5.2.4 レンタルサーバーのPHPバージョンは、わかりません!
- tuy1964
- お礼率40% (4/10)
- PHP
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
>> ●user.textのパーミッションは644→766にしてみましたが、改善 >> されませんでした。パーミッションはいくつにするのがいいのか >> 教えてください >> ●サーバーのルートにおけないのですか?素人でもうしわけあり >> ません!ではサーバーのどこに配置するかといったことは、サー >> バーの会社に聞かないと解決しないのでしょうか? パーミッションはWEBサーバーが誰の権限でPHPを実行しているか、 書き込むファイルおよびそのファイルのフォルダーのオーナーを 誰にしているか不明なので一般論しか言えませんが、 セキュリティーを考えずに甘い設定をするなら以下に変更してみてください 1. "user.txt"をルート以外の任意のフォルダーに配置する。 2.そのフォルダーとuser.txtのパーミッションを777にする それでも書込みできないなら、他のプログラムにミスが有る可能性があります もしもそれで動いたら、フォルダーを757 ファイルを666等 徐々に制限かけるように変更してみる。
- mpx
- ベストアンサー率71% (149/209)
>> レンタルサーバー(スマイルサーバー)上で動きません。 動かないとはどのような状態かを公開しておくと適切な回答が 得られると思います。 例えば ・「データ検索」ボタンをクリックしても画面が出てこない → /serch.php のパスが間違っている "/"はドキュメントルートを指します ・ファイルオープンのエラー表示がでる。 または異なる場所にファイルが作成される。 データが書き込まれない → /users.txt のパスかパーミッションが間違っている。 上記のファイルはドキュメントルートではなく サーバーのルートディレクトリ上に有ることになりますが、 ルートにこのファイルを配置できるとは思えません ・文字化けが発生する → 文字コード処理に間違いがある。サーバーのデフォルト文字コードと不一致など などなど、 “動かない”だけではいろいろなことが考えられるので特定は困難かと・・
補足
MPXさん早速回答いただきましてありがとうございます。またPHP初心者な者で質問の仕方がまとを得ておらず申し訳ありません。いままでの状況を書きますので、宜しくアドバイスお願いいたします。 ●フォームのテキストボックスから入力したデーターは、$strの中に 入っています。(上に書いたserch.phpの最後の行の下で echo $str; で確認したところ、文字列は入力されている) ●PHPは、特にエラーメッセージなどはでません ●users.txtの中に文字列が書き込まれません。(白紙の状態です) ●user.textのパーミッションは644→766にしてみましたが、改善されませんでした。パーミッションはいくつにするのがいいのか教えてください >サーバーのルートディレクトリ上に有ることになりますが、 >ルートにこのファイルを配置できるとは思えません ●サーバーのルートにおけないのですか?素人でもうしわけありません!ではサーバーのどこに配置するかといったことは、サーバーの会社に聞かないと解決しないのでしょうか?一般的な方法で、改善策がある場合はご教授くださいお願いいたします。
関連するQ&A
- チェックボックスの検索システムじゃなく、テキストけ
テキスト検索システムを開発したいです。 チェックボックスの場合 name="kensaku[]"とhtml側でPOSTし、PHP側で$kensaku=$_POST['kensaku']とし、SELECT文で呼び出しますが、テキストタイプの場合、どのようにするのでしょうか??
- ベストアンサー
- PHP
- jspのテキストボックスの値保持について
jspにおける、値の保持についての質問です。 以下のjsp内テキストボックスに値を入れ、その値を元に検索する、というものです。 jspです <form name = "form_serchList" method ="post" action ="BookSrv" > 書籍名検索 <br> 書籍名をどうぞ<input type = "text" name = "serchWord"> <input type = "hidden" name = "serch" value = "serch"> <input type="submit" value="検索"> </form> servletです // 一覧/検索画面の検索を押した際の処理 }else if("serch".equals(serch)){ // 検索したい言葉を取得 String serchWord = request.getParameter("serchWord"); // セレクト処理を呼ぶ List<BookBean>list_ = bd.selectOrSerch(con_,serchWord); // ジャンル一覧をリクエストスコープに格納 request.setAttribute("BOOK_LIST",list_); address = LIST; その際、例えば「ア」を入れて検索した場合検索は可能ですが、テキストボックス内の「ア」は消えてしまいます。これを、「ア」を消さずに保持しておく、というやり方について、どなたか教えて頂けないでしょうか?よろしくお願い致します。
- ベストアンサー
- Java
- テキストボックスについて
[開発環境] Windows2000 VB6.0 ※Dirで取得したFile名のチェックシステム。 [クライアント環境] WindowsNT4.0Server(VBランタイム無し) Windows2000Server(VBランタイム無し) [質問] IniFileに下記のような禁止文字を設定しております。 【BAT_TXT=あいうえおかきくけこさしすせそたちつてと】 Fromの設定画面にテキストボックスを配置して、追加・ 削除を容易にしてるのですが、このまま禁止文字が増え るとLordイベント時にテキストボックスから溢れてしま います。 「改行」を入れないで、テキストボックス内に流し込み・ その他の方法で、全ての文字を表示させる事は、可能で しょうか? 良いアイディアをお願い致します。
- ベストアンサー
- Visual Basic
- テキストボックスの値を取得したい
PHP、JavaScriptのプログラムに関して質問します。 下記のように変数$nameに"名前"と初期値が入っていて、Web画面上で下記テキストボックスに "ありさ"と書き替えて、修正ボタンを押しても、$_POST["name"]が"名前"のままで変更されていません。"ありさ"をPHPで取得したいのですが、何がおかしいのでしょうか? function send(){ document.fm.action = "aaa.php"; document.fm.operate.value = "modify"; document.fm.submit(); } <form name="fm"> <input type="text" name="name" value="<?=$name?>"> <input id="btn" type="button" name="modify" value="修正" onClick="send()"> </form>
- 締切済み
- PHP
- テキストボックスにカーソルを固定
いつもお世話になっています。VB.NETで開発をしているのですが、行き詰まっています。知識をお借りできれば幸いです。(説明が分かり辛く申し訳ありません。) (1) テキストボックスにバーコードを入力し、読込む。 (2) ポストバックがかかった後もそのテキストボックスにカーソルを固定させておくことで、バーコードの連続入力を行いたい。現状は、ポストバック後カーソルがなくなる(クリックし再設定が必要)。 (3) WebFormにテキストボックスを直接作成しているのではなく、ユーザーコントロールのテキストボックスにカーソルを戻したい。 (4) 以下、試みました。aspxのhtmlです。ユーザーコントロールのテキストボックスのInputNameはucA.BarCodeとします。 <HTML> <HEAD> ・・・ <script language="javascript"> function SetForcus() { ucA.BarCode.focus(); } </script> </HEAD> <body onload="javascript:SetForcus()" onmousedown="ClickCheck()"> <form id="Form1" method="post" runat="server"> ・・・ <asp:Panel id="pnl" runat="server"> <uc1:A id="ucA" runat="server"></uc1:A> </asp:Panel> ・・・ </form> </body> </HTML>
- ベストアンサー
- Visual Basic
- テキストボックスの表示
よろしくお願いします。 早速ですが、テキストボックスにおいて、入力した値を POSTしても残すようにしていたのですが、突然できなくなりました。 何が原因と思われますか? php.iniの内容とか関係してきますでしょうか?? formのactionはPHP_SELFにして、 <input type=text name=hoge value=$hoge> にして -------------------------------------------------- $hoge=$_REQUEST["hoge"]; 以下処理を走らせてます。 今までは問題なかったのですが・・・・ よろしくお願いします
- ベストアンサー
- PHP
- frame間の値の受け渡し方法
環境はxp、apache2、php5、Postgresql8.2です。 1台のPCをサーバ&クライアントにしています。 ただ今PHPとPostgresqlの勉強をしています。 --------------------------- frameで左右に分かれています。 「左がメニュー画面」 「右がデータを表示する画面」 --- <frame name="hidari" src="aa.php"> <frame name="migi" src="ee.php"> メニュー用のPHPに --------------------------- aa.php(左のメニュー画面) 「number」というテキストボックスに入力して、 「検索」をクリックすると、 右の画面にデータが表示されます。 <FORM name="Form1" METHOD=post target="migi"> number<INPUT TYPE=TEXT NAME=number SIZE=5> <a href="./ee.php?func=ads" target="migi"><span style="color:#DB7093">検索</style></a> --------------------------- ee.php(左のデータ画面) テキストボックス「number」の値を受け取るために echo $_POST['number']; 「number」の値が表示されません。 どのようにすれば受け取れますか?
- ベストアンサー
- PHP
- テキストフィールドの値に変更があったら
テキストフィールド(start_date)では、 $("#start_date").datepicker({dateFormat:'yy-mm-dd'}); として日付入力をします。 その日付フィールドに変更があったら、ajaxaで処理をしたいのです。 そこで、jsに $(document).ready(function() { $(".start_date").change(function(){ var d=$(this).val(); var dataString = 'start_date'+ d; $.ajax({ type: "POST", url: "ajax_org.php", data: dataString, cache: false, success: function(html){ $(".org_id").html(html); } }); }); }); と記述し、変更があったらajax_org.phpを読んで、セレクトボックスの内容を変更させようと しているのですが、このajax_org.phpにテキストボックスの内容がPOSTされないのです。 セレクトボックスに変更があった場合には、valの値が、上記の記述でPOSTで読めるのですが、 なにがいけないのでしょうか? ご教授お願いします!!
- 締切済み
- PHP
- 別のファイルへ値を受け渡す方法
【index.php】というファイルで、画像のURLとテキストデータを【img.php】へ値を受け渡すプログラムを記述しています。 【index.php】では <form action="index.php" method="POST"> <textarea name="intxt" rows="10" cols="30"></textarea> <input type="radio" name="image" value="4.jpg"> </form> <?php $imgfile=$_POST['image']; $text=$_POST['intxt']; print "<img border='0' src='img.php?imgfile=$imgfile&text=$text'>"; ?> と記述し、 【img.php】ファイルで値を受け取るために、 $text=$_GET['text']; $imgfile=$_GET['imgfile']; と記述しました。 しかし、値が受け渡されていません。 $text=$_POST['text']; $imgfile=$_POST['imgfile']; でも試してみましたが、結果は同じく値が受け渡されていませんでした。 何か足りないのでしょうか? 開発環境は、PHP5.2.5、Apache2.2、WindowsXPです。 知恵をお貸しください。 お願いします。
- ベストアンサー
- PHP
- 「テキストボックス→Enterキー」でページが切り替わらない
下記のようなフォームを作成しています。 (1)テキストボックスに値を入力する (2)「送信ボタン」またはEnterキーを押す (3)postにテキストボックスで入力した値が代入され、actionで設定したPHPファイルを読み込む (2)のEnterキーを入力したときになにもアクションが起こりません。 考えられる原因や対応方法をお願いします。
- ベストアンサー
- PHP
お礼
MPXさん何回も親身になって回答を頂きありがとうございました。結局のところ、ファイルのPATH指定が/users.txtではなく./users.txtであることが判明しました。初歩的なミスで申し訳ありません。修正することで、おかげさまで無事目的を達成することができました。ありがとうございました。
補足
users.textを任意のフォルダーの中にいれパーミッションをどちらも777でやってみたのですが、かきこみできませんでした。(任意のフォルダーを作る位置はルートの中にしかできなかったのですが・・・) ローカルの環境では、同じコードで動いていたんで、WEB上でも動くものと簡単に考えておりましたが、難しいことが判りました。自分のミスをチェックし、レンタルサーバーに問い合わせしてみます。