検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- PHPでテキストエリアのデータを配列に入れるには?
テキストエリアに入力されたデータ(正確にはURL)を配列で取得して、別のテキストエリアに加工して出力する、という処理を作ろうとしています。 <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post"> <textarea name="url_from" rows="20" cols="50"> </textarea><br> <input type="submit" value="作成"><input type="reset" value="リセット"> </form> ためしに、 http://www.google.co.jp/ http://www.yahoo.co.jp/ と入力して、どんな入り方をしているのか確かめてみました。 $url_from という変数に入れて取り出してみたところ、上記のふたつのURLデータのあいだに 長い空白が入っているみたいでした。 そこで、このデータを配列に入れようとしているのですが、入れ方が分からずに困っております。 入力できるデータ数は、最大で20件(20行)としていますが、5件のときもあれば10件のときも あるという仕様です。 「切り分ける関数」のようなものがあれば、できそうな気がするのですが…。 みなさんなら、どのようにして配列に組み込もうとしますか?
- PHPに入門するに当っての準備について
僕はHTML/CSS/JavaScriptを趣味のレベルでやってきて、 そろそろサーバー側のプログラミング(今回はPHPを選びました)に挑戦したいと思っているのですが、apache等のソフトやセキュリティーについて一切の知識が無く、幾つかご質問させて頂きます。 1. そもそも、apacheやxamppは何処から何処までやってくれるソフトか分かりません。 例えば、 PC1でページを作って同じPCでページを閲覧、 PC1でページを作って、家庭の幾つかのPCで閲覧、 一般(外部)に公開、、、 とした場合、どの段階からapache等のソフトが必要になりますか? 2. 仮に、 ルーターの設定で自分達しかみないはずになった状態でPHPのページを作るとして、 その場合、PHP上のセキュリティー(xss対策とか)をほぼ一切しなかった場合は危険ですか? セキュリティーについて学びきってからでないと、実際のプログラムの書き込みは避けた方が良いのでしょうか? ----- 以上の2点です。 宜しくお願いします。
- ベストアンサー
- PHP
- 1234567891012
- 回答数1
- PHPでPDFを作成するためのライブラリについて
お世話になります。 現在はFPDFを使用してPDFを作成しています。 ※下記のサイトを参考にしました。 http://www.phpbook.jp/fpdf/ 作成していくにつれ、不具合というか、問題が発生しました。 例えば、SJISで機種依存文字がうまく出力されないとか。それでUNICODEで出力するようにしたら「名」や「上」の漢字が文字化けをしてしまうとかです。 それで皆さんに質問があります。 PHPでPDFを出力する際に使用するライブラリで一番いいのはどのライブラリでしょうか。 またおすすめのPDFを出力するライブラリを教えていただけたら幸いです。 すみませんがアドバイスいただけませんでしょうか。 宜しくお願いします。
- ベストアンサー
- PHP
- Nanchatte_PG
- 回答数2
- phpでcsvの文字化けを直す方法が知りたい!
<?php /* 配列の作成 */ $array = array($name, $telephone, $email); /* ファイルポインタをオープン */ $file = fopen("information.csv", "a"); /* CSVファイルを配列へ */ if( $file ){ var_dump( fputcsv($file, $array) ); } /* ファイルポインタをクローズ */ fclose($file); ?> 上記のように記載した時、windowsのchromeでみると文字化けしてしまいます。 どのような記述をすれば、文字化けしないか教えてください。
- PHPとSQLによるaタグ(リンク)の貼り付け方
PHP・SQL初心者です。 MySQLとPHPでサイトを構築しています。 データベースへの接続・テーブル内容の表示等はできるのですが、リンクをどのようにすれば貼り付けることができるのかわからなかったため質問させていただきました。 ID 名前 友達1 友達2 ・・・ 1 田中 佐藤 前田 2 山田 XXX XXX 3 佐藤 XXX XXX 4 前田 XXX XXX ・ ・ このようなデータベースを用意し、 名前が「田中」さん(ID が 1)のページに ------------------------------------------- 田中さんの友達 友達1:佐藤 友達2:前田 ------------------------------------------- このように表示し、 「佐藤」「前田」の箇所にデータベースの「ID」を利用してリンクを貼り付けたいと考えております。 データの抽出・画面への表示は、 $quryset = mysql_query("SELECT ID,名前,友達1,友達2 FROM テーブル名 WHERE ID= '1' "); while ($data = mysql_fetch_array($quryset)){} このような関数で行っております。 表示は問題なくできているのですが、 表示の「佐藤」「前田」の箇所にリンクを設定するの方法がわかりません。 「ID」 = 1 の情報を表示しているため「山田」と表示している箇所に <a href="http://XXXX.com/$data[ID].php">山田</a> と設定してリンクをつけることはできます。 友達の欄の「佐藤」「前田」の箇所にリンクをつけることができません。 データベースの「ID」欄、を利用して ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/ID名.php">佐藤</a> ID名=佐藤さんのID欄にある2 友達2:<a href="http://XXXX.com/ID名.php">前田</a> ID名=前田さんのID欄にある4 ------------------------------------------- ↓↓↓ IDが抽出されて ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/2.php">佐藤</a> 友達2:<a href="http://XXXX.com/4.php">前田</a> ------------------------------------------- このような形で表示できれば理想なのですが、 使用する関数やSQLの構文がわかりません。 初心者のため、考え方が根本的に間違っているのかもしません。 お詳しい方、まったく別の方法でも構いませんので解決する方法をご教授頂ければ幸いです。
- PHPの変数を使ったMYSQL条件検索について
PHP初心者です。どなたか詳しい方ご教示下さい。かれこれ半日調べてもわかりません。 フォームに入力したキーワードを使って条件検索を行い、MYSQLに登録した必要なレコードを取り出す作業を行いたいのですが「Unknown column 'henkan' in 'where clause'」と出て表示されません。 カラムの方がINT型なら表示されるのですが、TXT型なら上記エラーが出ます。 色々調べたらインジェクション対策(?)で「'」と「”」の入れ方が悪く、「`」を変数の前後に入れれば良いかと思い試してみましたが「Parse error: syntax error, unexpected~」と出てエラーが出ます。 他にも色々「'」「"」の位置を変更して見ましたがエラーが出ます。どなたか詳しい方、お教え下さい。 よろしくお願い致します。 ・PHPプログラム <?php mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('mydb'); mysql_query('SET NAMES UTF8'); $recordSet = mysql_query('SELECT * FROM manyu where syurui ='.$_POST['free']); $data = mysql_fetch_assoc($recordSet) or die(mysql_error()); echo $data['keyword']; ?> ・テーブルとカラム id syurui keyword ___ _________ __________ 6 henkan 変換 →「変換」と出てくる予定でした。
- ベストアンサー
- その他(ソフトウェア)
- miruko999
- 回答数1
- PHPの文字列型の数字の判別について
mySQL+PHP初心者です。 $stringNumに格納した値をWhere条件として、 testTable テーブルに格納したレコードから、名前を取得したいのですが、 "0000123"と"123"が同じ結果となってしまいます。 $stringNum = "0000123"; $sql = "SELECT name FROM testTable WHERE (Id = " . $stringNum . " )"; →「鈴木太郎」が抽出 *********************** $stringNum = "123"; $sql = "SELECT name FROM testTable WHERE (Id = " . $stringNum . " )"; →「鈴木太郎」が抽出 *********************** testTableテーブル Id name 0000123 鈴木太郎 0000124 佐々木学 文字列型として、"0000123"と、"123"は、別の値として区別したいのです。 上記のSELECT文だと、"0000123"と、"123"の場合で、 結果が同じ「鈴木太郎」が抽出されてしまいます。 型をしらべると、$stringNumの値は文字列型となっているので、 "0000123"と、"123"は別の値にはるはずですが、 なぜ同じになるのでしょうか? "0000123"と、"123"を別の値として判別させるにはどうすればいいのでしょうか?
- ベストアンサー
- PHP
- hide_momiji
- 回答数1
- PHP 入力フォームで入力された情報が、折り返しメ
PHP 入力フォームで入力された情報が、折り返しメールに表示されません。 折り返しメールに入力フォームに入力された内容の確認と「 下記の情報を受け取りました」など、折り返しメールに表示させたくて以下のコードに書き直したのですが、 受信はできたのですが、表示されたのは、コードに記載した情報「$mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△」の▼△だけでした。 入力された名前やアドレスを折り返しメールをお問い合わせメッセージと共に受け取りたいのですが、$mail->Bodyにいくつか情報を書いてみたのですがうまくいきません。 付属画像はコード変更前と後の画像になります。確認画面の表示の機能とセキュリティ対策に$_SESSIONと tokenが追加されてす。字数制限の為、PHPMailerを使うコードですが、インポートやcomserの記述 // SMTPサーバの設定などのポート番号やパスワード等の記述もカットしています。 どこが間違っているのでしょうか?詳しい方回答よろしくお願いいたします。 どこが間違っているのでしょうか?詳しい方回答よろしくお願いいたします。 <?php // 入力内容の取得・変数に格納 session_start(); if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){ unset($_SESSION['token']); $name = $_SESSION['name']; $email = $_SESSION['email']; } // メール日本語対応 mb_language("japanese"); mb_internal_encoding("UTF-8"); // インスタンス生成 $mail = new PHPMailer(true); // 文字エンコードを指定 $mail->CharSet = 'utf-8'; try { // デバッグ設定 // $mail->SMTPDebug = 2; // デバッグ出力を有効化(レベルを指定) // $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str<br>";}; // SMTPサーバの設定 $mail->isSMTP(); // メール本体 $mail->setFrom('〇〇@', 'kkk'); // 送信元メールアドレスと名前 $mail->addAddress($email,$name); // 送信先メールアドレスと名前 $mail->Body = "お名前:".$name."\n"; $mail->Body = "下記の情報を受け取りました。\n内容を確認し、こちらから折り返し、ライン又はメールアドレスにてご案内させて頂きます。\n\n"; $mail->Body = "メールアドレス:".$email."\n"; $mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; $mail->Body = "【Web担当者の作り方】\n"; $mail->Body = "メール:〇〇@\n"; $mail->Body = "URL:https://www.web-officer.com/\n"; $mail->Body = "▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼\n"; // 送信 $mail->send(); echo '送信済み'; } catch (Exception $e) { echo "送信失敗: {$mail->ErrorInfo}"; } ?>
- レンタルサーバの言語がPHPに偏り過ぎてません?
タイトルだとわかりづらいのですが、 日本で人気のあるレンタルサーバのSSHやVPSでは、PHPとwordpressは充実しているものの、 それ以外の言語が貧弱に思える場合が多いように感じます。 pythonも3になってないところがありますし、rails やDjangoをインストールしようとしても、どっかでひっかかってしまってなかなか最後まで行かない。 文字エンコーディングとかパーミッションとか.htaccessとか、拡張子とか、、 だったら、最初から ~~の拡張子はcgiだから関係フレームワークをインストールするときは、どこそこの拡張子を変えるようにとか、 ***をインストールするときはどこそこの設定をどうしろとか書いとけばいいと思うんですが。 とにかくペラペラサイトならともかく、フレームワークで躓いてしまう。 だったら、rubyやpythonをインストールしてある価値も、SSHやVPSの価値もそんなになくて、普通のレンタルサーバでwordpress使ってて大差ないように感じてしまいます(もちろんちゃんとできるサーバ屋さんも多いですが)。 特にどことは言いませんが、ロリなんとかはひどい気がするなぁ。 なんで、日本の(人気のある)レンタルサーバって、PHP & wordpressに変に偏ってるんでしょうか。 日本ってだけなら、CMSなら(今は)日本製のmovable typeとか、言語も日本人が作ったRubyとかに形だけでも力を入れていいような気がするんですが。
- ベストアンサー
- レンタルサーバ・ASP
- kirakuniOK
- 回答数3
- PHPでDBからデータを抽出してHTMLで表示
こんにちは。 PHP初心者のものです。 クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上
- 締切済み
- PHP
- NoMusicNoLife49
- 回答数2
- PHPで外部ファイルから取り込んだデータを配列に
外部ファイルから取り込んだデータを、配列に代入したいと考えています。自分で試したのですが、どうしてもうまくいかないので詳しい方、どうかよろしくお願いします。 外部のdatファイルは3項目をカンマ区切りで記述してあり、その3項目の繰り返しになっています。そこで次のスクリプトを実行すると、echo結果は$aの列挙になります。 <?php //ファイル名 $file_name = "ファイルのURL/××.dat"; //ファイルを読み取りモードで開く $file = fopen($file_name, "r") or die("OPENエラー"); //ファイルをロックする flock($file, LOCK_SH); //出力 while (!feof($file)){ $string = fgets($file,1000); list($a, $b, $c , $d) = explode(",", $string); $d="$a".","; echo "$d"; } //ロックを開放する flock($file, LOCK_UN); //ファイルを閉じる fclose($file); ?> じつは、この$aの内容が、RSSフィードのURLになっており、次のスクリプトでRSSの更新情報を書き出すのですが、$dの中のカンマ区切りのデータを、次のスクリプトの●●●部分に取り込みたいのですが、どう記述すればよいのかわかりません。 <?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed(array( ●●● 'URL1', 'URL2', 'URL3' )); if (!is_wp_error( $rss ) ) : $rss->set_cache_duration(1800); $rss->init(); $maxitems = $rss->get_item_quantity(100); $rss_items = $rss->get_items(0, $maxitems); date_default_timezone_set('Asia/Tokyo'); endif; ?> <!--出力--> <ul style="height: 200px; margin: 10; padding: 0; overflow-y: scroll;"> <?php if ($maxitems == 0) echo '<li style="list-style: none;">No items.</li>>'; else foreach ( $rss_items as $item ) : ?> <li style="list-style: none; margin: 0; padding: 0;"><?php echo $item->get_date("Y-n-j"); ?> <a href='<?php echo $item->get_permalink(); ?>' target="_blank"><?php echo $item->get_title(); ?></a></li> <?php endforeach; ?> </ul> どうか、お知恵をお貸しください、よろしくお願いします。
- 締切済み
- PHP
- makomo_jp2
- 回答数1
- HTML→PHPへ値を渡して再びHTMLに結果出力
HTMLからPHPへ値を渡して、再びHTMLに結果を表示したいと思っています。 以下のような簡単なコードを書いてみましたが、HTMLのページに"OK"という文字が表示されません。 PHPのパーミッションは755でやっており、PHPが動作するサーバーでテストしています。 どう修正すれば良いのか、アドバイスをお願い頂けますでしょうか? どうぞよろしくお願い致します。 【HTML】 <html> <head> </head> <body> </body> <script type="text/javascript" src="http://xxx.com/test/jsphptest.php?param=1"></script> </html> 【PHP】 <?php $param = $_GET['param']; header("Content-type: application/x-javascript"); if ($param == '1') { echo "document.write(\"OK\")"; } else { echo "document.write(\"NG\")"; } ?>
- PHPでHTMLソースを取得する方法はありますか?
PHPでHTMLソースを取得する方法はありますか? RSSで複数のHTMLソースを取得しました。 以下のことをやりたいのですが、こういったことは可能でしょうか? ・複数のHTMLソースを取得する(同じサイトからなのでタグの種類も大体同じものです) ・その中から<data>タグを取得する(dataの中にはそれぞれ適当な数字が入っています) ・それをソートして、ソート順にURLを表示する。 このようなことは可能でしょうか? $RSS=RSSのURL(XML) foreach($RSS as $value){ $URL[]=$value->URL; } for ($i = 0, $n = count($URL); $i < $n; $i++) { echo $URL[$i] . "<br />"; } これでそれぞれのURLが URL1 URL2 URL3 とそれぞれ表示されます。これらのURLからそれぞれの<data>タグを取得して上のようなことをやりたいです。 説明が下手で申し訳ありませんが、よろしくお願いします。
- phpの変数をmysqlへの命令文に含みたい
mysqlへの接続等は完璧で問題なのは、phpの変数を含んだmysqlへの命令文です。 これは試行錯誤した上で間違いないと思いました。 具体的には $link = "接続の情報" $table = "具体的なテーブル名" $result = mysql_query("select * from $table",$link) $row = mysql_fetch_array($result, mysql_assoc) としたときに print_r($row); が無反応です。 元のソースが今、手元にないので細かいところを間違えているかもしれませんが、select文で$tableを書く代わりに直接「具体的なテーブル名」と書いたらうまくいったので、phpの変数をphpからmysqlへの命令文に含む方法に問題があったと思った次第で、この方法を教えていただきたいです。 $linkまで含めて命令できるなら、その方法も教えていただきたいです。 よろしくお願いいたします。
- PHPで、特定箇所が同じURLやパスを条件分岐
お世話になります。 現在ECサイトを構築中で、URLが特定条件のもとif分などで分岐して、 相応するテキストや画像などを表示させたいと考えています。 URLだけの条件分岐なら方法は分かるのですが、あまりにもページ数が多すぎるため ある程度URLに類似性がある場合に同じ処理をしたいです。 条件としては下記のようなパターンがあります。 -------------------------------------------------------------------------------------- パターン1 -------------------------------------------------------------------------------------- http://example.com/△△△△△△/?t_area%5B%5D=▲&t_recruit_type%5B%5D=b http://example.com/○○○○○○○○○○○/?t_area%5B%5D=●&t_recruit_type%5B%5D=a 最後尾が「a」の場合は「a」の商品を表示 最後尾が「b」の場合は「b」の商品を表示 (※階層や途中の▲や●などでは条件分岐しない。最後尾だけで分岐) -------------------------------------------------------------------------------------- パターン2 -------------------------------------------------------------------------------------- http://example.com/△△△△△△/?t_area%5B%5D=☆&t_recruit_type%5B%5D=▲ http://example.com/○○○○○○○○○○○/?t_area%5B%5D=★&t_recruit_type%5B%5D=● URLの特定箇所が☆の場合は「c」の商品を表示 URLの特定箇所が★の場合は「d」の商品を表示 (※階層や最後尾では条件分岐しない。途中の☆か★で条件分岐) -------------------------------------------------------------------------------------- といった具合です。 大変申し訳ありませんが、どうかご協力いただけないでしょうか?
- phpの再帰処理で平坦な連想配列をツリー化
phpに関して質問させて頂きます。 最近、phpの勉強を始め、再帰処理でつまづいております。 具体的には、以下の様な連想配列を作り $tourist_spot = array( 'a' => array('日本','東京都','台東区','浅草','浅草寺',10), 'b' => array('日本','東京都','千代田区','大手町','首塚',5), 'c' => array('日本','千葉県','浦安市','舞浜','ディズニーランド',10), 'd' => array('日本','東京都','台東区','浅草','浅草演芸ホール',7), ); この連想配列に、再帰処理をかけて以下ようなツリー状の連想配列を生成しようと試みていますが、どうしても上手く行きません。 基本は添字に値を格納し、末端のみ値を数値として格納する感じです。 array(1) { ["日本"]=> array(1) { ["東京都"]=> array(1) { ["台東区"]=> array(1) { ["浅草"]=> array(2) { ["浅草寺"]=> int(10) ["浅草演芸ホール"]=> int(7) } } ["千代田区"]=> array(1) { ["大手町"]=> array(1) { ["首塚"]=> int(5) } } ["千葉県"]=> array(1) { ["浦安市"]=> array(1) { ["舞浜"]=> array(1) { ["ディズニーランド"]=> int(10) } } } } } コード例などご提示頂けますと幸いですが、ややこしいようであれば、どのような考え方で望めば良いのかだけでもご教示を賜りたく存じます。 お詳しい方いらっしゃいましたら何卒、宜しくお願い申し上げます。
- phpでのmysqlのあるテーブルの有無の判定方法
phpでmysqlのあるテーブルがない場合、テーブルを作るというのをやりたいのですが、テーブルがあるかないかの判定はどういう風に行えばいいでしょうか。 データベースは存在していて、pdoでmysqlを操作したいと考えています。
- phpのコーディングの練習問題で画像の文章をコーデ
phpのコーディングの練習問題で画像の文章をコーディングするんですが、 なぜ3でスキップと言っているのに、$i ==2 と書いているんでしょうか? <?php for($i = 1; $i <= 10; $i++){ if($i == 2){ continue; } else if($i == 7){ break; } else { echo $i."\n"; } } 画像を添付しわすれたので再度投稿させていただきます
- phpで関数に引数を渡すという わたす という
phpで関数に引数を渡すという わたす というのは、引数に値を 入力する という意味ですか?
- ベストアンサー
- その他(プログラミング・開発)
- okwaveokw
- 回答数2
