検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- 以下のx.phpにアクセスし
表示された 画面のテキスト入力欄に「\」を入力すると 「\\」が表示されてしまいます。 また、画面のテキスト入力欄に「\\」を入力すると 「\\\\」が表示されてしまいます。 この不都合を解消する手段はあるのでしょうか? つまり、「\」を3個入力すると「\」が6個でなく入力した3個だけ表示されるようにしたいのです。 どうしたらいいでしょうか? x.php: <?='x=['.(isset($_POST['x'])?$_POST['x']:'').']<br/>'?> <form method="post" action="<?=$_SERVER['PHP_SELF']?>"> <input type="text" name="x"/><br/> <input type="submit" value="push"/> </form>
- PHPからメールを送る@さくらインターネット
PHPを利用して、メールを送れません。 PHP4.3.10を使っています。レンタルサーバーとして、さくらインターネットのレンタルサーバー(プレミアム)を利用しています。 以下のようなスクリプトを書いたのですが、指定されたアドレスにメールが届いた気配がありません。何か、設定したりしないといけないとか、初歩的なミスかと思うのですが、何が悪いのでしょうか? <?php mb_language('Japanese'); mb_send_mail('xxx@xxx.xx.xx','やぁ','届いた?'); ?>
- cgi-binでPHP動作しない
過去に何度か出ている質問ですが、 VineLinux3.1 + Apache1.3 + PHP4の環境でhttpサーバを構築したいのですが、 /home/httpd/cgi-bin/test.php (中には <?php phpinfo(); ?> を記述) のスクリプトがブラウザより動作しません。 同ファイルを /home/httpd/html/test.php にコピー しアクセスすると正常に動作します。 どこか設定がおかしいのでしょうか? ■errot-log [Sun Jan 8 13:44:57 2006] [error] (8)Exec format error: exec of /home/httpd/cgi-bin/test.php failed [Sun Jan 8 13:44:57 2006] [error] [client 192.168.0.5] Premature end of script headers: /home/httpd/cgi-bin/test.php ■httpd.conf抜粋 <IfDefine HAVE_PHP4> LoadModule php4_module modules/libphp4.so </IfDefine> ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ AddDefaultCharset off <IfModule mod_php4.c> AddType application/x-httpd-php .php4 .php3 .phtml .php AddType application/x-httpd-php-source .phps </IfModule>
- PHPのセキュリティーホールについて
プログラムについて素人のため、下記の内容が、よく理解できません。 対策としてはパッチを適用とありますが、具体的にどのようにするのでしょうか。 素人でもできるものなのでしょうか。やはり、プロの方にお願いしなくてはいけないのでしょうか。 的外れな質問かもしれませんが、よろしくお願いします。m(_ _)m ---------------------------------------------------------------- Hardened-PHP Projectは10月31日(現地時間),オープンソースWebアプリ ケーション開発言語PHPの深刻なセキュリティ・ホールを警告した。リモート からPHPスクリプトを実行される「今まで見つかった中でも最悪のセキュリ ティ・ホール。全てのPHPユーザは今すぐ対処を行う必要がある」(日本PHP ユーザー会 大垣靖男氏)。PHP4の4.4.0以前のバージョン,PHP5の5.0.5以 前のバージョンが影響を受ける。対策はパッチを適用することなど。 ---------------------------------------------------------------
- 締切済み
- セキュリティ
- lemon_chan
- 回答数2
- PHP5 オブジェクトのリファレンスとデストラクタ
PHP5.0.4を使っています。 原因不明の現象に悩まされていましたが、再現する最小限のコードがわかりました。 class Foo { function __destruct() { } } $bar=&new Foo(); $bar=&new Foo(); というコードで、最初の$barへの代入ではちゃんとFooクラスのオブジェクトへのリファレンスが代入されますが、2回目の代入では結果として$barはNULLになってしまいます。 (1)リファレンスでなく値の代入にする (2)変数名を変える (3)2回目の代入の前に$barをunset()する (4)デストラクタの宣言を削除する のいずれかで2回目もFooオブジェクトが$barに代入されるのですが、(1)は実際はそこそこ大きいオブジェクトなのでコピーするのは無駄、(2)実際はループになっており2回目以降の変数名を変えるのは不可能 ということで、現在は(3)の対処をしています。 Q1.何故こういう現象が起こるのか Q2.デストラクタ宣言の有無で変わるのは何故か Q3.どういう対処が正しいのか 実際の処理は、こんな感じです。 foreach($aaa as $x) { $bar=&new Foo($x); if( $bar->test() ) $value[]=&$bar; /*ここに else unset($bar); を入れるとOK */ }
- PHPの内部動作まで詳しい書籍
いつもお世話になっております。 PHPの処理系の内部動作まで 詳しく解析されている 書籍タイトルを知りたいのですが、 どなたかご存知ですか? よろしくお願い致します。
- phpから外部コマンドを使いたい
外部コマンドを実行するために、phpのsystem()関数を使わせていただきました。 ところで、system('ls'); system('ls -l'); system('whoami');は、全部使えますが、 本当に使えたいsystem('unzip filename.zip');が使えないんです。 ApacheのUserは、nobodyです。 su nobodyにして、unzip filename.zipも使えるようなっております。 なぜ、phpから、system('unzip filename.zip'); は、使えないでしょうか? ご存じの方がいっらしゃいましたら、どうぞお教え下さい。
- ベストアンサー
- PHP
- knowledge_worker
- 回答数3
- 次のPHP BASIC認証画面で
My Realmですよ が文字化けするのですがどうすればいいのでしょうか? このphpをFC4ーPCに配置してWindowsMeーPCのブラウザでこのphpを表示させています <?php echo' <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/> <meta http-equiv="content-style-type" content="text/css"/> <title>goo</title> </head> <body> '; if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate:Basic realm="My Realmですよ"'); header('HTTP/1.0 401 Unauthorized'); echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n"; exit; } else { echo "<p>こんにちは、{$_SERVER['PHP_AUTH_USER']} さん。</p>"; echo "<p>あなたは、{$_SERVER['PHP_AUTH_PW']} をパスワードとして入力しました。</p>"; } echo' </body> </html> '; ?>
- PHPのexec()関数の使い方
お世話になります。 PHPのexec()関数を使って、Windows Media Player で音楽ファイルを再生することを考えています。 プログラムを書く前に実際の動作で再生できるかをチェックするために、コマンドウィンドウを立ち上げてみましたら、プロンプトは次のようになっていました。 C:\Users\User> そこから次のような順でコマンドを手入力し、実際に音楽を再生できました。 C:\Users\User>cd c:/ C:\>cd program files (x86) C:\program files (x86)>cd windows media player C:\program files (x86)>windows media player>wmplayer "D:\ORIGINAL_SONGS\02000 荒井由美 青江三奈 渥美二郎 伍代夏子\2200 荒井 渥美 チェッカーズ 青江 梓\2230 荒井由美\2233 荒井由実 瞳を閉じて.avi" "D:\ORIGINAL_SONGS\..." の部分は音楽ファイルのパスです。 PHPプログラムはlocalhost の root である htdocs にありますが、音楽データはD:ドライブに格納してあります。 この実際の作業をPHPのスクリプトで書いてみたのが次のようなものです。 <?php $rootpath="D:/"; $songpath= "ORIGINAL_SONGS/02000 荒井由美 青江三奈 渥美二郎 伍代夏子/2200 荒井 渥美 チェッカーズ 青江 梓/2230 荒井由美/2232 荒井由実 中央フリーウェイ.avi"; exec("cd c:/"); exec("cd c:/program files (x86)"); exec("cd windows media player"); exec("wmplayer "."'".$rootpath.$songpath."'"); ?> これで音楽が始まるものと期待しましたが、何も始まりません。 コマンドウィンドウを見ても、最初の C:\Users\User> のままでした。 始めてやってみているので何が問題なのかわかりません。 どなたか詳しい方がいらっしゃいましたら、アドバイスいただけると嬉しいです。よろしくお願いいたします。
- ベストアンサー
- PHP
- papashiroSooke
- 回答数10
- 問い合わせフォームからPHPを使って、、、、、
問い合わせフォームからPHPを使って指定のアドレスにメールを送ろうとしているのですが、届きません、、、、、、 原因が分かりません。助けていただけないでしょうか。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>お問い合わせページ</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>お問い合わせページ</h1> <form action="send_email.php" method="post"> <label for="name">お名前:</label> <input type="text" id="name" name="name" required><br><br> <label for="email">メールアドレス:</label> <input type="email" id="email" name="email" required><br><br> <label for="message">お問い合わせ内容:</label><br> <textarea id="message" name="message" rows="4" cols="50" required></textarea><br><br> <input type="submit" value="送信"> </form> </body> </html> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 以下がPHPのプログラムです。 <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; // 送信先のメールアドレス $to = "***@gmail.com"; // 件名 $subject = "お問い合わせがありました"; // 本文 $body = "お名前: $name\n"; $body .= "メールアドレス: $email\n\n"; $body .= "お問い合わせ内容:\n$message"; // メールを送信 mail($to, $subject, $body); // 送信後のリダイレクト header("Location: thank_you.html"); exit; } ?>
- 締切済み
- PHP
- hummingandgo
- 回答数3
- postによる、phpとの受け渡し???
いつもお世話になり誠にありがとうございます。 標記の件。 フロントサイドはブラウザ表示されますが、サーバーサイドは 確認できません。 恐らくはphpが誤っているのでしょう。 質問の仕方が悪いですけど、フロントサイド、サーバーサイド共にソースコードを表示します。 フロントサイドは完璧ではないですけどOKです。 PHPが誤っています。 どうかどこが誤っているか、お教えてください。 下記にコードを表示します。 フロントサイド <!--入力画面--> <form action = "./Blog.php" method = "post"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> フロントサイドの<form></form>の部分と phpのコードをどうか見比べてください。 どう直せばいいでしょうか? フロントサイドをブラウザで表示し、確認ボタンがクリックされたら 確認画面が表示されるようにしたいのです。 ご多忙中恐れ入ります。 ご回答のほど宜しくお願い申し上げます。
- php myadminで昔のバックアップファイル
WordPressで2年前くらいに「All-in-One WP Migration」にてバックアップファイルを作成したことがあります。 現在はそのダウンロードしたバックアップファイルもなく、「All-in-One WP Migration」も削除しております。 不具合が起きて一旦WordPress及びデータベースを削除し新規にインストールしましたが昔のバックアップファイルがphp myadminからダウンロードできるかもしれないと聞きました。 こんなことは可能なのでしょうか? どうぞ宜しくお願い致します。
- ベストアンサー
- MySQL
- toshisan02
- 回答数3
- php-fpm の privatetmp について
php から privatetmp にとあるファイルを出力しました。systemd-tmpfilesの設定は特に変更していないので処理終了直後なら privatetmp 内にファイルは残っていると思っていたのですが残っていない様です。これは何が考えられますでしょうか。 以下環境です。 OS AlmaLinux 8.5 PHP 7.4 以上、よろしくお願いいたします。
- なぜ動かないんですか?[php
ネットの情報などをかき集めただけなので分かりません <?php /* *Plugin Name Noimage-kaok *Plugin URL https://example.com *Description:test wordpress plugin *Version: 1.31 *Author: urayakkyo *Author URL: example.com */ // ここから管理画面 add_action('admin_menu', 'my_plugin_admin_menu'); function my_plugin_admin_menu() { add_menu_page( 'テストプラグイン', // ページタイトル 'Test Plugin', // メニュー名 'manage_options', // 権限 'my-plugin', // メニューslug 'my_plugin_page', // 表示する関数 'dashicons-admin-generic', // アイコン(任意) 6 // メニューの表示位置(任意) ); } // メニューをクリックしたときに表示される内容 function my_plugin_page() { echo '<h1>テストプラグインの管理画面</h1>'; echo '<p>ここに管理画面用の内容を書きます。</p>'; echo ’ <
- perl PHP C++ それぞれのメリット、デメリット
現在CGIを設置したく、勉強をはじめようとしています。 そこでperlとPHPのどちらにしようか考えていたところ、C/C++も使えると知り、基礎的なことだけですが経験のあるC++を使おうかどうか迷っています。しかし、それぞれのメリット・デメリットを知り、それを踏まえた上で使用言語を判断したいので、今回質問させていただきました。 それぞれの言語のできることやできないこと、速度などの違い、習得のしやすさ、柔軟性など、様々な観点からのメリットとデメリットを教えていただけると幸いです。 ちなみに、ただ掲示板なんかを設置したいというわけではなく、最終的には様々な用途に対応できるよう技術力を磨き勉強したいと考えています。 検索するとperlとPHPの比較はあっても、C++まで比較対象にいれてるサイトがなく、わからなかったので質問させていただきました。 よろしくお願いします。
- PHPでのNULLの正規表現
PHPの正規表現で、使える文字が数字またはコンマの場合の書き方 '/^[0-9,]+$/' に使える文字として、NULL文字も追加したいのですが、 その書き方がよく分かりません。 正規表現としては、どのように書けばいいのでしょうか?
- PHP GD関数エラーについて
PHP GD関数エラーについて Warning: Wrong parameter count for imagecopyresized() in /home/sites/heteml/xxx/web/domain/test.php on line 109 上記のようなエラーが出るのですが、どのようなエラーを示しているのでしょうか???
- PHP GETで飛ばす変数の中身
PHP GETで飛ばす変数の中身 a.php→b.phpへ進むボタンを押したとき、 a.phpのフォーム入力でエラーがあった場合はa.phpへ戻るページを作っています。 各フォームの入力チェックは正規表現で判定し、 誤った入力がされた場合は$input2="2"; 正しい入力の場合(else)は$input2=""; のような形で変数に値を代入しています。 ※$input2には「何も入らない」か「2」が入るようにしているつもりです。 入力エラー時にa.phpへ戻る記述は ------------------------------------------------------------------------------ if($input1=="1"||$input2="2"||$input3="3"){ header("Location:a.php?SID&input1=$input1&input2=$input2&input3=$input3"); } ------------------------------------------------------------------------------ のような形にしています。(長ったらしい部分は省いています。) ところが、エラーがないときにa.phpに戻ってb.phpに進まなくなってしまいました。 アドレスバーをみると【input2=1】となっており、なぜか$input2に「1」が入ってしまっているようです。 $input2には「何も入らない」か「2」が入るように記述しているつもりなのですが、 「1」が入ってしまう理由がよく分かりません。 エラーがない場合はb.phpへ進みたいので、「何も入らない」状態にしたいです。 なぜ「1」が入ってしまうのかお分かりの方がいらっしゃれば教えて頂けると嬉しいです。 ※PHPは勉強し始めたばかりなので、不足している点などあればご指摘下さい。 よろしくお願いします。
- ベストアンサー
- PHP
- coconuts_musume
- 回答数1
- PHPのセッション終了について
PHPのセッション終了について http://c-brains.jp/blog/wsg/08/05/22-193020.php こちらのサイトでPHPを勉強しています。 セッションについてなのですが、セッションの開始と関数の働きはつかめたのですが、セッションの終了について不明な点があります。 <?php // セッションの開始 session_start(); // セッション変数の初期化 $_SESSION = array(); // セッションファイルの削除 session_destroy(); ?> この部分なのですが、セッション変数の初期化のみの記述では何がいけないのかが分かりません。 $_SESSION = array(); のみの記述で試してみたところ、$_SESSION に含まれていたキーを呼び出しても中身を出力しなかったので、ちゃんと中身は消えたと思うのですが、この場合、session_destroy()を実行する意味はあるのでしょうか? 何卒ご教授いただけますようお願い致します。
- php関数を使用しないリダイレクト
リンク先を自由に変更できる関数(コード)を教えてください。 (PHP関数(コード)無しのリダイレクト) htmlタグ内にphp関数を入れないで、aタグでリンクさせたURLを変更しないで、 リンク先をランダムで表示させたり、リンク先のサイトを変えたりする方法を教えてください。 以前できていたのですが、関数のデータが消えたため、関数が分からなくなってしまいました。 例) html内の<a href="http://○○/">URLを変更しないで、リンク先をいつでも変更できるような方法です。 (クッションページを挟まないで直接サイトにいく方法です。)
- 締切済み
- HTML
- cherry0115
- 回答数1
