検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- PHPです。日本語はどのようにしたらつかえるのでしょうか
英語では期待通り動くのですが、日本語では期待通り動きません。 なぜですか。 form.html <html> <head>フォーム</head> <body> <form action="henkan.php" method="post"> 文章<input type="text" name="UKETORI"><br> <input type="submit" value="送信"><br> </form> </body> </html> henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("です。","だよん。", $uketori); print "$uketori"; ?> </body> </html> 日本語を変換したい場合はエンコードとか必要なのでしょうか。 やり方がわかりません。宜しくお願いいたします。
- phpの値をflashの外部txtファイルのファイル名に反映
flash及びactionscript初心者です。 phpとflashを連携させサイトを作成しているのですが、 flashでGETで値を渡し、その値を使い、 そのflash内で表示させている外部txtファイルの名前に置き換えたいのです。 this.loadVariables("/pref_id/info.txt"); ↑のpref_idの部分をflashで渡した値(例えば001等)で表示させたいのですが、可能でしょうか? 宜しければご教授お願いいたします。 環境は FLASH8 WinXPです。 よろしくお願いいたします。
- php MySQL で、更新ボタンを押すと何回も書き込まれる
いつもお世話になります。 PHP Ver.4.46 MySQL Ver.4.0.27 です。 フォームよりMySQLのデータベースへ書き込んでその内容を表示しようと思っています。 しかし、更新ボタンを押すと 、『情報を再送信する必要があります』と表示され、『はい』を押すと、 テキストボックスの内容が空白なのに同じデータが次々と書き込まれてしまいます。 過去ログを調べてよく似たようなものがあったので http://oshiete1.goo.ne.jp/qa3473685.html 試してみましたが、ダメでした。 //★★★★★★★★の行を追加してみました。 よろしくお願いいたします。 スクリプトは以下のようなものです。 <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td>お名前</td> <td><input type="text" name="g_name" size="30"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="g_mail" size="30"></td> </tr> <tr> <td>メッセージ</td> <td> <textarea rows="5" cols="30" name="g_mes"></textarea> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="書き込む" onClick="return confirm('書き込んで良いですか?')"> </td> </tr> </table> </form> <?php $sv = "localhost"; $dbname = "guestbook"; $user = "root"; $pass = "********"; // データベースに接続する $conn = mysql_connect($sv, $user, $pass) or die("接続エラー"); mysql_select_db($dbname) or die("接続エラー"); ?> <?php // POSTメソッドで送信された場合は書き込み処理を実行する if ($_SERVER["REQUEST_METHOD"] == "POST") { // フォームからデータを受け取る $g_name = cnv_dbstr($_POST["g_name"]); $g_mail = cnv_dbstr($_POST["g_mail"]); $g_mes = cnv_dbstr($_POST["g_mes"]); // 名前とメッセージが入力されていればデータの追加を実行する if (!empty($g_name) and !empty($g_mes)) { // データを追加する $sql = "INSERT INTO guestdata(g_name, g_mail, g_mes, g_date) "; $sql .= "VALUES("; $sql .= "'" . $g_name . "',"; $sql .= "'" . $g_mail . "',"; $sql .= "'" . $g_mes . "',"; $sql .= "'" . date("Y/m/d H:i:s") . "'"; $sql .= ")"; $res = mysql_query($sql, $conn) or die("データ追加エラー"); if ($res) { echo "<p>書き込みありがとうございました</p>"; //★★★★★★★★ header("Location:" . $_SERVER["PHP_SELF"] . ".php"); // $_SERVER["REQUEST_METHOD"]=""; //rqg 初期化 これではダメだった }else{ echo "<p>書き込み失敗</p>"; } } // 名前やメッセージが空白の場合はエラーメッセージを出力する else { echo "<p><b>お名前とメッセージを入力してください</b></p>"; } } // SQLコマンド用の文字列に変換する関数 function cnv_dbstr($string) { // タグを無効にする $string = htmlspecialchars($string); // magic_quotes_gpcがONの場合はエスケープを解除する if (get_magic_quotes_gpc()) { $string = stripslashes($string); } // SQLコマンド用の文字列にエスケープする $string = mysql_real_escape_string($string); return $string; } ?>
- phpをhtmlのように編集してもよいのでしょうか?
仕事でWEBページの更新作業をまかされました。 HTMLやDreamweaverでWEBページを作成したことはあるので大丈夫かと思い引き受けたのですが、作成してあるページがすべて拡張子がPHPなのです。 私が作ったことがあるのは拡張子がhtmlのページなのですが、拡張子が違うだけで、修正などは、Dreamweaverでhtmlを編集していた様に作業しても問題ないのでしょうか? メールフォームのように受け渡しのページのみphpというのは経験はあるのですが、前ページphp???なにかメリットなどあるのでしょか? もし、phpでのweb編集が高度ならば、早めに仕事を辞退しようかとも悩んでおります。 よろしくおねがいします。
- ベストアンサー
- HTML
- kyounotenk
- 回答数6
- phpから値をとってきて変数に格納するには?
phpから値をとってきて変数に格納するにはどうすればいいのでしょう? ちなみにjavascriptはほとんどさわったことのない初心者です。 やりたいことを具体的に説明します。 p.php 「 <?php yy = "test string"; //?(1) ?> 」 js.html 「 <script language="javascript"> var xx; //?(2) </script> 」 最終的に、php内の変数「yy」の内容をjavascriptの変数「xx」にいれたいのです。 よろしくお願いします。
- ベストアンサー
- JavaScript
- tenketu
- 回答数1
- 【PHP】 sort() で大文字小文字を同一視できませんか?
PHP5使用者です。 sort() でソートすると、並び順は A B C … a b c … となります。 そうではなく A a B b C c … とか a A b B c C … にしたいのですがどうすればいいのでしょうか。 お詳しい方、よろしくお願いいたします。
- PHPまたはPerlで動画を扱うのに参考になるサイト
PHPまたはPerlでflashなどの動画を扱うのに参考になるサイトや本を 教えてもらえないでしょうか? 動画の再生時間を取得方法、動画を作成する方法、動画のサムネイルを 作る方法などが詳しく載っているとありがたいです。
- ベストアンサー
- PHP
- noname#190095
- 回答数2
- phpでの更新管理がロリポップだとエラーが出てしまう。
はじめまして。 このたび業者さんにホームページを自分で更新できるプログラムを作って頂きました。 今まではさくらインターネットで使用していたのですが、今回ロリポップにしたところ、更新すると次のようなエラーが出てしまいます。 Warning: fopen(./data/news_08.txt) [function.fopen]: failed to open stream: Permission denied in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 23 Warning: flock(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 24 Warning: fputs(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 25 Warning: fclose(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 26 Warning: chmod() [function.chmod]: Operation not permitted in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 27 エラーを見てもさっぱりなんですが、解決方法などがわかる方いらっしゃいますでしょうか? どうかよろしくお願致します。
- ベストアンサー
- CGI
- noname#64096
- 回答数4
- PHPでメールフォームを作るのは一般的なのですか?
サイトでメールフォームや掲示板を作りたいと思い、CGI(Perl)の本を買って読んでみたのですが、C言語を少しやっていた私としてはPerlの記述が少々身に合わないと思いました。 そこで、PHPでも同じようにメールフォームや掲示板というのは一般的に使われているのでしょうか?勉強する上でPerlでメールフォームや掲示板という参考書はたくさんあったのですが、私の通っている本屋ではPHPでそのような本がありませんでした。 いずれデータベースもやりたいと思い、またC言語っぽいPHPのほうが勉強しやすいと思い、PHPでメールフォームなどを作りたいのですが、Perlとの違いや注意点などありますか? またお勧めのPHPの書籍やサイトを教えてください。よろしくお願いします。
- PHPフォームからメールを受信した時に文字化けが発生
申し込みフォームから受信したメールが、文字化けします。 windowsではちゃんと表示されるのですが、macでは文字化けします。 更に、必ずはじめに以下の文面が記載されてきます。 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit 困ってます!!宜しくお願い致します。
- PHPで~を使うときのビットの認識の仕方について
~演算子を使用する際の、ビットの認識のされ方についてなのですが ~演算子の動作がよく理解できなかったので、色々試してみたところ、以下のような感じでした。 ~1 = -2 ~0 = -1 ~37 = -38 この結果から色々逆算してみることにしました。 例えば-38ですが、この-38はコンピューター上では2の補数のビット列で構成されているはずで、そのビット列は 1000000(2)-100110(2)(=38) という式の答えに、最上位ビットに識別子「1」をつけたビット列であるはずです。 つまり、-38のビット列は1011010(2) ということになると思います。 で、この1011010(2)というビット列は、~演算子によって生成されたものなので、反転される前は 0100101(2) というビット列だったということになると思います。 この 0100101(2) は10進表記に直すと37(10)となるので、 冒頭の~37 = -38 が証明されたことになると思います。 ただ、1つ気になるのは、反転される前のビット列が0100101(2) という、最上位ビット列に0が付けられたビット列として認識されているということです。 37の2進表記は一番簡単に考えれば100101(2)ですが、このビット列でビット反転させると、1011010(2)(=-38)ではなく011010(=26)というビット列になってしまい、、-38になりません。 ~1 や ~0 の場合でも同様で、最上位ビットに0が付いてないと仮定すると、辻褄があわなくなります。 冒頭の通り、~37は-38を返すので、評価したビット列は0100101(2) であるはずです。 上記のようなことから、PHPの~を使用する場合、評価されるビット列は必ず最上位に0が付されるという結論に至ったのですが、この理解で正しいでしょうか? わかりにくい文章ですいません。 どなたか詳しい方いらっしゃいましたらご教授よろしくお願いします。
- PHP入門の本を買って勉強しているのですが・・・
この前、10日間で覚えるPHP5入門教室という本を買い、勉強していたのですがクッキー関連のところでつまりました。 ・cookie.php <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <form method="post" action="cookie_rec.php"> E-Mailアドレス: <input type="text" name="email" size="30" maxlength="50" value="<?php print($_COOKIE['email']); ?>" /> <input type="submit" value="送信" /> </form> </body> </html> ・cookie_rec.php <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <?php setcookie("email",$_post['email'],time() + (60*60*24*90)); ?> クッキー"email"を保存しました。 </body> </html> 本通りに上記のコードをうってみたのですがクッキーが保存されないのです。本によると1回目にe-mailを送信すると二回目に自動的にcookie.phpのテキストボックスに表示されると書いてあったのですがそれが表示されないのです。一応、本についてるCDに入っているサンプルデータのやつを使ってやっても同じ結果になりました。 それと恐縮ですがPHPをわかりやすく解説していただいているサイトがあれば教えてください。
- PHPを学ぶときに参考にした書籍を教えて下さい。
自分でPHPを作ったりしたいと考え、一から勉強したいのですが、皆さんがPHPを勉強したとき参考にした書籍や、役に立った書籍があったら教えていただけませんか? お薦めの本などもお願いします!
- PHPのみで新着メールを取り出すことはできませんか?
PHPのみで新着メールを取り出すことはできませんか? PHPの記述されたページを開いた時に、指定したメールサーバーにアクセス・新着メールをチェックしてページ上に内容を表示できないでしょうか?
- ベストアンサー
- PHP
- seventozero
- 回答数3
- PHPがCGIモードのサーバでもLast-Modifiedを取得するに
PHPがCGIモードのサーバでもLast-Modifiedを取得するには? Webサイトを.htmlではなく、.phpで制作しています。共通部分を外部.phpファイル化して作業時間短縮や間違いを防ぐためです。 しかし、自動でrssxml等のRSSやAtomファイルを生成するソフトを使っているのですが、アップされたファイルを開くと、 更新した日が一番上にくるはずなのにそうならず、よく見ると、全てのページの更新日時が同じになってしまっています。これでは更新順にページが並ばず、まるでウソのRSSファイルになってしまいます。 上述のように、.phpファイルでつくっているサイトなので、ローカルでは更新日時がうまく取得できないので Webサーバから取得するようにツールで設定しているのですが、その場合、Last-Modifiedで更新日時を取得して いるソフトだそうで、これで取得できれば良いのですが、これができませんでした。 利用しているサーバのPHPがCGIモードなためだそうです。 もしもモジュールモードであれば、トップページの階層の.htaccessにたった一行記述するだけで 解決するらしいです。 CGIモードでもLast-Modified、つまり更新日時を取得するにはどのような方法があるでしょうか?
- foreach のバグでしょうか。PHP 5.3.3 で悩んだところが
foreach のバグでしょうか。PHP 5.3.3 で悩んだところがあります。 あるレコードが正規表現にマッチした場合、そのレコードに対して何らかの処理をするスクリプトを書いていました。 しかし思ったように動かず原因を調べました。結果、配列の値が変わっていることに気づきました。 ◇テスト用レコードの内容 http://www.yahoo.co.jp/ http://www.bing.com/ http://www.goo.ne.jp/ http://www.google.co.jp http://d.hatena.ne.jp/ ◇先頭一致して欲しい文字列 http://www.google.co.jp/ http://www.bing.com/ http://www.youtube.com/ この場合、処理の対象は2件です。 私が書いたスクリプトでは3回マッチしてしまいます。 以下、テスト用に作ったスクリプトです。 <?php // URL のパターンを用意 (とりあえず以下の3パターン) $ar = array(); $ar['Google'] = array( 'URL' => 'http://www.google.co.jp/' ); $ar['Bing'] = array( 'URL' => 'http://www.bing.com/' ); $ar['YouTube'] = array( 'URL' => 'http://www.youtube.com/' ); // 先頭一致の正規表現にする foreach($ar as $key => &$value){ $value['regex'] = '/^' . preg_quote($value['URL'], '/') . '/'; } echo("URL の パターンを出力してみる/n"); print_r($ar); // テスト用 レコード $list = array(); $list[] = 'http://www.yahoo.co.jp/'; $list[] = 'http://www.bing.com/'; // match. $list[] = 'http://www.goo.ne.jp/'; $list[] = 'http://www.google.co.jp/'; // match. $list[] = 'http://d.hatena.ne.jp/'; // マッチするのは2回のみ...のはずが for($n = 0; $n < count($list); $n ++){ foreach($ar as $key => $value){ if(preg_match($value['regex'], $list[$n], $match)) echo("match.\n"); } } echo("もう一度 URL のパターンを出力してみる\n"); print_r($ar); echo("なぜか一番最後の配列の値が変わっている。\n"); ?>
- ベストアンサー
- PHP
- k_yukichan
- 回答数1
- PHPでサイトを作った時のSEOについて質問です。
PHPでサイトを作った時のSEOについて質問です。 PHPでサイトを作った場合 XTHMLと比べてSEOはどうなるんでしょうか?弱くなってしまうのでしょうか? (データベースで生成したテキストは読み込んでくれるのかどうか) もし、PHPでポータルサイトを作る上でSEOに関しての注意点があれば教えてください。
- PHPの配列でわからないことがあるので教えてください。
PHPの配列でわからないことがあるので教えてください。 例えば以下のような2つの配列$aと$bがあるとします。 $a[0]=a、$a[1]=b、$a[2]=c $b[0]=w、$b[1]=q、$b[2]=b、$b[3]=c これで、$a[1]と$b[2]の中身が同じであることを取得し、さらに$bの配列の添え字の2を返すようにしたいのですが、わかりません。 どのようにプログラムを書けばよいのでしょうか? よろしくお願いします。
- 現在の時間から5分引いた時間を表示させるPHP
現在の時間から5分引いた時間を表示させるPHP 現在の時間 <?php print(date('Y/m/d H:i:s')); ?> から、 5分後の時間や1日前など任意の日時に計算してサイトにprintするには、 どのように書いたら良いのでしょうか。 初心者ですみません、どうぞよろしくお願いいたします。
- Linuxサーバ接続とWindows単独で開発時のphpの文字コード
FC4サーバとwindows機をハブでつないでPHP+mysqlを学んでいます。 サーバにアップロードする前提でeuc-jpで保存したPHPスクリプトとmysql文をwindows機単体で開くと、日本語が文字化けします。 php文はその都度euc-jp,SJISで保存し直せば、取り敢えず、問題は回避できますが、mysqlはどのようにすれば良いでしょうか。 諸先輩は、linux(UNIX)にアップするPHPスクリプトとmysql文を、windows機単体で開発するとき、どのような環境設定をしておられるのでしょうか。教えて頂ければ有難いです。私の現在の設定状況は次の通りです。 php.ini サーバ、windows(クライアント)共に、 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC_JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; であり、その他に サーバを mbstring.func_overload = 1 クライアントは ;mbstring.func_overload = 0 としてコメントアウトしています。 ----------------------- サーバの/etc/my.cnf old_password=1の下に default default-character-set=ujis と追記し、更に [client],[mysql],[mysqldump]の各項を新設して、それぞれに、やはりdefault default-character-set=ujis と書き加えています。 クライアントの my.ini [mysqld]default-character-set=sjis [mysql]default-character-set=sjis [mysqldump]default-character-set=sjis としてあります。
