検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- あいまい検索
PHP+DBでLIKEでDBからあいまい検索するように、phpのみで配列からあいまい検索する事は不可能でしょうか? 自分で探した範囲では、不可能なのですが... 可能な方法知ってらっしゃる方がいれば、是非お願いします。
- ベストアンサー
- PHP
- takeya4649
- 回答数1
- WEBページのソースを取得する方法
一つのPHPファイルの処理の中で任意のWEBページにアクセスして結果を取得することはどのようにして実現できるのでしょうか? アクセスする際にpostでデータを送りたいです。 環境 php3.4.11 apache 2.0
- cronが動かない
cronからphpスクリプトを動かそうと設定したのですが動きません。 エラーメールやエラー表示もされません。 phpスクリプト自体は、cronを使わず手動なら動作しています。 どこか設定に異常個所などがあればご指摘やアドバイスなど頂きたいと思います。 以下に設定内容を記載します。 【crontab】 # crontab -u testuser -e 0-59/5 * * * * /usr/bin/php -q /home/testuser/public_html/mail.php 2>&1 0-59/10 * * * * /usr/bin/php -q /home/testuser/private_html/mail.php 2>&1 【cron確認】 # ls -l /var/spool/cron/ -rw------- 1 root root 251 4月 17 15:25 testuser -rw------- 1 root root 71 4月 16 18:28 root 【mail.php】 #!/usr/bin/php <?php $tim = time(); $today = gmdate("Y/m/d(D)",$tim+9*60*60); $now = gmdate("Y/m/d(D) H:i",$tim+9*60*60); mb_language("Ja") ; mb_internal_encoding("EUC-JP") ; $mailto="test@****.jp"; $mailfrom = "From:" .mb_encode_mimeheader("cronテスト") ."<" . $mailto .">"; $parameters = '-f' . $mailto; $return_path = "$mailto"; $subject="テストメール"; $body ="クーロンテスト\n"; $body .="送信年月日: $today \n"; $body .="送信時間: $now \n"; mb_send_mail( $mailto, $subject, $body, $mailfrom,"-f $return_path" ); ?> 【パーミッション】 /home/testuser/public_html/ 705 /home/testuser/private_html/ 705 /home/testuser/public_html/mail.php 705 /home/testuser/private_html/mail.php 705 rootユーザーでのcronは正常に動いています。 ご教授の程、宜しくお願い致します。
- ベストアンサー
- Linux系OS
- minoru4891
- 回答数1
- ページの表示切替について
いつもお世話になっています。 今ボタンを押すとページ移動なしに表示が切り替わるページを製作しています。 【ソース】***********************: <HTML> <HEAD> <script type="text/javascript"> //<![CDATA[ function petChange(tabNo) { var i, pets = 3; for (i = 1; i <= pets; i++) { document.getElementById("tabPet" + i).className = "tab_selector"; document.getElementById("pet" + i).className = "subPet"; } document.getElementById("tabPet" + tabNo).className = "tab_selector selected"; document.getElementById("pet" + tabNo).className = "mainPet"; } //]]> </script> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> <style type="text/css"> /* タブ */ .tab_selector { border : 1px solid #cccccc; line-height : 1.5; margin : 10px 0px; padding : 2px 5px; cursor : pointer; background-color : #ffffff; } .selected { background-color : #cccccc; } .mainPet { padding : 0px 10px; display : block; } .subPet { display : none; } </style> </HEAD> <body> <!-- 切り替え部分 --> <div class="petChanger"> <span id="tabPet1" class="tab_selector selected" onclick="petChange(1);">AAAA</span> <span id="tabPet2" class="tab_selector" onclick="petChange(2);">BBBB</span> <span id="tabPet3" class="tab_selector" onclick="petChange(3);">CCCC</span></div> <div id="pet1" class="mainPet"> <TABLE> <TBODY> <?php include_once('aaaa.php') ?> </TBODY> </TABLE> </div> <!-- ペット表示 --> <div id="pet2" class="subPet"> <TABLE> <TBODY> <?php include_once('bbbb.php') ?> </TBODY> </TABLE> </div> <div id="pet3" class="subPet"> <TABLE> <TBODY> <?php include_once('cccc.php') ?> </TBODY> </TABLE> </div> </body> </HTML> ***************************** 「aaaa」を押すとaaa.phpを読み込み、「bbbb」を押すとbbbb.phpを読み込み・・・としたいのですが、実際動かすとページ表示時に「aaaa.php」が問題なく表示されるのですが、「bbbb」を押すと「aaaa.php」の下に追加される形で「bbbb.php」の内容が表示されます。 これを「bbbb」を押したとき「aaaa.php」を非表示にして「bbbb.php」の内容を表示する、というようにしたいのですがどのように変更すればよろしいでしょうか? <?php include_once('aaaa.php') ?> という場所を文字列に置き換えた場合は正常に動作したため、恐らくphpを読み込む際に問題が発生しているようです。 何卒よろしくお願い致しますm(_ _;)m
- 締切済み
- JavaScript
- news_0203
- 回答数1
- windows7でpathの設定
windows7でpathの設定をするために以下のページの 手順通りにやってみました。 http://www.phpbook.jp/install/ ところが何度やってもPATHが通りません。 C:\Users\xxx>php -v 'php' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 pathを確認すると以下の通りです C:\Users\xxx>path PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 \WindowsPowerShell\v1.0\;c:\Program Files\Intel\DMIX;C:\Program Files\Intel\Serv ices\IPT;c:¥php ちなみにPHPは正常にインストールされているようです c:\php>php -v PHP 5.4.8 (cli) (built: Oct 16 2012 22:30:23) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies どのようにしたら宜しいでしょうか?
- Spreadsheet_Excel_Writer
require_once("Spreadsheet/Excel/Writer.php"); この一行のみで、以下のメッセージが出力されます。 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/Spreadsheet/Excel/Writer/Workbook.php on line 180 Deprecated: Assigning the return value of new by reference is deprecated in /opt/lampp/lib/php/Spreadsheet/Excel/Writer/Workbook.php on line 189 環境に問題があるのでしょうか? ヴァージョンは 0.9.1ですが、0.9.1でも同様になります。
- GETで?の後ろのnameをなしにしたい
【PHP】 GETでパラメータを取得したいです。 通常、 hoge.php?q=hogehoge ↓ echo $_GET["q"]; ↓ hogehoge などとなりますよね? でも、 hoge.php?hogehoge ↓ echo $_GET["●●"]; ↓ hogehoge 出力、みたいにしたいのですが.. hoge.php?hogehoge&mogemoge とか hoge.php?hogehoge&a=mogemoge とかできたら尚良いです。 どうしたらいいのでしょうか? ●●部分を空白にする、とか? 仕様的に無理なんでしょうか? ご教示頂けましたら幸いです。 どうぞよろしくお願いいたします。
- 検索結果のテーブルの各カラムヘッダをキーにソートしたい
上が検索フォーム、下が検索結果のように、画面を横割りにフレーム分割しています。 この検索結果リストの各カラムヘッダにハイパーリンクを仕込んで、 それをクリックするたびに昇順⇔降順でソートさるようにしたいですが、 PHP側をどのように改造する必要がありますでしょうか? 下記の例では、価格、書名がリンクになるイメージです。 【上段フレーム: search_form.htm】 <HTML> <HEAD></HEAD> <BODY> <FORM method="POST" action="list.php" target="result_list"> 書名<INPUT size="44" type="text" name="title"> を含む <INPUT type="submit" name="exec" value="検索"> </FORM> </BODY> </HTML> 【下段フレーム: result_list.php】 <?php $con = mysql_connect(DBSERVER, DBUSER, DBPASSWORD); $selectdb = mysql_select_db(DBNAME, $con); $sql = "select * from bookdb where (title like '%$title%') order by price"; $rst = mysql_query($sql, $con); $recmax = mysql_num_rows($rst); $body = "<B>$recmax 冊みつかりました。</B>"; $body .= "<TABLE border='1'> <TR> <TD>価格</TD> <TD>書名</TD> <TR>\n"; while($col = mysql_fetch_array($rst)) { $body .= "<TR>\n"; $body .= "<TD>" . $col["price"] . "</TD>\n"; $body .= "<TD>" . $col["title"] . "</TD>\n"; $body .= "</TR>\n"; } $body .= "</TABLE>\n"; mysql_free_result($rst); $con = mysql_close($con); ?> <HTML> <HEAD></HEAD> <BODY> <?= $body ?> </BODY> </HTML> ■ 環境 PHP 5.0.4 Win MySQL mysql 4.0.14b Win ■知識レベル: HTMLタグ打ち、初歩的なSQLを理解できる程度、PHP他プログラミング知識なし
- パスワードファイルに与える権限
現在、PHPにて簡単な診断ソフトを作成しております。(PHP開発は初じめて。 実行環境は、OS:RHEL4、Apache2.2、PHP4、MYSQL4) とりあえず動作確認等は終ったのですが、同僚からDBへ接続する際の、ID・ パスワードをPHPに直接記述するのではなく、パスワードファイルを別に持ち、 そのファイルから読み込むようにした方が良いとの指摘を受けました。 また、パスワードファイルを置くフォルダについては、Webサーバ上のホーム ディレレクトリより上位に置いて、WEBから直接参照出来ない様にした方が 望ましいとの指摘も頂きました。(パスワードファイルのフォルダに対しては、 htaccessによるベーシック認証も掛ける予定) PHPアプリと同一フォルダ上にパスワードファイルを置いた時は、問題無く 読めましたが、上位フォルダに置いた時に、エラーが発生してしまいました。 記述したパス名も問題なく、原因が判りません。 ファイルの所有者・管理者・権限の設定等、変更をする必要があるのでしょうか? プログラミングとは関係無いかもしませんが、PHPで開発している事もあるので、 こちらに質問してみました。 ご指摘・アドバイス等、頂ければ幸いです。 宜しくお願い致します。
- XML DOMについて
JavaScriptでDOMを使用して、xmlhttp.sendで指定のPHPファイルに送信しましたが、 PHP側で値を取得できません。 (PHP Ver.5.3.0) 以下、JavaScript var UserID="abc"; var Password="abc"; var xmlDoc = new ActiveXObject("Microsoft.XMLDom"); xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml","version=\"1.0\"")); var root = xmlDoc.createElement("xDoc"); xmlDoc.documentElement=root; var node_Item = xmlDoc.createElement("Command"); root.appendChild(node_Item); var node_UserID = xmlDoc.createElement("UserID"); node_UserID.appendChild(xmlDoc.createTextNode(UserID)), node_Item.appendChild(node_UserID); var node_Password = xmlDoc.createElement("Password"); node_Password.appendChild(xmlDoc.createTextNode(MDString(Password))), node_Item.appendChild(node_Password); var node_Sufix = xmlDoc.createElement("Sufix"); node_Sufix.appendChild(xmlDoc.createTextNode(Sufix)), node_Item.appendChild(node_Sufix); var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("post",topURL("main/Log.php"),false); xmlhttp.send(xmlDoc); 以下、Log.php <?php session_start(); $DEBUG_MODE=false; $xmlLogQ=$_SERVER['DOCUMENT_ROOT']."/test/temp/Request.xml"; $xml = new DOMDocument(); $xml->async=false; if (!$DEBUG_MODE) { if ($XML_LOG) { $xml->save($xmlLogQ); } } else { if ($XML_LOG) { $xml->load($xmlLogQ); } } $doc=$xml->documentElement; if ($xml->parseError.errorCode==0) { $xml = $node=$doc->selectSingleNode("Command/UserID"); if (!($node==null)) { $UserID=$node->text; $node=null; } $node=$doc->selectSingleNode("Command/Sufix"); if (!($node==null)) { $Sufix=$node->text; $node=null; } $node=$doc->selectSingleNode("Command/Password"); if (!($node==null)) { $Password=$node->text; $node=null; } } ?> 保存したXML上、<?xml version="1.0"?>以降書き込みできてません。 どの部分がおかしいか不明の為、申し訳ないですがご教授お願いします。
- ベストアンサー
- PHP
- noname#139568
- 回答数3
- Xserverでの空メール実装について
Xserverで空メールを実装しようとしています。 しかしうまく動作しません。 マニュアルを参考に「メールの振り分け設定」より 条件:あて先が ○○○○○@△△△△ を一致する 処理方法:| /○○○○/□□□□/sippai.php へ 転送する としました。 しかし、携帯電話より○○○○○@△△△△へメール送信しても、 差出人:MAILER-DAEMON@△△△.xserver.jp 件名:Undelivered Mail Returned to Sender と返信されてしまいます。 サーバー側の設定が何か必要なのでしょうか? スクリプトを以下に記載します。 使用スクリプト;PHP5、ライブラリ;PEAR <?php //PEAR::MailCu require_once '/aaaaaa/bbbb/cccc/ddddd/eeeee/fff/Mail.php'; //PEAR::Mail_mimeCu require_once '//aaaaaa/bbbb/cccc/ddddd/eeeee/ggg/mimeDecode.php'; //メールソースを読み込む $source = file_get_contents("php://stdin"); if(!$source){ exit(); } //メールを解析する $decoder = new Mail_mimeDecode($source); $structure = $decoder->decode($params); //送信元を取得する $from = $structure -> headers['from']; $from = mb_decode_mimeheader($from); $from = mb_convert_encoding($from, mb_internal_encoding(),'auto'); if(preg_match( '/<(.*?)>$/' , $from , $match)){ $from = $match[1]; } $from = trim($from); $from = strtolower($from); //送信データを設定する $recipients = $from; $new_from = '○○○○○@△△△△'; $subject = 'empty mail ok!'; $body = 'http://fmob.jp'; //メールを送信する $headers = array(); $headers['From'] = $new_from; $headers['To'] = $recipients; $headers['Subject'] = $subject; $headers['Sender'] = $new_from; $mail = Mail::factory('sendmail'); $result = $mail->send($recipients, $headers, $body); ini_set('log_errors', '1'); ini_set('error_log', 'エラーログのパス'); ?> よろしくお願いします。
- ブラウザのページキャッシュ機能を抑制したい。
いつもお世話になっております。 PHP5.2.5 Firefox3.5.2 ブラウザのページキャッシュをPHPスクリプトにて抑制したいのですが、 PHPマニュアルに書かれていた方法ではダメでした。 その方法は以下の通り。 ---------------- <?php // 日付が過去 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 常に修正されている header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.0 header("Pragma: no-cache"); ?> -------------------------- これではダメでしたので、 毎回、Firefoxの 「ツール」→「オプション」→「ネットワーク(タブ)」 →「今すぐ消去(ボタン)」 という方法で、キャッシュされてしまっているデータを消去して、 最新の状態(変更が反映されたかどうか)を確認しています。 毎回、キャッシュをブラウザ側で消すのは面倒なので、 できれば、PHPスクリプト側で、キャッシュを無効とするような設定に したいと思っています。 PHPマニュアルの方法では無理だったのは、 私の使用しているブラウザに原因があると考えられますでしょうか? ページキャッシュ抑制を、 できればファイル単位で行いたいと考えています。 どなたかアドバイスをお願いいたします。
- データベースの中にあるソースコードを実行させたい
こんにちは。php初心者です。 データベースの中にphpコードを保存して、それをphpで呼び出して中のソースを実行させたいのですがphpコードがそのまま表示されてしまいます。何か良い方法はありますでしょうか? ●データベースの中身 [ID] 0 [contents] $test="テスト"; ●ソース <?php $db = mysql_connect('localhost','root'); mysql_select_db('hoge',$db); $id = mysql_escape_string(0); $sql = "select * from contents where ID = '$id';"; $contents = mysql_query($sql,$db); mb_http_output ( 'UTF-8' ); $aryCol=mysql_fetch_assoc($contents); $a = $aryCol['contents']; echo $a; echo $test; ?> ●実行結果 $test="テスト"; ●開発環境 Apache2.0.59 PHP4.3.2 MySQL4.0.26 と、いうような感じです。実行結果は「テスト」という文字のみ表示させたいのですが、$aに入っているソースコードがそのまま表示されてしまい、$testには何も入っていないままです。 このような処理は不可能なのでしょうか?またデータベースに入っているソースコードの処理を行いたい場合、どのような処理をすればよろしいでしょうか? 私では経験不足なため皆様のお知恵を拝借できればと思い質問させていただきました。くだらない質問で大変恐縮ですがご回答のほうよろしくお願いいたします。
- フォームへ値の渡し方について
こんばんわ。 PHPの勉強をしています。 入力されたIDを元にDBから氏名をクエリし、テキストボックスへ表示させようとしていますが、テキストボックスの指定の仕方が分からず、行き詰っています。 各テキストフォームは<?php?>の中に記述しています。 初心者のため簡単にできることなのかもしれませんが、ご教授願います。 <form method="POST" action="hyouji.php"> ID: <?php if($_POST["ID"]){ $id = $_POST["ID"]; echo "<input type=text name=ID onChange = submit() value = '$id'>"; ECHO "YES"; }else{ echo "<input type=text name=ID onChange = submit()>"; ECHO "NO"; } ?> Name: <?php echo "<input size=28 type=text name=Name ><br>"?> /*上記、テキストボックスに値を入力*/ <input type=submit name=bottun1 value=入力> </form> <?PHP $host = 'localhost'; $user = 'root'; $pass = 'root'; $db = 'DB'; if($_POST["ID"]){ $id = $_POST["ID"]; $link=mysql_connect($host,$user,$pass) or die("接続エラー"); mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); mysql_select_db($db,$link) or die("接続エラー"); $sql="SELECT * FROM test WHERE id = '$id'"; $res=mysql_query($sql,$link) or die("データ抽出エラー"); $rows = mysql_fetch_array($res,MYSQL_ASSOC); echo "<tr>"; echo "<td>".$rows["user_id"]."</td>"; echo "<td>".$rows["customer"]."</td>"; echo "</tr>"; mysql_close($link); }else{ echo "表示データはなし"; } ?> 以上、長文になりましたがよろしくお願いします。
- エラーが起きた位置の特定
例えば下記のようなコードで、この(↓)エラーが出たとします。 Warning: somefunc1(): The argument should be an array in /path/to/test.php on line 5 このエラーが、 A) 18行目→test_func1()→somefunc1() の経路で発生したエラーなのか、 B) 19行目→test_func2()→test_func1($arg1)→somefunc1() の経路なのか、 C) 19行目→test_func2()→test_func1($arg2)→somefunc1() の経路なのか、 それを効率よく判断する方法はありませんか? この位簡単なコードではデバッグも簡単なんですが、大規模なアプリケーションになってくると、どの時点で起きたエラーなのか(どの手順で呼び出された時なのか、ループの何回目なのか等)の判断ができなくなってきてしまいます。 ==== test.php ==== 01: <?php 02: 03: function test_func1($arg) 04: { 05: somefunc1($arg); // PHP組み込み関数 06: } 07: 08: function test_func2($arg) 09: { 10: $arg1 = somefunc2($arg); // PHP組み込み関数 11: $arg2 = somefunc3($arg); // PHP組み込み関数 12: test_func1($arg1); 13: test_func1($arg2); 14: } 15: 16: $val = /* ...処理... */ ; 17: 18: test_func1($val); 19: test_func2($val); 20: 21: ?> よろしくお願いいたします。
- ベストアンサー
- PHP
- pe_daichan
- 回答数1
- エラー表示について
PHP初心者の波平と申します。 今PHP5、Mysqlを使ってDBの作成をしています。 この度のエラーメッセージの表示をスイッチ文を使ってエラーを表示したいのですがPHPの構文エラーで最後の行でParse error: syntax error,というエラーが出てしまいます。ドコがいけないんでしょうか?宜しくお願いします。 <?php $se_EMAIL="a"; $se_PWD = A; $se_POINT = 1210000; $P_EMAIL="a"; $P_PWD = A; $Pay1 = 3; $q_array=array(1=>"200000","500000","1000000"); //未入力項目がないか確認 if($P_EMAIL=="" || $P_PWD=="" ) { Error(1); } else { //入力したメアドとパスワードがセッションしてる物と同じか確認 if($se_EMAIL != $P_EMAIL) {Error(2);} elseif($se_PWD != $P_PWD) {Error(3);} //同じなら換金したいポイントをse_POINTからを引き$NEWPOINへ。 else{ if($Pay1 == 1) if($se_POINT >= 200000) {$NEWPOINT = $se_POINT-$q_array[$Pay1];} else {Error(4);} } ?> <html> <head> </head> <body> <br> $NEWPOINTの表示<br> 残りは<?= $NEWPOINT ?>ポイントです。<br> </body> </html> <?php function Error($error_type){ switch($error_type){ case 1: $error_msg = "未入力項目があります。"; break; case 2: $error_msg = "メールアドレスが違います。"; break; case 3: $error_msg = "パスワードが違います"; break; case 4: $error_msg = "ポイントが不足しています。"; break; } ?> <html> <head> </head> <body> **** エラー ****<br> <?= $error_msg ?><br> </body> </html> <?php exit; } ?>
- 再応募したいのですが・・・。(http://www.okweb.ne.jp/kotaeru.php3?q=452534の続編)
http://www.okweb.ne.jp/kotaeru.php3?q=452534をご覧下さい。 さて応募して十日たちました。 まだ志望先から連絡もありません。 電話してもいいのか悩んでいます。 どうしても入りたい会社なので諦めたくもありません。 採用担当者になんていえば良いのですか? 明日の夕方に電話するつもりですが・・・。 皆さんからのアドバイスください。
- ベストアンサー
- その他(就職・転職・働き方)
- uuur
- 回答数2
- PHPのサーバでアクセスが急におそくなったのですが,原因を調べる方法。
こんにちは, 現在ApacheとLinux Redhat9でWebサーバーを構築しています。 サーバースクリプトはPHP4を使用しているのですが,急に遅くなりました。 遅くなった部分を調べてみると : hogehogehoge($a); : if (!ereg($a .....)) { print("error"); } : となっています。 それで,しらべてみたのですが,遅いのはhogehogehogeという関数なのですが,そこを「//」でコメントアウトすると今度はeregの部分で時間がかかっているようなのです。 <時間がかかっているとわかったのは,print_r("debug"); flush();という部分を入れて,表示させてみました> 他のphpではうまくいっているようなのですが,何がわるいのでしょうか? 情報として少ないのですが,よろしくお願いいたします。 <他の情報でわかるのあれば,返答いたしますので,よろしくお願いいたします。>
- PHPでWebページの特定部を取得したいのですが、上手くいきません。
PHPでWebページの特定部を取得したいのですが、上手くいきません。 現在file_get_contentsを用いてURLを指定して取得し、preg_matchの引数にする方法で行っています。 また、preg_matchは以下のように用いています。 preg_match("/パターン(.*?)パターン/s", $html, $matches); print_rで$matchesを表示してみたところArray()のみ出力されます。 また、話が逸れて申し訳ないですが、上記とは別にfile_get_contentsを用いて動的にURLを指定して取得しているのですが、処理に時間がかかります。(約10秒) $wordをURLに組み込む変数として以下のように記述しています。 file_get_contents("http://…".$word."…(URLの続き)"); 以上の2点についてご教示願います。
- PHPで会員用ページを作っているのですが、あるディレクトリ以下の特定の
PHPで会員用ページを作っているのですが、あるディレクトリ以下の特定のファイルを削除したい場合は、どういった処理を行えば良いでしょうか?
