検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- [PHP]子クラスに独自の実装をする
現在子クラスに独自の実装をしていくという学習をしています。 親クラス Post を継承する子クラス showSponsor を作成してみました。 子クラスのコンストラクタの引数に親クラスのプロパティ'$text'、と子クラスで 新たに作成した'$sponsor'を入れました。 その後、newで新しく作った'showSponsor 'のインスタンスを作りました。 スポンサー名は'Yahoo'としてみました。 $posts[2] = new SponsoredPost('hello hello', ’Yahoo'); その後、同様に新しく作成した ’showSponsor()’ メソッドを表示するために $posts[2]->showSponsor(); を追加しました。 この記述で実行すると "Warning: Use of undefined constant ’Yahoo’ - assumed '’Yahoo’' (this will throw an Error in a future version of PHP) in C:\xampp\htdocs…" と出ます。「'Yahoo'という定義されていない定数を使っている」というような意味かと思います。 子クラスである'SponsoredPost'内の sponsoreのどこかにミスがあるのでしょうか? エラー行はコード内に記述したある $posts[2] = new SponsoredPost('hello hello', ’Yahoo'); の部分です。 表示結果では一応’Yahoo’の文字出ていますが、 ' (シングルクォート) も一緒についています。文字列ということを表すためにつけたものです。 初学者の自分にはエラーの原因がわかりません。 もしエラーの原因がわかる方いらっしゃいましたら教えてください。 宜しくお願い致します。 ------------------------------------ <?php class Post { private $text; public function __construct($text) { $this->text = $text; } public function show() { printf('%s',$this->text); } } class SponsoredPost extends Post { private $sponsor; public function __construct($text, $sponsor) { parent:: __construct($text); $this->sponsor = $sponsor; } public function showSponsor() { printf('%s', $this->sponsor); } } $posts=[]; $posts[0] = new Post('hello'); $posts[1] = new Post('hello again'); //★エラー行 $posts[2] = new SponsoredPost('hello hello', ’Yahoo'); $posts[0]->show(); echo "<br>"; $posts[1]->show(); echo "<br>"; echo "<br>"; $posts[2]->show(); echo "<br>"; $posts[2]->showSponsor(); ------------------------------------
- ベストアンサー
- PHP
- blueletter12345
- 回答数1
- php+MySqlでの「お知らせ」?について
会員サイトなどでログインしたユーザーに新着情報などがある場合に、トップページにリンクを貼り、ユーザーがリンク先に移動した後にトップページに戻ると新着情報のリンクを表示させないようにしたいのですが、どのような方法があるのでしょうか?
- PHPでMySQLのレコードを削除したい
現在「基礎からのMYSQL」という本でXAMPPを導入しMySQL,PHPの基礎を勉強中です。 (mysql_query() を初めて学習中です。) 例にならってスクリプトを書いてみたのですが、MySQL内にあるレコードを削除するためのスクリプトがうまく作動しません。 (SELECT, INSERT, SEARCH は正常に作動します。DELETEだけがなぜかうまくいきません。) ApacheとMySQLは起動しています。 考えられる原因をおしえていただけませんでしょうか。よろしくおねがいいたします。 ソースコードは下記のとおりです。 ★HTML(トップページ) //メッセージ表示のスクリプトを呼び出すフォーム <form method="post" action="kantan_select.php"> メッセージを表示します<br> <input type="submit" value="メッセージ表示"> </form> //挿入のスクリプトを呼び出すフォーム <form method="post" action="kantan_insert.php"> 名前を入力してください<input type="text" name="a1"><br> メッセージを入力してください<input type="text" name="a2" size=150><br> <input type="submit" value="送信"> </form> //☆☆☆削除のスクリプトを呼び出すフォーム☆☆☆ <form mothod="post" action="kantan_delete.php"> 削除番号<input type="text" name="b1"><br> <input type="submit" value="削除番号送信"> </form> //検索のスクリプトを呼び出すフォーム <form method="post" action="kantan_search.php"> 検索キーワード<input type="text" name="c1"><br> <input type="submit" value="検索開始"> </form> ★レコード削除のPHPスクリプト <?php $s=mysql_connect("localhost","root","パスワード") or die("接続失敗"); print "接続しました<br>"; mysql_select_db("db1"); $b1_d=$_POST["b1"]; mysql_query("delete from tbk where bang=$b1_d") ; $re=mysql_query("select * from tbk order by bang"); while($kekka=mysql_fetch_array($re)){ print $kekka[0]; print ":"; print $kekka[1]; print ":"; print $kekka[2]; print "<br>"; } mysql_close($s); print "<br><a href='kantan.html'>メニューに戻る</a>" ?> <環境> Windows 7 XAMPP導入するための付属CD-ROMの内容 ・Apache(HTTPD2.2.6 + Openssl0.9.8e) ・MySQL(5.0.45) ・PHP(5.2.4) ・PHP(4.4.7) ・phpMyAdmin(2.11.1) ・Zend Optimizer
- 携帯・PCの振り分け、PHPかhtaccessか
携帯からのアクセスはAというページに、 PCからのアクセスはBというページに振り分けようと思っています。 そのためにはPHPかhtaccessが使えるサーバーが必要だとわかりました。 ユーザーエージェントで振り分ける方法は 簡単に偽装できるとのことで、 なるべく偽装できないように振り分けたいです。 詳しい方や、 ホームページをお持ちの方で振り分けをされている方は どちらの方法を使っているか教えて下さい。
- 締切済み
- PHP
- komagome001
- 回答数2
- PHP apiのソート順について質問
menu.phpでキーワード(りんご)で書き出した後は、問題なく りんご(ソート順:スタンダード)が表示されるのですが、さらに、search.phpでソート順を変えて検索するとソート順はリクエストURLに反映されるのですが、キーワード’(りんご)がリクエストURLに入りません。 search.phpでmenu.phpのキーワード(りんご)繰り返しし使うにはどのようにしたら、いいのでしょうか? [menu.php] <p><a href="search.php?word=りんご&sort=standard">りんご</a></p> [search.php] <?php $base = 'http://xxx.xxxxxx.co.jp/xxx/xxx'; $word =$_GET["word"]; $keyword = urlencode($word); $sort = $_GET["sort"]; $sort = urlencode($sort); // リクエストURL $url = $base ."&keyword=".$keyword."&sort=".$sort. ; ?> 表示順序 <select name="sort"> <option value="satandard">新着順</option> <option value="itemPrice">価格の安い順</option> <option value="-itemPrice">価格の高い順</option> <input type="submit" value="検索"> </select> よろしくお願いいたします。
- PHPでXMLを扱いたいのですが
PHPでXMLを扱いたいのですが、わからないところがあります。 <XML> <T> <A> <a> </a> <b> </b> <c> <c1></c1> <c2></c2> </c> </A> <A> <a> </a> <b> </b> <c> <c1></c1> <c2></c2> </c> </A> <A> 以下くりかし・・・ </T> </XML> このような感じのXMLがある時に、<a>,<b>等のタグの中身はちゃんと一つめの<A>、二つめの<A>、のように、 繰り返しある全てを取り出すことが来るのですが、 <c1>のようにもう一つ奥になっているものが取り出せません。 //以下成功するソースです。 foreach(XML->T->A as $value){ $data[]=$value->a; } for($i=0,$n=count($data);$i<$n;$i++){ $file=$data[$i]; } echo $file; これだとうまく動作しますが、 //以下失敗するソースです。 foreach(XML->T->A->c as $value){ $data[]=$value->c1; } for($i=0,$n=count($data);$i<$n;$i++){ $file=$data[$i]; } echo $file; このように<c1>を取り出そうとすると、繰り返しある<c1>の内の初めの一つしか取りだせません。 もう何回も色々と変えてやっているのですが、どれもうまくいきませんでした。 どうすればいいのでしょうか。分かる方教えて下さい、お願いします。
- php mysqlでのselect文について
よろしくお願いします。 ひとつのテーブルに複数のカラムがあり、条件を抽出して合計件数を取得するには条件ごとにselect文を発行する事で実現できると思いますが、大量のselect文を発行する場合、スマートな方法があればご伝授をお願いします。 item_category item_name フルーツ イチゴ ドリンク コーラ フルーツ メロン フルーツ イチゴ ドリンク イチゴ ドリンク メロン このような場合に、item_categoryフルーツの件数やitem_categoryフルーツかつitem_nameイチゴの 件数を取得できればと思います。 よろしくお願いいたします。
- PHP 会員管理・限定ページ・メルマガ配信したい
お世話になります。 既存のWebサイトがあります。 そこに、PHPを使い、 会員管理・会員限定ページ・メルマガ配信をしたいです。 オープンソースのCMS(というのでしょうか)がありましたら 教えて頂きたく思います。 よろしくお願いいたします。
- PHPからMySQLのデータが表示できない
〇質問の主旨 PHPでMySQLのデータベース(テーブル)から データを表示させようと考えていて、 一度目は表示させることはできました。 しかし同じURLでブラウザをリロードしたところ、 二度目は表示されません。 もう一度データを表示させるためには、 どのあたりをチェックすればよいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 〇質問の補足 PHPによるコードとMySQLによるクエリ文は次のとおりです。 現在、PHPの「処理1」にある"Success!"は表示させることができますが、 「処理2」は表示させることはできません。 ・コード <?php // データベースの接続 try { $dbh = new PDO('mysql:host=localhost;dbname=mydatabase', 'myname','mypassword'); } catch(PDOException $e) { var_dump($e->getMessage()); exit; } // 処理 1 echo "Success!"; // 処理 2 $sql = "select * from users"; $stmt = $dbh->query($sql); foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $user) { var_dump($user['name']); } echo $dbh->query("select count(*) from users")->fetchColumn() . "records found"; // 切断 $dbh = null; ・クエリ文 create table users ( id int(11) not null auto_increment primary key, name varchar(50), email varchar(255) unique, password char(16) ); insert into users (name,email,password) values ('hoge','hoge@dummy.com','abc'); insert into users (name,email,password) values ('foo','foo@dummy.com','def'); 以上、よろしくお願い申し上げます。
- CentOS 6.4のPHPのソースについて
ビルドオプションを指定してビルドしたいのですが、CentOSから配布されているPHPのソースはどこにありますか?
- ベストアンサー
- Linux系OS
- noname#221560
- 回答数1
- PHPのセッションファイルのロックについて
PHPにて通常のfileにてセッションを利用するとき セッションファイルはセッションを使用するページが終了するまで ロックされていたりしますか? ページ A セッション開始 → 20秒かかる重い処理 → このあと$_SESSION["hoge"] = 1; ページB セッション開始 → すぐに$_SESSION["hoge"] = 2; ページAを読み込み始めて10秒後にページBを読み込み開始した場合 $_SESSION["hoge"] は 1になりますか2になりますか?
- ベストアンサー
- PHP
- muuming2001
- 回答数1
- PHPのconfigureのオプションにつきまして
日頃WindowsメインでLinuxをあまり使わない者です。 今回、とある理由でCentOS5.5にPHP5.2とMySQL4.0の環境を作る必要が出てきました。それで、それらをソースからコンパイルしてインストールしてみたのですが、PHPのmysql_connect()で以下のようなエラーが出て、原因がわからず困っています。 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) PHPもMySQLも単体では正常に動いているようです。データベースも作れました。 それで色々調べていたのですが、/tmp/mysql.sockのアクセス権限を777にしたり、 PHPとMySQLが/tmp/mysql.sockを介する設定になっているかを確認しましたが、いずれも問題無さそうです。 それで、phpinfo()の結果をさくらサーバーのそれと比べてみたところ、 Configure Commandのところが全然違うことがわかりました。 今回構築した環境では、 './configure' '--with-apxs2=/usr/sbin/apxs' '--with-mysql=/usr/local/mysql' ですが、 さくらサーバーは、 './configure' '--prefix=/usr/local/php/5.2' '--with-config-file-path=${prefix}/etc' '--with-config-file-scan-dir=${prefix}/etc/conf.d' '--enable-force-cgi-redirect' '--with-openssl=/usr/local/ssl' '--with-zlib=/usr' '--with-curl' '--enable-exif' '--with-pcre-dir=/usr/local' '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' '--with-ttf' '--with-freetype-dir=/usr/local' '--with-gettext=/usr/local' '--with-gmp=/usr/local' '--with-iconv=/usr/local' '--enable-mbstring' '--with-mcrypt' '--with-mysql=/usr/local' '--with-mysqli=/usr/local/bin/mysql_config' '--with-pdo-mysql=/usr/local' '--with-snmp=/usr/local' '--enable-soap' '--with-xsl=/usr/local' '--enable-zip' と非常に多いです。 これらは関係あるでしょうか。初歩的な質問で恐縮ですが、ご存知の方がいらっしゃいましたら、ご教示いただけましたら助かります。 よろしくお願いします。
- ベストアンサー
- PHP
- spaceman18
- 回答数1
- phpのリファレンスのようにhtmlのリファレンス
phpのリファレンスのようにhtmlのリファレンスもあるんですか?そのサイトを教えて下さいMDMがhtmlの公式リファレンスサイトですか?
- PHP ereg_replaceの使い方と正規表現
PHPを使いだしてまだ1週間足らずです。 Perlに置き換える作業をしています。 $listnumber = ereg_replace('^[^0-9]* 0*([0-9]+) .*$', '\\1', $listnumber); これが、いったい何をしていているのか。 ついでに、Perlに置き換えると、どうなるのか教えていただけると 大変助かります。 作業日数が少なくて、勉強する時間もなくて大変困っています。 助けてください。
- PHPとMySQLで配列で検索する方法
プログラミング初心者です。 PHPとMySQLでデータベースを作成しています。 配列に格納したデータを既に登録してあるデータに参照して、日付と題名が同じものは登録しないようにしたいと思います。 以下がソースなのですが、2行目でエラーがでてしまいます。そうすればよいかご教授お願いします。 for($j=1; $j<$i; $j++){ $query ="select * from data where date=" . $date2[$j]; $result = mysql_query($query) or die(mysql_error()); $query2 ="select * from data where sub=" . $sub[$j]; $result2 = mysql_query($query2) or die(mysql_error()); if(mysql_num_rows($result) != 0 && mysql_num_rows($result2) != 0){ //登録しない } else{ //データベースに登録
- PHPでのログインページ作成について
PHPの課題でタイムカードを作成することになりました。 タイムカードの概要としては ・本社(12名)支社A(4名)支社B(3名) ・本社と支社では「タイムカード入力ページ」が利用できる ・本社のみ「タイムカード集計ページ」が利用できる ・社員ごとでタイムカードの情報をファイルに記録する です。 画面設計、ファイル設計などが終わり、いざ作り始めようとしたのですが、 概要の3番目にある 「本社のみ「タイムカード集計ページ」が利用できる」 というのがよくわからないのです。 PHPがというより、プログラミングが本当に苦手で何から始めればよいのかすらわかっていない状況です。 ネットでいろいろと探してはみたのですが、プログラムの解読すらできず、困っています。 どなたか、知恵を貸していただけないでしょうか。
- 締切済み
- PHP
- xxx1143xxx
- 回答数1
- PHP内にHTML読み込み時のファイルパス
PHP初心者です。 Web頁作成の際、メニュバナーを一元共有したいと思い、苦戦しております。 / index.php | |-/Banner |-_banner.html |-バナー用画像1 |-バナー用画像2 ・・・ |-/Folder1 |-/Folder2 上の様なフォルダ構造で、index.phpや「/Folder1」「/Folder2」等に入っているコンテンツファイルから、「/Banner」内に格納したhtml(+Javascript)で作成したメニューファイル「_banner.html」を、phpを使って共有したいと考えています。 index.phpから、_banner.htmlファイルの読み込みは、以下のrequire関数で読み出すことに成功しています。 (require(dirname(__FILE__)."/_Banner/_banner.html") が、「/Banner」フォルダ内に格納した、バナー用画像ファイルが、表示されません。 html自体が相対パスの為、ファイルパスが通らないことが原因であることは理解できるのですが、PHP初心者の為、どの様な関数を使えば、html内のファイルパスを変更できるのかが、わかりません。 過去、似た様な質問がされていることとは存じますが、どなたか、対処法ご教授願えませんでしょうか?
- 締切済み
- PHP
- takebon-xx
- 回答数2
- PHPからのLIKE検索ができません。
こんばんわ。お世話になります。 PHPからSQLを発行してLIKE検索をしようとしているのですがうまくいきません。(Xampp MySQL) $keyword = htmlspecialchars($_POST['keyword']); mysql_real_escape_string($keyword); $sql = "select * from master where name like '%{$keyword}%'"; テーブル内の name にマッチするはずの言葉があるのにマッチしません。 ちなみに echo $sql; とSQL文を表示させてPhpMyAdminでそれを実行すると、目的の検索結果が表示されます。 いろいろ検索してみたところ、LikeをLike Binary にする方法などがありましたが、どうにもうまくいきませんでした。文字コードはフォーム側、PHP・SQLともにUTF-8です。 '%{$keyword}%'あたりの書き方が悪いのでしょうか。 お手数おかけいたしますがアドバイスの程お願いいたします。
- ベストアンサー
- MySQL
- infome2009
- 回答数2
- WikipediaのPHPによるAPIについて
http://wikipedia.simpleapi.net/ にサンプルが出ていて、それを利用しようと思っています。 --以下サンプル <?php // キーワード指定 $keyword = "多田富雄"; // APIのURL $url = "http://wikipedia.simpleapi.net/api?keyword=".urlencode($keyword)."&output=php"; // データを取得 $data = file_get_contents($url) ; // PHPシリアライズパーサーを利用して解析し、配列に入れる $array = unserialize($data); // 配列をforeachで表示するデモ print "<H1>Wikipedia情報</H1>"; foreach ($array as $key => $value) { print "<a href=\"".$value[url]."\"><strong>".$value[title]."</strong></a>\n<br/>". $value[body] ."<hr/>\n\n"; } ?> --サンプル以上 実際のwikipediaで"多田富雄"を入力し調べた時と、上記サンプルを起動してprintした時では内容が異なります。 (上記サンプルの方がかなり少ない) unserialize関数もしくはfile_get_contents関数か、別の要因かよくわかりません。 ご経験のおありの方、ヒントだけでもいただけると助かります。 なお、私のphp経験は50-100時間程度、環境はXP,Apache2,php5です。
- 【php】URL内の数値を受け取る方法
.htaccessで動的URLである http://xxxxx.jp/★★★.html?p=1 http://xxxxx.jp/★★★.html?p=2 http://xxxxx.jp/★★★.html?p=3 を、静的URLの http://xxxxx.jp/★★★-1.html http://xxxxx.jp/★★★-2.html http://xxxxx.jp/★★★-3.html に置き換えました。 今まで、「次のページへ」などのリンクに含まれるページ数を $P=$_GET["p"]; と記述し、受け取っていました。 しかし、静的URLにした場合、 ★★★-1.html ★★★-2.html ★★★-3.html となるので、=(イコール)がなくなってしまい、ページ数を受け取ることができなくなってしまいました。 1・2・3のページ数はどのように記述すれば受け取ることができるでしょうか? ご教授ください。よろしくお願いいたします。
