検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- textareaに改行を入れても、CSV上では一セルに収まる方法は?
結論から言いますと、 textareaに改行を入れると、CSVファイルが下段に移ってしまいます。 やりたいとこ textareaに改行を入れても、CSV上では一セルに収まってほしいです。 いろいろ調べたのですが、以下のどこを書き換えればよいか分からないんです。 初心者なため困っております。宜しくお願い致します。 △△△△△△△△△△△△△△△△ ファイル名:input.php ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽ <html> <head> <title>インプット</title> </head> <body> <h1 style="background:#cccccc">(書き込み)</h1> <form method="POST" action="write.php"> お名前: <input type="text" name="name" size="20" maxlength="30" /><br /> メッセージ: <textarea name="message" rows="4" cols="40">ここに感想を記入してください。</textarea> <br /> <input type="submit" value="送信" /> </form> </body> </html> △△△△△△△△△△△△△△△△ ファイル名:write.php ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽ <?php $file=fopen("good.csv","a"); flock($file,LOCK_EX); $line =date("Y年 m月 d日 H:i:s")."\t"; $line.=$_POST['name']."\t"; $line.=$_POST['message']."\t"; fputs($file,$line."\n"); flock($file,LOCK_UN); fclose($file); header("Location: input.php"); ?>
- 定数値について
前回もこちらでお世話になりましたが 今回は、掲題の件について教えて下さい。 仕様によって変動のある期間や回数などを 定数値として持たせたいです。 現在やっている手法としては、単純に Main.phpの他にSub.phpというファイルを 作り、ここに「$○○○=1;」のような形で 書いて、Main.phpでrequire関数を使って 変数を呼んでいます。 調べてみると、他にdefine関数なるものも あるらしいので、sub側で定義してMain側で require&constant()で、呼んでみたのですが うまくいきませんでした。 そこで本題ですが、PHPの設定ファイルとして どういった書き方が一般的なのでしょうか? この定数値は、結構ころころ変わります。 セキュリティ的な部分を考慮する必要など あるのでしょうか? 宜しくお願いします。(開発環境:PHP5/MySQL)
- submitしても正しいページに遷移しない
eclipse + PDTで、PHPの開発をしています。 phpのファイルを作成して、eclipse上でweb起動しました。 eclipse上にwebページが表示されました。 ところが、submitしても、つぎのページに遷移しません・・・。 URLを見てみると、 http://localhost/C:/eclipse/work/senni_saki.php のように、「http://localhost/」 + 「C:/eclipse/work/senni_saki.php」(遷移先ファイルの物理パス) になっていました・・・。 実際には、 http://localhost/senni_saki.php にようになって、遷移先のwebページを表示してほしいのですが・・・。 ちなみに、送信部分のソースは、 以下のようにしています。 <input type="submit" name="submit" value="送信"> eclipseの設定とか、apacheの設定とか、調べたのですが、 自分では解決できませんでした。 どうしたら、submit後の画面にちゃんと遷移できるようになるでしょうか? ご存知の方がいらっしゃいましたら、おしえてほしいです。 よろしくおねがいします。
- ベストアンサー
- PHP
- ijhnb6543f
- 回答数1
- 別画面から遷移してきた時はDBを読み、それ以外のときはPHP_SELFを使いたい
http://oshiete1.goo.ne.jp/kotaeru_thanks.php3?a=7486449 の#3さんにご提示いただいたサンプル(→update.phpとします)を 組み込んでみたのですが、 投稿者名<input type="text" name="name" value="{$_POST["name"]}">{$errStr["name"]}<br> の「value=""」の値について、 update.phpに遷移してきた際は、↓みたいなプロセスを経てMySQLから 読み込んだ$col["name"]を直に表示させたいです。 $myID = GetmyID(); $con = mysql_connect(localhost, root, pw); $selectdb = mysql_select_db(serv, $con); $sql = "SELECT * FROM MyTab WHERE ID = '$myID'"; $rst = mysql_query($sql, $con); $col = mysql_fetch_array($rst); $name = $col["name"]; その場合、冒頭の#3さんのサンプルの value="{$_POST["name"]}" …を、 value="if (PHP_SELFでなく別画面から遷移してきて表示する場合) { {$_POST["name"]} } else { {$_POST["name"]} }" みたいに分岐すればいいのではないかと思いますが、 「PHP_SELFでなく別画面から遷移してきて表示する場合」の判断は どのようにしたらできますでしょうか。
- インクルードファイルからのリダイレクト
PHPに関しては知識に乏しい為、質問の仕方も悪いかもしれませんが、ご教授の程お願いします。 現在、http://php.s3.to/bbs/bbs2.phpにて配布されているp++BBSをindex.phpにインクルードさせて使用しています。 しかし、クッキーの発行と、リダイレクトが上手くいかず困っています。 // クッキー保存 $cookvalue = implode(",", array($name,$email,$url,$c_pass,$color)); setcookie ("pppbbs", $cookvalue,time()+14*24*3600); ここと header("Location: http://$HTTP_HOST$PHP_SELF"); ここでエラーが帰ってきます。 エラーの内容は Warning: Cannot modify header information - headers already sent by (outputs started at ~~~~) となっています。 インクルードしているので、もともとのヘッダー情報を書き換えられないということなのでしょうか。 解決方法はありますでしょうか? 別の方法で書き込みボタンが押されたらリロードするということはできますでしょうか ちなみに、書き込み自体は上手くいっているようで、 リロードすると書き込みは表示されます。
- mail関数を使うと遅いので
PHP初心者です。よろしくお願いします。 現在、予約メールシステムを構築しています。 PHP+MySQLです。(smtpはpostfixです) 1日一回、メールアドレス、件名、本文、時間を格納したTBLを作成し、 メール送信するPHPを5分毎にcronで動かしています。 メール送信PHPは 該当する時間のレコードを抽出してmail関数を使い送信しているのですが 1秒で5件しか送信されません・・・ 質問1 mail関数だとこんなものなのでしょうか?(時間がかかるのですか?) 質問2 短時間で大量のメールを送信する場合、どのような方法があるのでしょうか? 以上、よろしくお願いします。
- フォームからのデータの引渡し
<FORM method="post" action="./formmail.php"> <INPUT type="text" name="namae" size="20"> <INPUT type="text" name="tel" size="20"> : : : </FORM> というようなhtmlファイルからformmail.phpでデータを受け取る方法教えていただきたいのです。 上記HTMLファイルのINPUTタグ(入力項目)の数も自由に変更可能でnameも自由に変更した場合でも、formmail.phpは一切変更なしに対応したいのです。 例えばPerlならCGI側に if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); @a = split(/&/, $query_string); foreach $x (@a) { ($name, $value)=split(/=/, $x); $msg .= "$name:$value<BR>\n"; } } とすることにより、受け取れると思います。 PHPではどう書けばよいでしょうか? よろしくお願いします。
- 変数について
下記のような例の場合は、どのようにすれば【意図した結果】のようになりますでしょうか? 【コード】 <?php $post['thread_id'] = 1; $thread_id = $post['thread_id']; $logs = array( array(1, 0, $post['thread_id'], '<a href ="thread.php?id=$thread_id">編集</a>', '削除'), ); foreach ($logs as list($no, $oya, $kiji, $edit, $delete)) { if ($oya > 0) { continue; } print $no .'<br>'. $kiji . $edit . $delete . '<br>'; listchild($logs, $no); } function listchild($logs, $parent) { $ct = 0; foreach ($logs as list($no, $oya, $kiji, $edit, $delete)) { if ($oya !== $parent ) { continue; } if ($ct++ == 0) { print '<nobr> <ul></nobr>'; } print '<li>' . $no .'<br>'. $kiji . $edit . $delete . '<br>' . '</li>'; listchild($logs, $no); } if ($ct > 0) { print ' </ul>'; } } 【結果:編集のリンク先】 「thread.php?id=$thread_id」 【意図した結果】 「thread.php?id=1」
- foreachの中で使われている\の意味
●質問の主旨 下記のforeach文の中で使われている"\"は、 どういう意味で使われているのでしょうか? ご存知の方、ご教示よろしくお願いします。 ●コード(index.phpの一部) <tr> <td>書籍の満足度は?</td> <td> <?php // 配列からラジオボタンを作成する $ar_rate = array( "5"=>"満足", "4"=>"やや満足", "3"=>"普通", "2"=>"やや不満", "1"=>"不満", ); foreach ($ar_rate as $key=>$value) { echo "<input type=\"radio\" name=\"rate1\" value=\"{$key}\">{$value}"; } ?> </td> </tr> <tr> <td>書籍のボリュームは?</td> <td> <?php // 配列からラジオボタンを作成する foreach ($ar_rate as $key=>$value) { echo "<input type=\"radio\" name=\"rate2\" value=\"{$key}\">{$value}"; } ?> </td> </tr> ●参考文献 西沢直木 PHPプログラミングの教科書P175
- テキストボックスの値をファイルに保存する方法
テキストボックスから入力された文字を取得し、ファイルに保存する方法について、以下のように処理を行った結果、ローカル環境では、動くのですが、レンタルサーバー(スマイルサーバー)上で動きません。レンタルサーバー上でも同様に動くようにするには、どうしたらいいか教えてください。宜しくお願いします。 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バージョンは、わかりません!
- postgreSQLで更新後のデータを取得したい。
postgreSQLで更新後のデータを取得したい。 初めて質問させていただきます。 postgreSQLでupdateした後、更新後のデータをselectで取得したいのですが、 トランザクションが完了するまでにselect文が発行されているみたいで、更新前のデータを取得してしまいます。 それぞれ、違うファイルから投げられているので、同じトランザクションにすることはできません。 何かいい方法があればご教授お願いします。 a.phpで下記のSQLを発行 update test_tbl set test1 = 'aaa' where test2 = 'bbb' a.phpが走っている間に、下記のb.phpが実行される。 select test1 from test_tbl 環境 php5 postgres8.1
- ベストアンサー
- PostgreSQL
- yamabaka_y
- 回答数3
- csvの文字置換プログラム
すみません、超初心者の質問です。 今、エクセルのデータをphpを介してJsonに入れるプログラミングに取り組んでいます。 エクセル ↓ CSV ↓ 配列(php) ↓ Json しかしこのcsvのデータを配列に入れる前に置換しなければならない箇所(具体的には、言葉で入っている文字をコード化したい箇所)が沢山あるのですが、phpで読み込んだcsvデータの文字列を置換する方法はありますか??(置換箇所は多岐に渡ります) 外部から毎月買い取るデータで、いちいちエクセル上で手動で置換するのではなく、PHP上で自動的に置換したいのです。。 愚問ですみません、、よろしくお願いいたします。
- 大量件数のINSERT or UPDATE を繰り返すバッチでの注意点
PHPで、Postgresに対して大量(3万件前後)のINSERT、 もしくはUPDATEを繰り返すバッチ処理を実装しております。 当方、PHP歴が浅く、PHPで大量件数を取り扱う際の注意点やTIPSなどの知識が 乏しく、処理速度の改善や、メモリ使用量の軽量化などを行いたいのですが、 どこから手を付けてよいのやら取っ掛かりすら掴めない状況です。 そこで、有識者の皆様にお伺いしたいのですが、 PHPで大量件数を処理するにあたって、 1.処理速度の改善に役立つTIPS 2.メモリ使用量の軽量化に役立つTIPS この2点をお伺いしたく、何卒宜しくお願い致します。
- 締切済み
- PHP
- kokubunji0
- 回答数1
- パスがうまく通らないので、パスについて教えてください。
パスがうまく通らないので、パスについて教えてください。 ▽やりたいこと http://okwave.jp/qa/q6132108.html ▽知りたいこと →パスを通すとは、具体的に、どこのことを指すのでしょうか? 1)php infoのinclude_path(ブラウザで確認) Configuration PHP Core include_path .:/usr/local/lib/php 2)php infoのPATH(ブラウザで確認) Environment Variable Value PATH /command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin 3)echo $PATH(SSHで確認) 出力すると、1)とも2)とも異なる結果となります…。 パスを通すとは、具体的に、どこのことを指すのでしょうか? また、上記それぞれの意味、及び内容が違う理由を、教えてください。
- 何故unexpected ';'が出るのでしょうか
お尋ねします。以下のスクリプトを書いてブラウザで表示しようとすると Parse error: syntax error, unexpected ';' in C:\xxx om\test.php on line 11 とエラーが出ます。 11行目は ?> と書いてあります。 <?php ~ ?> の対応関係も合っていると思います。 何故、unexpected ';' エラーが出るのでしょうか? どこが間違っているのでしょうか? 不具合修正はどのようにすれば良いか、ご教示いただければ有難いです。よろしくお願いいたします。 <html> <body> <?php if ( $_REQUEST[ "SUBMIT" ] != "" ){ $month=$_POST['month']; $day=$_POST['day']; $memo=$_POST['memo']; if( ($month=='') | ($day=='')){ echo ?> ←ここでsyntax エラー <HTML><BODY> <FONT COLOR="RED"><B>空欄です</B><BR><BR> </FONT><BR></BODY></HTML> <?php exit(); } } ?> </body></html>
- 配列をPOSTで受けとる
タイトルのまんまですが 配列をformで送って それをPOSTで受け取りたいのですが うまくいきません 具体的に言うと <?php print"<form method=POST action=action.php>"; for($i=0; $i<$n; $i++){ print"<input type=text name=foo[$i]>"; } print"<input type=hidden name=n value=$n>"; print"<input type=submit value=go>"; print"<form>"; ?> ///////////以下action.php////////////////// <?php $n = $_POST["n"]; for($j=0; $j<$n; $j++){ $foo[$j] = $_POST["foo[$j]"]; print"$foo[$j]"; } ?> こんな感じのことがしたいのですが うまくいきません どうもPOSTされてないみたいでfoo[$j]はnullです 凡ミスな気がしなくもないんですが...プログラム初心者なんで↓↓ 教えてください よろしくお願いします
- 検索後にチェックボックスのON/OFF状態を再現して表示したい
下記の例で、表示されている sample.php にあるチェックボックスを ON/OFFしてから再計算ボタンを押下後、チェックボックスのON/OFF状態を 引き継いで(維持して)sample.phpを表示させることはできませんか? 「りんご」だけにチェックして再計算ボタンを押下後、再表示された sample.php は「りんご」だけチェックが入っているイメージです。 <form action="./sample.php" method="post"> <input type="checkbox" name="fruit[]" value="apple">りんご</td> <input type="checkbox" name="fruit[]" value="orange">みかん</td> <input type="checkbox" name="fruit[]" value="grape">ぶどう</td> <input type="submit" name="exec" value="再計算"> </form> なお、name="fruit[]" は配列になっていて、SQL発行に生かされています。
- さくらにsmartyをセットアップする
http://www.mogutan-blog.com/?eid=283 さくらサーバーと格闘しています。 上記ブログやその他ブログを見ながらパスは通りましたが、やりたい方法とちがうので改めてこちらでお聞きします。 私の方法 1.smartyをwww以下にアップ 2.アップしたフォルダをlibsと改名 3.index.phpでrequire_once '../libs/smarty/Smarty.class.php'; としてokでした。 しかし、php.iniを使って、 require_once './Smarty.class.php'; とパスを編集するには、php.iniをどのように書けばよろしいでしょうか? 現在は、include_path=".:/home/アカウント名/libs/" としており、どのように書けばパスが通るでしょうか? ちなみに簡略フォルダー展開ですが、 ルート ├ libs(smarty)- Smarty - Smarty.class.php ├ php.ini ├ www ┬ index.php
- ベストアンサー
- PHP
- noname#102619
- 回答数1
- 実行結果が文字化けしてしまいます・・。
PHPは初心者で現在勉強中です。 とあるサンプルを真似して、以下の簡単なクイズを作成していましたが、 実行結果(データpost後の回答表示)が「筝罩hВ鐚」と文字化けしてしまいます。 どこがおかしいか、また、本来どのように描くべきなのか教えて頂けないでしょうか。 宜しくお願い致します。 ------------------------------------------------------------------------- <?php // クイズ $quiz = array( 'question'=>'海は何色?', 'options'=>array('赤', '青', '金', '銀', '黒'), 'answer'=>2); if ($_SERVER['REQUEST_METHOD']=="POST") { $message = ($quiz['answer'] == $_POST['answer']) ? "正解" : "不正解"; echo $message; exit; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <title>PHPの練習</title> </head> <body> <h1>PHPの練習</h1> <form action="" method="post"> <p>Q. <?php echo $quiz['question']; ?></p> <ul> <?php foreach ($quiz['options'] as $key => $value) : ?> <li><input type="radio" name="answer" value="<?php echo $key; ?>"> <?php echo $value; ?></li> <?php endforeach; ?> </ul> <input type="submit" value="回答"> </form> </body> </html>
- Postgresの拡張モジュール導入について
PHPでpgsql拡張モジュールを導入したいのですがうまくいきません。アドバイスをお願いいたします。 環境:Apache2 / PHP5.0.2 / Postgresql8.0 今までのしたこと: (1)使えないモジュールの把握 Fatal error: Call to undefined function pg_query_params() in /hoge/fuga.php (2)ソースファイル配下(php-5.2.10/ext/pgsql)にてpgsql拡張モジュールをインストール phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/local/pgsql make make install (3)pnp.iniにextension_dirの設定変更と、extension=pgsql.soを追記 (4)Apacheの再起動 (3)のphp.iniが動作するPHPから呼び出されていること、extension_dirの設定内容が間違っていないことは確認済みですが、モジュールは使えないままです。 追加でできる確認方法か、とばしている手順があれば教えてください。よろしくお願いします。
- 締切済み
- PHP
- noname#102084
- 回答数1
