検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- PHP4+Apacheから外部プログラム起動(XP
WindowsXP+PHP4+Apacheの環境からRocketMouseという操作自動化ソフトを外部プログラムとして起動したいです。 検索したところ、ローカル環境なら可能…というような事を書いている方がいたのですが、どのようにすれば実現できるのでしょうか? 現在はPHPでテキストファイル出力→別途、RocketMouseを起動してテキストファイルを読み取っての自動化処理・・・という二段階の作業をしているのですが、クリック一発で終われば楽になるので、どうにか実現したいと思っています。 exec関数などでフルパス指定して試みたりしてみましたが、全然うまくいきません(IEのプログレスバーが途中で止まってしまいます)。PHP.iniを確認しましたがセーフモードにもなっていません。 タスクマネージャーでプロセスを確認すると、起動はしているようなのですが、実際に画面には何も表示されてくれません。 現状、RocketMouseどころか、電卓やメモ帳でも同じような状況です(タスクマネージャーにのみ表示されるが、GUI表示が一切ない状態)。 何が間違っているのか・・・そもそもが不可能なのか・・・詳しい方おられましたらどうかよろしくお願い致します。
- PHPによる問い合わせフォームの作り方
現在、Webサイトを作成しており、もうそろそろで完成します。 しかし、問い合わせフォームの作り方がわかりません。 一応、「いきなりはじめるPHP ワクワクドキドキの入門教室」という書籍を読んで練習しましたが、この書籍ではXAMPPというフリーのサーバーを使用してPHPを動かしていました。 私は、実際に独自ドメインを取得し、minibredというレンサバも借りているのですが、この場合のPHPの動かし方がわかりません。 ちなみに、問い合わせフォームにはデータベースやMySQLは必要なのでしょうか? 今のところ、問い合わせフォームから送られてきたデータを蓄積し、分析をしようという考えはありまえん。 問い合わせフォームから送られてきた内容(氏名、住所、市年月日、フリーワードなど)を、好きな時に確認できれば良いです。 また、問い合わせフォームから送られてきな内容は、どこで確認できるのでしょうか? メールソフト(Outlook Express、GMailなど)で確認はできるのでしょうか? 何かアドバイスを頂ければ幸いで御座います。 宜しくお願い致します。
- ベストアンサー
- PHP
- noname#233083
- 回答数1
- WindowsとCentOSでのPHPの動作
いつもお世話になっております。 Windows環境で開発したPHPアプリをCentOS環境に移行しようとしているのですが、 件名のとおり、PHPのrequireの動作がWindowsとCentOSで違うことから、 原因を調べております。お知恵を拝借したいと思います。 例えば、以下の構成で親プログラム(myApp.php)から子(myparts/main.php)を読み込もうとしています。 ドキュメントルート/test/myApp.php ドキュメントルート/parts/mypartsA/main.php ●myApp.php <?php echo ("##### myApp is starting now !!! </br>"); require_once('/parts/mypartsA/main.php'); ?> ●mypartsA/main.php <?php echo ("#### mypartsA is required </br>"); ?>And myApp.php and mypartsA/main.php are in following structure. 結果として、 ●Windowsでは、以下が表示されますが・・・ ##### myApp is starting now !!! #### mypartsA is required ●CentOSでは、以下のとおりエラーになります。 PHP Warning: require_once(/parts/mypartsA/main.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /var/www/html/test/myApp.php on line 12 PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required (/parts/mypartsA/main.php’(include_path='.:/php/includes:/usr/share/pear:/usr/share/pear/PEAR:/var/www/html') in /var/www/html/test/myAPP.php on line 12 解決策として、以下のようにすればエラーが解消することは分かっているのですが・・・ require_once($_SERVER['DOCUMENT_ROOT']./parts/mypartsA/main.php); なるべく既存のアプリに手を入れたくないので、 何故Windowsではできて、何故CentOSではできないのかを知りたいと思います。 とりあえず、PHP.iniのinclude_pathを調べてみましたが、 表記方法の違いはあるものの、に意味的な違いが見つかりません。 ●Windowsでの設定 .;C:\PHP;C:\PHP\pear;C:\Apache2.2.22\htdocs ●CentOSでの設定 .:/php/includes:/usr/share/pear:/usr/share/pear/PEAR:/var/www/html この他何をポイントに調べていったらよいか教えていただければと思います。 よろしくお願いします。
- ベストアンサー
- PHP
- freeradical
- 回答数4
- include_onceで呼び出したPHPファイル
PHPでサイトを組んでいるのですが、include_onceで以下のようにPHPの各ファイルを呼び出して実行しているのですがうまくいきません。 <?php //レンタルサーバーのcronを利用して、定期的に走らせるコードです。 include_once "example_a.php"; include_once "example_b.php"; include_once "example_c.php"; ?> 各ファイルは、RSSで読み込んだデータをMySQLに格納するプログラムです。 個別で各ファイルを実行すると正しい結果となりますが上記のようなプログラムでまとめて実行するとexample_a.phpは正しい結果となりますが、example_b.php、example_c.phpは正しく処理されません。 原因として考えられるものがあれば、教えていただきたいと思います。 よろしくお願いします。
- phpについて、基本の質問です。
phpで301リダイレクトをやりたいのですが、使用しているサイトの保存形式が全て .htmlです。 phpを使用する際は.phpにしなければいけないのでしょうか。 ※理由 設定をしたのですが、更新してもurlが切り替わらなかったため。 リダイレクトを確認してくれるサイトではOKと表示されていました。 よろしくお願いします。
- ベストアンサー
- PHP
- rossi46mail
- 回答数2
- PHPの名前空間インポートについて
PHPのグローバル空間において useキーワードを用いた際のインポートについて質問です。 ---------------------------------------------------------------------------------------------------------- sample.php <?php //グローバル空間 namespace{ use SAMPLE;//はインポートできない。 use ¥SAMPLEはインポートできる。 print "名前空間のインポート"; print PHP_EOL; $hoge = new SAMPLE\TestClass(); } //任意の名前空間 namespace SAMPLE{ class TestClass{ public function __construct (){ print __NAMESPACE__; } } } ---------------------------------------------------------------------------------------------------------- とあった場合、グローバル空間内でuseキーワードを用いる場合 use ¥SAMPLE; だとインポートができて use SAMPLE: だとインポートできない理由(というか仕様)が理解できません。 具体的には PHP Warning: The use statement with non-compound name 'SAMPLE' has no effect in という警告がでます。 上記の例の場合たとえ use ¥SAMPLEでインポートしても 実際にクラスを使用する場合は new SAMPLE¥TestClass(); と修飾名でコールしなければならないので コードを書く労力としてはあまり意味がないのですが。。。。。 どなたか グローバル空間内で上記の様に use ¥SAMPLEだとインポートできるのに use SAMPLEだとインポートできない理由(仕様)、このように理解すればよいという理由を ご教授ください。よろしくお願いします。
- PHP セッションを利用した入力フォーム
入力内容をセッションで保持しているフォームで, 入力画面から「前の画面に戻る」ボタンが押された際に 保持していた入力内容のセッションを破棄するようにしたいのですが, どのようにしたらいいでしょうか. unset($_SESSION['変数名'])で破棄できるのはわかっているのですが, これをどこに記述したらいいのかがわかりません. それとも,別の破棄する方法があるのでしょうか. 入力内容に関係ないところでもセッションを使っているので, session_destroy()ですべて破棄するのはしたくありません. よろしくお願いいたします.
- PHPがあればCGIは使わない
掲示板を作ってみたいです。 とりあえず仕事に使うわけでもないし、あくまで趣味の範囲なので覚えやすいと言われるPHPを勉強してみようと思いました。 昔から掲示板作りにはCGIというものが必要というイメージがあり、CGIを勉強できる本を探したところ、Perlとセットのタイトルを持つ本ばかりで「CGI/PHP入門」みたいなのはありませんでした。 もしかしてPerlで掲示板を作るにはCGIが必要と言うだけで、PHPなら単独で掲示板が作れるのでCGIは必要ないということなんでしょうか?
- ベストアンサー
- PHP
- noname#250248
- 回答数7
- locatin.hrefのリンク付き画像とPHP
現在、MySQLとPHPを組み合わせたシステムを作っています。 MySQLのi5_volumeというカラムの中の数値が「1より大きい」ときにボタンを表示させ、0以下であれば表示させないようにしたいと考えています。 ボタンは画像でありlocation.hrefで別のページにリンクされています。 (OAuthで認証エラーを避けるため <a href></a> はNG) 画像からのリンクは下記のソースになります。 【画像のソース(locatin.hrefのリンク付き)】 <img src="./abc.png" onclick="location.href='sell.php?e2_id=<?php echo $price['e2_id']; ?>&time=<?php $time = date('G'); echo $time; ?>';" /> 「i5_volumeが1より大きければ画像を表示させ、0以下であれば表示させない」ためのPHPは下記です。 【規定値で画像が表示されるPHP(画像は直リンク)】 <?php IF ($my_volume['i5_volume'] >= 1) {echo "<IMG src=\"./abc.png\" >";} ELSE {echo "";} ?> 従い、 【規定値で画像が表示されるPHP(画像は直リンク)】 の画像のソース部分を 【画像のソース(locatin.hrefのリンク付き)】 に置き換えれば基本的にはいいはずなのですが、下記ではうまくいきません。エラーになり何も表示されません。 どこが悪いかご指摘頂けませんでしょうか? <?php <?php IF ($my_volume['i5_volume'] >= 1) {echo " <img src=\"./abc.png\" onclick="location.href='sell.php?e2_id=$_price['e2_id'];&time= $time = date('G'); echo $time;'" /> ";} ELSE {echo "";} ?>
- PHPで任意の数の行抽出
PHPで下記のような文字列がありますが、 この文字列から先頭2行抽出して画面に表示したいのですが、 調べてみてもいい例がありませんでした。 各3種類の改行コードからの各先頭2行抽出方法です。 $a="文字列1\r\n文字列2\r\n文字列3\r\n"; $b="文字列1\r文字列2\r文字列3\r"; $c="文字列1\n文字列2\n文字列3\n";
- ベストアンサー
- PHP
- IrohaKujoh
- 回答数4
- phpのrenameでエラーが出ます
初めて質問させて頂きます。php初心者で困っていますので教えて下さい。 申し込みフォームで画像を選択 ↓ 確認画面($_FILESに入っている画像を、uniqidで生成したファイル名で一時ファイルフォルダに保存 ↓ 確認ボタンを押すと、申込内容をmysqlに登録、autoincrementしたシリアルナンバーを$_SESSIONに格納 ↓ 完了画面でシリアルナンバー+拡張子でアップロードしたファイルをリネーム&フォルダ移動 というプログラムを作っているのですが、最後のリネーム&移動のところでエラーが出てしまいます。 出力されるエラーは Warning: rename( tmp/5194a2db03b16.jpg, photo/164.jpg): in C:\xampp\htdocs\hogehoge\hoge\complete_01.php on line 18 オンラインサーバーにアップすると同じエラーは出ないのですが、コピーはされません。 参考にrename部分のコードです //写真を指定フォルダに移動 $oldpath = " ichiji/". $_SESSION["onamae"]; $newpath = " photo/" . $_SESSION["id"]; $rename = rename($oldpath , $newpath); $_SESSIONとファイルのパスですが、printで正しくデータが渡されていることを確認しています。 どなたか教えてください。
- ベストアンサー
- PHP
- takabombbomb
- 回答数1
- PHPサイトとHTMLサイト、どっちが速い?
現在、私はホームページ・ビルダーを使ってHTMLサイトを制作し、さくらのレンタルサーバを使用してアフィリエイトをしています。 WordPressやMovableType等で作ったPHPサイトは、HTMLサイトに比べて速いのでしょうか? ご存じの方がいらっしゃいましたら、教えてください。
- ベストアンサー
- ハードウェア・サーバー
- ttrn_001
- 回答数3
- phpのプリペアドステートメントのエラーについて
phpを使い、開発を行っています。 ある画面から値を選択し、POSTを使用して、別の画面に遷移させ、プリペアドステートメントにてDB(MySQL)からデータを取得するコードを記載していたのですが、下記エラーが出力されてしまいます。 「PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in 」 下記にソースを記載しておりますが、bindValueの定義等、誤ってないと思うのですが。。。 どなたか、解決策をご教示頂けないでしょうか。 送信側のソース <?php function showOption($start, $end, $step = 1) { for ($i = $start; $i <= $end; $i += $step) { print('<option value="'.$i.'">'.$i.'</option>'); } } <form method="POST" action="AAA.php"> <div id="container"> <select id="rdate_year" name="rdate_year"> <?php showOption(2013, 2020); ?> </select> <label for="rdate_year">年</label> <select id="rdate_month" name="rdate_month"> <?php showOption(1, 12); ?> </select> <label for="rdate_month">月</label> <select id="rdate_day" name="rdate_day"> <?php showOption(1, 31); ?> </select> <label for="rdate_day">日</label> </div> <input type="submit" value="検索" /> </p> </form> AAA.php <?php $db = new PDO('mysql:host=localhost; dbname=php10; charset=utf8', 'ユーザー', 'パスワード'); $sqla = "SELECT * FROM AAAAAA WHERE rdateyear = :rdata_year AND rdatemonth = :rdate_month AND rdateday = :rdate_day"; $stt = $db->prepare($sqla); $stt->bindValue(':rdate_year', $_POST['rdate_year']); $stt->bindValue(':rdate_month', $_POST['rdate_month']); $stt->bindValue(':rdate_day', $_POST['rdate_day']); $stt->execute(); while ($row = $stt->fetch()) { print($row['rdate_year']); }?> よろしくお願いしますm(_ _)m
- ベストアンサー
- PHP
- chinkanano
- 回答数4
- phpとaspの違いについて
自社のホームページのリニューアルを検討中です。 業者数社に問合せ中ですが、phpとaspと会社によって提案された言語が違います。 ホームページは、殆どが静的なページで、プログラムが必要なのは、管理画面から更新のできる新着情報と商品一覧・商品詳細ページのみです。 どちらのプログラムがより良いのでしょうか? プログラムの知識があまりありませんので、初心者にわかるようにご説明頂けたら助かります。 よろしくお願い致します。
- phpとmysqlの初心者の疑問
すいませんphpとmysqlの処理のしくみがわかってないです phpの処理の中でmysqlからSELECTで値を取得する場合 mysqlが大量のデータで処理に時間がかかった場合は、SELECTの処理に5秒くらいかかっても、phpの処理の中でそこで待ってくれているんですか? SELECTの処理が何秒かかったとしても終わってから次のphpの処理にいっているんですか? phpって速いのにmysqlのスピードが遅かったらちゃんと読み込まれないんじゃないかと心配になっています
- phpでのリダイレクト処理について
phpで index.php にアクセスがあった時に、 以下の様に top.php へリダイレクトさせたいと思います。 header("Location:top.php"); exit(); この時、top.phpが表示された時のブラウザのアドレスバーは index.php のままです。 アドレスバーのURLを top.php にする方法はないですか?
- 締切済み
- PHP
- soulsou1975
- 回答数3
- PHPでXMLデータ生成、スキーマで失敗
PHPのDOMDocumentを使ってXMLデータを生成しています。 $dom->schemaValidate('xsdファイル'); で失敗してしまします。 どうしても原因がわからないので吐き出すデータを最小限にして試してみましたが状況が変わりませんでした。 スキーマは以下のようになっています。 <?xml version="1.0" encoding="Shift_JIS" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Response"> <xsd:complexType> <xsd:sequence> <xsd:element name="user" type="user_type" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="user_type"> <xsd:sequence> <xsd:element name="developerID" type="xsd:string" /> <xsd:element name="operation" type="xsd:string" /> <xsd:element name="User-Agent" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:schema> そして吐き出されるxml形式のデータは、 <?xml version="1.0" encoding="Shift-JIS"?> <Response> <user> <developerID>testdeveloperID</developerID> <operation>testoperation</operation> <User-Agent>Mozilla/5.0 (Windows NT 6.0; rv:7.0.1) Gecko/20100101 Firefox/7.0.1</User-Agent> </user> </Response> 出てしまうエラーは、 Warning: DOMDocument::schemaValidate() [<a href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]: The document has no document element. in "実行しているphpファイルのパス" on line 12 ちなみに実行phpの12行目には、 $dom->schemaValidate('xsdファイル'); があります。 スキーマを使用してのxmlデータ吐き出しは初めてなのでいろいろと戸惑っています。 何か解決方法もしくはエラーが出てしまう原因をご存知の方がいらっしゃいましたらアドバイスをいただけないでしょうか。 よろしくお願いいたします。
- ラジオボタンを使いphpからjavascriptへ
現在、ラジオボタンを使い、phpからjavascriptへ変数を持っていくプログラムを組もうと考えているのですが、なかなかうまくいきません。 まず、PHP側のデータ(test.phpという名前で)でラジオボタンを作成し、その選択したボタンの内容をjavascriptへ(test.htmlという名前で)送り、その選択した変数の内容をjavascript内で使いたいのです。 php→phpは簡単にできたのですが、どうにもjavascriptに変数を送ることができないので、もしかして仕様で無理なのかな?と思い始めました。 上記の事柄が仕様的に無理かどうか知りたいです。また、もし可能ならば何か特別な記述などが必要でしょうか?厚かましいでしょうが、簡単なサンプルを記述してもらえればうれしいです(現在つまっているのでヒントだけでもほしいです)
- PHP 未定義の変数について
以前にも質問しましたが、新たに壁にぶつかってしまったので再度投稿させていただきます。 ToDoリストを作っており、予定を入力フォームからデータベースへ登録、表示することまではできました。 現在は、表示されている全ての予定レコードの右端に"更新"と"削除"のボタンを設置し、それぞれの動作を行いたいと考えております。 それぞれのボタンに<input type=hidden name=No value='.$row[No].'>と記述し、更新箇所を入力するフォームを別ファイルで用意してあります。 しかし"更新"ボタンを押しても、 Notice: Undefined variable: No in C:\××××××××××\input_update.php on line 17 データは削除済か、もしくは存在しません。 というエラーメッセージが出てしまいます。(※"データは削除済みか~"は自分で記述したメッセージです。)実際にデータはあるので、変数の受け渡しがうまくいってないと思うのですが・・・ 調べると、「未定義の変数があるよ」という事なのでしょうが、未定義の変数というものが分かりません。 all_todo.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT * FROM `todo`"; $todo_list=mysql_query($sql); while($row=mysql_fetch_array($todo_list)) { echo("<tr id='honbun'>"); echo("<td>"."<input id='c_change' type='checkbox' name='check' value='check'>".$row["済"]."</td>"); echo("<td id='No'>".$row["No"]."</td>"); echo("<td id='title'>".$row["タイトル"]."</td>"); echo("<td id='todo'>".$row["内容"]."</td>"); echo("<td id='limit'>".$row["期限"]."</td>"); echo("<td id='priority'>".$row["優先度"]."</td>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=更新></td>"); echo("</form>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=削除></td>"); echo("</form>"); echo("</tr>\n"); } mysql_free_result($todo_list); mysql_close(); ?> input_update.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT `No`,`タイトル`,`内容`,`期限`,`優先度` FROM `todo` WHERE `No`='$No'"; $todo_list=mysql_query($sql); if(!$row=mysql_fetch_array($todo_list)) {die("データは削除済か、もしくは存在しません。");} echo "<form action=update.php method=post>"; echo "タイトル<input type=text name=タイトル value=\"" . $row["title"] . "\"> "; echo "内容<input type=text name=内容 value=\"" . $row["todo"] . "\"> "; echo "期限<input type=text name=期限 value=\"" . $row["limit"] . "\"> "; echo "優先度<input type=text name=優先度 value=" . $row["priority"] . "> "; echo "<input type=hidden name=id value=" . $id . ">"; echo "<input type=submit value=更新>"; echo "</form>"; mysql_free_result($todo_list); mysql_close(); ?> というコードです。 私の推測では、 >{die("データは削除済か、もしくは存在しません。");} というメッセージが表示されていることから、フォームからデータの受け渡しは出来ているのだと思います。ただ、意図した変数が渡されていないと思うのですが、フォームのvalue='.$row[No].'という記述に問題があるのか、はたまたname=Noの部分か、SELECT文の記述が悪いのかまったく分かりません。 どなたか知恵をお貸しください。 お願いいたします。
- PHPとJavascriptの連携について
PHP・Javascriptの初心者です。 PHPで設定された、配列のデータをJavascriptで作成した関数の渡したいのですが どうすればいいのでしょうか? 以下にサンプルを作成したのですが PHPで設定した、配列 $name が Javascriptに渡せません。 何が悪いのですか? 教えてください。 よろしくお願いします。 -sample.php- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <!-- CSS: implied media="all" --> <link type="text/css" rel="stylesheet" href="css/websyslogin.css" /> <!-- JavaScript loading --> <script src="js/websysdebug.js"></script> <script type="text/javascript"> function sysdebug( ss ){ alert( "Login -> "+ss ); } </script> <!-- タイトル --> <title>Vware Web System(PHP) </title> </head> <body> <?php $name = array(); $name[0] = "ABC"; $name[1] = "BCA"; ?> <input type="button" value="TEST" name="debug" id="debug" onclick="sysdebug(' <?php print $name[0]; ?> ');" /> <script type="text/javascript"> for( i=0;i< 2;i++ ) { ss = ' <?php print $name['+i+']; ?> '; alert( ss ); } </script> </body> </html>
