検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- PHPとCSVでレシピサイトを作る
こんにちは☆ PHPとCSVでレシピサイトを作ってます。 MYSQLでの構築は知識が足らないのでCSVを用いています。 まず HTMLで下記のように書いて | 略 <a href=\"deatail.php?recipe=1\">作り方</a> カレーライス|30分|★★★★ <a href=\"deatail.php?recipe=2\">作り方</a> シチュー|10分|★★☆☆ deatail.phpで $code = $_GET[\'recipe\']; $code =htmlspecialchars($code); $fp = fopen(\"recipe.csv\", \"r\"); while ($data = fgetcsv($fp, 10000)) { if ($data[0]==$code) { print <<<HTML <table> <tr> <td>$data[1]</td> <td>$data[2]</td> | 略 </tr> recipe.csvはこんな感じです ID,名前,材料,一言 1,カレーライス,玉ねぎ/にんじん/セロリ/にんにく/鶏肉,初心者でも作りやすいよ 2,シチュー food.csv ID,名前,画像, 1,玉ねぎ,<img src=\"tamanegi.gif\"/> 2,にんじん<img src=\"ninjin.gif\"/> 3,セロリ<img src=\"serori.gif\"/> 4,にんにく<img src=\"ninniku.gif\"/> 5,鶏肉<img src=\"toriniku.gif\"/> さらに玉ねぎやにんじんetcの詳細をdeatail.phpに表示させたいんですが、どのようにすればいいのか・・・ 頭が混乱してます(>_<) 一応考えてみたんですが recipe.csvの材料の所に 1,カレーライス,<a href=\"food_deatail.php?food_id=1\">玉ねぎ</a>/<a href=\"food_deatail.php?food_id=2\">にんじん</a>/セロリ/にんにく/鶏肉,初心者でも作りやすいよ <a href=\"food_deatail.php?food_id=1\">玉ねぎ</a>と書いて food_deatail.phpで $code = $_GET[\'food_id\']; $code =htmlspecialchars($code); $fp = fopen(\"food.csv\", \"r\"); while ($data = fgetcsv($fp, 10000)) { if ($data[0]==$code) { print <<<HTML <table> <tr> <td>$data[1]</td> <td>$data[2]</td> こうするしか無いのでしょうか? 何か複雑で頭がコンフューズしております 是非ご教授よろしく願います。
- apache経由でphpのmysql接続不可
以下をWindowsXP SP2にインストールしました。 apache_2.2.10-win32-x86-openssl-0.9.8i.msi php-5.2.6-win32-installer.msi mysql-essential-5.0.51b-win32.msi apache経由でmysql_connect()を実行すると以下エラーがapacheのerror.logに記述されmysqlに接続できません。 PHP Fatal error: Call to undefined function mysql_connect() コマンドプロンプト上でphp test.phpと実行する場合は接続できます。 関係ないかもしれませんが、phpinfo()を確認したところ、Apache EnvironmentのPATHにC:\Program Files\PHP\が入っていません。コマンドプロンプト上でsetコマンドを実行するとC:\Program Files\PHP\がPATHに含まれています。apache、OSの再起動を実行しましたが改善しませんでした。 httpd.confおよびphp.iniはインストールウィザードに従い設定し、php.iniの外部モジュールを以下2つ以外コメントアウトする修正のみ行っております。 extension=php_mysql.dll extension=php_mysqli.dll 改善方法をご教授願います。
- 締切済み
- PHP
- noname#71607
- 回答数1
- phpで添付ファイルを受信したい。
phpで添付ファイルを受信したい。 すみません。つい最近PHPをはじめたものです。 そこで質問なのですが、 PHPを使って添付ファイル付のメールを受信して添付ファイルを見る事は可能でしょうか? もしよろしかったらやり方をご指導いただけるとありがたいです。 よろしくお願いいたします。 環境 PHP5.1.6
- 締切済み
- PHP
- sadaoizumu
- 回答数3
- qmail+phpでfwriteができません
お世話になります qmailの.qmailを変更し空メールをトリガーにphpを起動させ さまざまな処理を行いたいと考えています! 次のようなテストをしたのですが、なぜかfwrite()が動いてくれません test1の「aaa.php」 - 成功 はじめににmb_send_mail()を書いて空メールを送ることに成功しました。 test2の「aaa.php」 - 失敗 次にfwrite()を書いてtest2.txtが作れるか試してみたのですが出来ませんでした。 なぜ、test2.txtが作れないのかわかる方にご教授願いたいです。 なにとぞよろしくお願いいたします ・test2の「aaa.php」を直接ブラウザで参照すると成功します。 ・test2.txt及び下層フォルダの属性を777にしてみましたが失敗します。 ・test2の「aaa.php」にchmod("test2.txt",0777)を加えましたが失敗します。 ・is_writable()でtest2.txtを調べるとfalseが帰ってきているようです(成功しているmb_send_mail()を使って検証) (.qmail)--- | /usr/bin/php /var/www/vhosts/Mydomain/httpdocs/aaa.php #mb_send_mail()は成功するのでここの設定は問題ないと思われます (test1の「aaa.php」 - 成功)--------- function Sendmail($title,$body,$to,$from_name,$from_email) { mb_language('Ja'); mb_internal_encoding('utf-8'); $mailfrom='From:'.mb_encode_mimeheader($from_name).'<'.$from_email.'>'; mb_send_mail($to,$title,$body,$mailfrom); } Sendmail('mailtest','test','test@Mydomain.com','test','test@Mydomain.com'); (test2の「aaa.php」 - 失敗)--------- $test = "test"; $filename = "test2.txt"; //chmod($filename, 0777); $handle = fopen($filename, 'w+'); fwrite($handle, $test); fclose($handle);
- ベストアンサー
- PHP
- susan-styl
- 回答数2
- php mysql でチェックボックスによる検索
お世話になります。 PHPにてDB(MySQL)に登録されたデータをチェックボックスで検索するスクリプトを組んでおります。 検索項目として(複数チェック可) 住所: □東京都 □神奈川県 □埼玉県 性別: □男 □女 とあります。 例えば東京都、神奈川県、男にチェックを入れた場合、 東京都+男、神奈川県+男のデータを取り出したいのですが、二つチェックを入れた場合、データが見つからないとなってしまします。 同じような質問は全て目を通して試してみたのですが、なかなかうまくいかない為、お力をかしていただければと思います。 スクリプトは以下となっております。 ------------------------------------------------------------- input.php <html> <head> <title>PHP SEARCH</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body bgcolor="#FFFFFF" text="#000000"> <form action="search.php" method="POST" > <form> <b>住所</b><br> <input type="checkbox" name="pref[]" value="東京都">東京都<br> <input type="checkbox" name="pref[]" value="神奈川県">神奈川県<br> <input type="checkbox" name="pref[]" value="埼玉県">埼玉県<br> <b>性別</b><br> <input type="checkbox" name="sex[]" value="男">男<br> <input type="checkbox" name="sex[]" value="女">女<br> <br> <input type="submit" value="検索開始"> </form> </body> </html> ------------------------------------------------------- search.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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>サーチ</title> </head> <body> <?php $pear_path = 'c:/xampp/php/PEAR'; set_include_path(get_include_path() . PATH_SEPARATOR . $pear_path); require_once('MDB2.php'); // DSNの設定 $dsn = array( 'phptype' => 'mysql', 'username' => 'root', 'password' => '', 'hostspec' => 'localhost', 'database' => 'test01', ); // オプションの設定 $options = array( 'portability' => MDB2_PORTABILITY_ALL, ); // 接続 $mdb2 =& MDB2::connect($dsn, $options); if (PEAR::isError($mdb2)) { exit('データベースへの接続に失敗しました'); } // 初期化 $sql = 'set names utf8'; $res =& $mdb2->query($sql); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); // 都道府県 if(isset($_POST['pref'])){ $a = implode(' OR ',$_POST['pref']); } // 性別 if(isset($_POST['sex'])){ $b = implode(' OR ',$_POST['sex']); } // 検索 $sql = "select * from sample where pref in ('$a') AND sex in ('$b')"; $result = $mdb2->query($sql); if (PEAR::isError(result)) { exit('接続に失敗しました'); } $num_rows = $result->numRows(); if($num_rows == 0){ exit('検索結果はありませんでした'); }else{ print $result->numRows()."件のデータがあります"; } print("<table border=\"1\">\n"); print("<tr>"); print("<th>id</th><th>性別</th><th>都道府県</th>"); print("</tr>"); while($row = $result->fetchRow()){ print("<tr>\n"); print("<td>" . $row['id'] . "</td>"); print("<td>" . $row['pref']. "</td>"); print("<td>" . $row['sex']. "</td>"); print("</tr>\n"); } // 接続を切る $mdb2->disconnect(); ?> </body> </html> 何卒よろしくお願い致します。
- PHPを使ったWEBサイトでアップロード
プログラミングを初めて3か月余りの未熟者です。 PHPでWEBサイトを作ろうとしています。 自分のローカル環境にあるものを サーバーにアップロードする、というものを作ろうとしています。 そのためにはどのような技術が必要なのかがわかりません。 流れとしては、 1.ファイル参照ボタンからファイルを選択 2.「アップロード」ボタン押下 3.その際にファイル名が不正ではないか、ファイルの存在の有無等のチェック 4.アップロード開始 5.指定場所にアップロード完了 6.アップロードしたファイルの存在をWEBサイト上で確認する 7.ユーザーはダウンロードしてそのファイルを共有できる 1~3までは問題なく作れると思います。 4以降がわかりません。 ・どうやって場所を指定するのか? ・そこにどうやって保存するのか? ↑まずはこの2つを理解したいです。 「サーバー」の概念がわかっていないところもあるので レベルの低い質問かもしれません。 また、参考になる書籍、サイト等があれば教えてください。 よろしくお願いいたします。
- php アップロードファイルが*.csv指定の問題
<form name="csvupload" id="csvupload" action="csvread.php" method="post" enctype="multipart/form-data" > <input type="hidden" name="MAX_FILE_SIZE" value="30000" /><br /> csvfile:<input type="file" name="uploadfile" size="50" accept="text/comma-separated-values" /> <input type="submit" name="hyosi" value="ファイル表示" /><br /> </form> htmlからファイルが選択して、php言語でそのファイルが*.csv拡張子で指定して、アップロードする。以下わたし作ったのサンプルで*.exeだとうまくいかなかった。初心者です。急ぎです。誰か助けてください。 if(isset($_POST['hyosi'])){ $file_dir = 'C:\apaches\Apache2\htdocs\practice\csvupload\csvfile\\'; $file_path = $file_dir.$_FILES['uploadfile']['name']; if(!is_uploaded_file($_FILES['uploadfile']['tmp_name'])){ print'*.csvhh拡張子のファイルを参照してください。'; exit; } elseif(strtoupper(substr(trim($_FILES['uploadfile']['name']),-4))!=".CSV"){ print'*.csv拡張子のファイルを参照してください。'; exit; } elseif(strtoupper(substr(trim($_FILES['uploadfile']['name']),-3))=="EXE"){ print'*.csvrrr拡張子のファイルを参照してください。'; exit; /* elseif(preg_match("/^.*\.(?!csv)$/",$_FILES['uploadfile']['name'])){ print'*.csv拡張子のファイルを参照してください。'; exit; */ } elseif($_FILES['uploadfile']['name'] == '' && $_FILES['uploadfile']['size'] == 0){ print'ngngng'; exit; } else{ if(move_uploaded_file($_FILES['uploadfile']['tmp_name'],$file_path)){ $csv_dir = "./csvfile/"; $csv_path = $csv_dir.$_FILES['uploadfile']['name']; $sfile = addslashes($csv_path); $_SESSION['file'] =$sfile; $file=fopen($sfile ,'r'); }else{ print '正常にアップロード処理されませんでした。'; exit; } } }
- 携帯サイトでのPHPについて
携帯サイト内で、PHPのメールフォームを設置しようと思っています。 送信前などに「入力内容を確認する」ページを挟むんですが、 そこで入力内容などの間違いを修正しようと 前ページに戻る動作をすると、 入力していた内容が消えてしまい、大変不便です。 入力ページに戻っても入力していた内容が残るようにするには どうしたらよいのでしょうか? お力添えいただけたらと思います。よろしくお願いいたします。
- amon0108
- 回答数2
- PHPの変数について質問です...
最近、PHPを始めて下記で悩んでおります。 分かる方がいらっしゃったら教えてください。 [質問] PHPで下記の2つのフォームがあります。 やりたい事は、 (1).form_aでIDを入力 (2).form_bで(1)のIDを基に対象部門を判定し、対象となるデータを表示。 (3)その後、(2)の選ばれたデータを対象にHTMLのコンボで検索を実施する。 といった内容です。 ここで問題なのは、 form_aからform_bへ移動した直後は正しく表示するのですが、 submitを実施したタイミングでsessionで取得した値がクリアされてしまい (2)の選ばれたデータが表示できません。 submitを実施しても他の変数の値がクリアされない様にするには どうしたら良いのでしょうか? ---------------------------------------------------------- ■form_a...ログイン用 <html> <head> <title>login</title> </head> <body> <form action="form_b.php" method="post"> <input type="text" name="pass_word"> <input type="submit" name "bottun" value="ログイン"> <br> </form> </body> </html> --------------------------------------------------------- ■form_2...表示用 <? //-password- session_start(); $pp = $_POST["pass_word"]; if ( $pp == 1000 ){ $p = 部門A; } if ( $pp == 24400 ){ $p = 部門B; } ?> <html> <head> <title>data_sheet</title> </head> <body> <font size="6"><i><u>履歴一覧</u></i></font> <form action= "" method="post"> 大項目 <SELECT name="cate1"> <OPTION></OPTION> <OPTION value="社内">社内</OPTION> <OPTION value="社外">社外</OPTION> </SELECT> 小項目 <SELECT name="cate2"> <OPTION></OPTION> <OPTION value="実務">購入</OPTION> <OPTION value="知識">レンタル</OPTION> </SELECT> <input type="submit" name "bottun" value="検索実行"> </form> <? //DBへの接続開始 . . //DBから$p、cate1、cate2でデータをSELECTして表示... ?> ----------------------------------------------------------- と言った感じで組んでいます。 ご回答をお願いします。
- perlとphpで、apacheがぶつかり合う?
perlとphpを使おうと思い、apacheの設定をしていたのですが、 どうも具合がおかしいです。 設定がダブって、ぶつかり合っているような感じです。 一台のpcでperlとphpを両方とも使う場合、 apacheをどのように設定すればいいのか、教えてください。
- PHP4でのXMLデータの取り扱い
Webサービスを利用してXMLデータを取得するスクリプトをPHPで書いています。レンタルサーバの関係でバージョンは4.4.4しか使えません。 XMLを扱う関数というと、PHP5ではsimpleXMLやXMLReaderなどがあるようで、各要素へアクセスするにも $xml=simplexml_load_file('books.xml'); foreach($xml->book as $book){ .... という感じでオブジェクトとしてアクセスできるようですが、こういうのをPHP4で実現する方法はないのでしょうか?例えば入れ子になったデータだと、深い階層にたどりつくために foreach($results as $key => $value){ foreach($value $key2 => $value2){ foreach($value $key3 => $value3){ ... } } } みたいな感じで書いているのですが、まったくスマートではないですし、なにか間違っているような気がします。良い方法があればお教えください。よろしくお願いいたします。
- PHP4でRSS書き出しをしたい
PHPで掲示板のスクリプトを作って運営しています。この掲示板に、投稿をRSSで出力する機能を追加したいと思っています。PHPのバージョンは4.4.4です。いちばん手っ取り早く実現するにはどうするのがよいでしょうか。PEARのパッケージがあればいいなぁと思ったのですが、検索した限りでは見つけられませんでした。ご教授いただければ幸いです。
- system関数でphpが動作しない
phpプログラムからphpプログラムをバックグラウンドで動作させようと下記のようにsystem関数を使いましたが、phpが動作しませんでした。 system("/usr/local/bin/php /home/user/www/test.php > /dev/null &"); 「動作しない」様子が、異常でして、コマンドラインからtopで調べてみると、phpのプロセスIDが何度も立ち上がり、上記関数があるプログラムをサーバーから消さないと、その状態が続きます。しかし、プロセスは立ち上がっても、phpプログラムは正常に動作していなようです。 さくらインターネット(スタンダード)の共用サーバーを使っています。サーバーのOSは、FreeBSD 4.10です。 よろしくお願い致します。
- PHPでのsqlite_close();について。
PHPでSQLiteを使って色々作ったりしている者ですが、sqlite_close();について質問があります。 例えば、 $db = sqlite_open("test.db"); と仮定して接続した時に、 sqlite_close($db); と明示的に切断(リソースの破棄)する必要があるのでしょうか?また、省略しても問題ないのでしょうか。 私の探し方が下手なのか、sqliteのマニュアルサイトばかりで希望の答えが見つかりませんでした。 どなたかご教授いただけませんか。 よろしくお願い致します。
- phpと<?xml version="1.0" encoding="utf-8"?>
phpファイルの頭に<?xml version="1.0" encoding="utf-8"?>を入れると Parse error: syntax error, unexpected T_STRING in ・・・ というエラーが出ます。 なぜでしょう?
- PHPからPostgresqlに接続するとエラー
ご質問させて頂きます。 PHPからPostgresqlに接続するという 勉強をしています。 Postgresqlのホストは localhostです。 テーブル名は「aas」 以下の様に書いてみましたが 「書き込み」処理を行うと、 「file://c:\ postgressql\8.2 見つかりません。パスまたはインターネット アドレスが正しいかどうかを確認 し> てください。」 というエラーが出てしまいます。 ご教示して頂けたら幸いです。 --------------------- <tr><td>ID</td><td>氏名</td><td>点数</td></tr> HTML出力部分 <?php PHP開始の合図 $d_base = pg_connect("user=postgres password=3120 dbname=test"); データベースに接続 if($action == post && $sign == '書き込み'){ if($number && $name){ pg_exec($d_base, "insert into aas values('$number','$name')"); } } ・ ・ ・ <P>データベースの内容</P> <P><FORM ACTION=<?php echo $PHP_SELF; ?> METHOD=POST> <INPUT TYPE=HIDDEN NAME=action VALUE=post> ID:<INPUT TYPE=TEXT NAME=number SIZE=5> 氏名:<INPUT TYPE=TEXT NAME=name SIZE=15> 点数:<INPUT TYPE=TEXT NAME=score SIZE=5> <INPUT TYPE=SUBMIT NAME=sign VALUE="書き込み"> ・ ・ ・ ---------------------
- phpでのhtmlタグの表示方法
データベースのデータをphpで表示する際に echo "<table border=\"1\">"; echo "<tr>"; echo "<td>参考書名</td>"; echo "<td>解説</td>"; echo "</tr>"; while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<tr>"; echo "<td>".cnv_enc($row["publish"], $enc_disp, $enc_db)."</td>"; echo "<td>".$row["ninki"]."</td>"; echo "</tr>"; } echo "</table>"; こんな感じでechoを使って配列に格納して表示しているのですが、この際に echo "<a href="http://aaa.com/">test</a>" みたいな、URLを表示するタグを組み込むと、エラーが出ているのか、表示画面が真っ白になってしまいます。 何分初心者なもので、くだらない問題だと思いますが、色々<a href以下をいじくってもなかなか改善できません。 phpとhtmlで分けて記述すれば簡単なのですが、データを一覧表示する際に分けられるのかもちょっと分かりません。 とりあえずechoを使って<a href="">みたいなタグを表示するやり方を知りたいという感じです。 くだらない質問かと思いますが何卒よろしくお願いします。
- シェルコマンドでphpを実行したい!
さくらインターネットでcron設定を使って月末になると起動するphpを読み込もうとしたいのですが、どうやっても上手くいきません。 いろいろと参考になるサイトはあるのですが、動かない理由がわからないのでどなたか教えてください。 まず、cron設定で設定しているシェルのファイルが置いてあるパスに間違いはありません。 次にシェルファイルに書いてあるコードは以下です。 #!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin cd /home/自分のID/www/自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル という風に書いてあります。 ところが、時間になるとこれが実行されず、 サーバーよりエラーメールが届きます。 [not found]と一言。 …最初、シェルファイルの階層が間違っているかと思ったのですが、 どう見てもあってますし…中身が問題なのかなぁ、と考えます。 何かわかれば、是非教えてください。 お願いします。
- ベストアンサー
- PHP
- noname#92587
- 回答数5
- oracle 10gとphp5の接続
oracle 10gとPHP5の接続が出来ません。。 192.168.1.12:1521に接続する場合、 oci_connect('hoge', 'hoge', 'scott/tiger@//192.168.1.24:1521'); これであってますでしょうか? 間違っている場合、ヒントお願い致しますm(_ _)m
- pear_info.phpが表示できません
PCをサーバーにしてPHPの練習をしている初心者です。最近PEARをインストールしたのですが、機能しなくて困っています。試しにpear_info.phpを作ってブラウザで開くと下記の警告がでました。 ---------------------------------------------- <?php require_once("PEAR/Info.php");//←line 8 $info = new PEAR_Info(); $info->show(); ?> Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\pear_info.php on line 8 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;C:\php5\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\pear_info.php on line 8 かなりの時間を費やして原因を調べていたのですが、どうしても解決する事ができません。助言を頂けると非常にありがたいです。 php.iniのパス include_path = ".;c:/php/includes;C:/php/PEAR" また、phpinfoで Configuration File (php.ini) Path の項目は C:\WINDOWS となっています。 上記に記載したエラーで「include_path='.;C:\php5\pear'」と表示されている部分がありますが、C:\php5と言うフォルダは作っていません。C:\phpと言うフォルダならあります。 PCの環境 Windows XP Apache 2.2.6 PHP 5.2.4
