検索結果

PHP

全10000件中3361~3380件表示
  • 全てのカテゴリ
  • 全ての質問
  • 「php」と言うソフトウェアをインストールするわけ

    PHPを自宅で使う場合 「php」と言うソフトウェアをインストールするわけではないですよね? アパッチやらザンプをインストールし PHPでの開発を行なうのですよね?

    • ベストアンサー
    • PHP
  • PHP セッションの受け渡し失敗 IEはOK

    PHP セッションの受け渡し失敗 IEはOK いつもお世話になっております。 phpで3つのページに渡りデータを引き渡したいのですが、 ブラウザによって成功したり失敗したりしています。 成功・・・IE 失敗・・・GoogleChrome,Firefox,safari,opera a.html(charset=UTF-8) ⇒ b.php(charset=shift_jis) ⇒ c.php(charset=shift_jis)という流れです。 a.html hiddenでpost送信 b.php postデータをsessionへ格納 c.php echoしても表示されない という感じです。 ちなみに、b.phpで格納したセッションデータはc.phpでechoできます。 「a.html」 <form action="b.php" method="post" target="_top">   <input type="hidden" name="cp_name" value="あああ株式会社"> </form> 「b.php」 session_start(); $_SESSION["cp_name"] = mb_convert_encoding($_POST["cp_name"], 'Shift_JIS', 'UTF-8'); 「c.php」 session_start(); echo "[ 販売元 : ".$_SESSION["cp_name"]." ]"; 表示失敗 どなたかご教授頂ければと思います。 何卒宜しくお願い申し上げます。

    • 締切済み
    • PHP
  • phpのsessionとcookieについて

    質問は以下に2つです。 プログラムの説明は、pass,idから認証を行い、sessionidを発行します。二度目の以降はsessioidから認証します。 sidpost.phpからpostでIDとパスワードを入力させます。 データベースはid, pass, sidの3つのカラムがあります。 <?PHP require_once'DB.php'; session_name("sid"); session_start(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php $id = $_POST['id']; $pass =$_POST['pass']; $cookie = $_COOKIE['sid']; $sid = session_id(); //データベース参照 //プレースホルダーを使用 //id からpassを参照する //cookie から sidを参照する $data=$sth->fetchRow(DB_FETCHMODE_ASSOC);//参照したデータを$dataの連想配列に格納 //sid保存のプレースホルダー $sth2 = $dbh->prepare('UPDATE accountid SET sid=? WHERE id=? AND pass=?'); //cookieが保存されていない場合 if(!isset($cookie) && isset($pass) && isset($id)){ //idとpassから認証 if($pass === $data['pass']){ $sth2 = $dbh->execute($sth2, array($sid, $id, $pass)); echo "初めてのログインsid登録"; } //sidがある場合cookieとデータベースのsidを比較 }else if(isset($cookie)){ if($cookie == $data['sid']) echo "sidあり成功"; //クッキーがあり、データベースと一致しない場合,sidを破棄する }else{ echo"あるはずのクッキー" .$COOKIE['sid']."<br>"; $_SESSION=array(); setcookie('sid', '', time()-3600); session_destroy(); echo "ないはずのクックキー".$_COOKIE['sid']; } //それ以外は入力フォームにリダイレクト }else{ header("location: ./sidpost.php?error=error"); } $dbh->disconnect(); ?> </body> </html> 上のようなセッション管理のプログラムを書きました。 質問は2つありまして、 ・1つめは、通常セッション管理を行う際の、条件はどのようにするのが一般的ですか? IDとパスワードがデータベースと一致する場合としない場合の2通り、cookieがある場合、ない場合の2通り、もしcookieがある場合は、データベースの値と一致する場合としない場合の2通りが考えられます。一番最適な条件文はどのようにすればよいでしょうか? またその処理はどのようにすればよいのでしょうか。 例えばcookieがあり、データベースと一致しない場合、$_SESSIONの初期化、setcookieでクッキーの削除、session_destroy()するなど。。。なにかよくわからなくなってしまいました。 ・二つ目は、 上のプログラムではじめsession_name('sid')およびsession_start()を宣言し、クライアントとサーバに$sid=session_idを発行しています。なので、$_COOKIE['sid'];の値には session_id()($sid)になっているはずです。 下のほうで、セッションの管理を行う際、 //クッキーがある場合 else if(isset($cookie)){ if($cookie == $data['sid']) echo "sidあり成功"; //クッキーがあり、データベースと一致しない場合,sidを破棄する }else{ echo"あるはずのクッキー" .$COOKIE['sid']."<br>"; $_SESSION=array(); setcookie('sid', '', time()-3600); session_destroy(); echo "ないはずのクックキー".$_COOKIE['sid']; } クッキーがあり、データベースと一致しない場合に、sessionおよび、cookieの破棄をしています。この前後でechoをもちいて$_COOKIE['sid']の値を出力すると、 破棄するの前のechoでクッキーが表示されず、 破棄したあとのechoでクッキーが表示されました。 なぜこのような結果になるのですか、逆では?と思いました。

    • 締切済み
    • PHP
  • PHPでSESSIONによる変数の引き継ぎ

    PHPで問い合わせフォームを作ろうと勉強し始め、とりあえず簡単なものをと思っているのですが、入力フォームを作り次にチェックフォームへ移動した段階で以下の記述を入れています。 <?php session_start(); $_SESSION['name'] = $_POST['name']; echo htmlspecialchars($_SESSION['name']); ?> そしてチェックフォームの次のページで内容をメールで送るつもりなのですが、 チェックフォームから次のメールを送るページに移動した段階で <?php session_start(); echo htmlspecialchars($_SESSION['name']); ?> と記述しても、作成しているMacbookair2014では表示されているのですが、 スマホやWindowsでは表示されません。 どの環境でもチェックフォームまでは表示されているので、最後の引き継ぎがきちんと出来ていないだけだと思うのですが、何が足りないのでしょうか? 分かりにくい文章で申し訳ありませんが、どなたかお分かりの方ご回答よろしくお願いします。 情報が足りなくて分からない場合はすぐに答えます。

    • 締切済み
    • PHP
  • phpのセッションについて質問です

    現在、phpのセッションについて学習しています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 セッションについていくつか質問があります。 セッションを使った認証の流れですが、 ログインフォーム画面で、session_start()し、ログインの認証が成功したらsession_regenerate_idで新しいセッションを発行⇒ログインが必要な画面でセッションの有無を確認 という流れで良いのでしょうか? セッションハイジャック対策にsession_regenerate_idをするようですが、 これは全てのページで毎回行ったほうが良いのでしょうか? セッションIDの受け渡しはcookieに保存する方法とURLに含む方法があり、 セッションハイジャック対策について記述しているサイトではcookieが推奨されている雰囲気ですが、 PHPマニュアル(http://php.net/manual/ja/session.idpassing.php)では信頼性がないとあります。 どちらを使うのが良いのでしょうか? セッションの有無のチェックはsession_start()を記述するだけでサーバーが行ってくれるのでしょうか? $SESSIONにセッションIDを保存してissetで調べるといった記述が必要なのでしょうか? メールアドレスとパスワードでのログイン認証を実装したいのですが、 その場合、マイページでユーザー情報を表示したい際、ログイン時に入力したメールアドレスを$SESSION[email]に格納し、マイページのphpプログラムにて、$SESSION[email]に格納されたメールアドレスを検索条件にしてSELECTで他の情報を取得したら良いのでしょうか? メールアドレスを$SESSION変数で受け渡しするのはセキュリティ上危険でしょうか?(危険であれば内部管理用のユーザーIDを$SESSIONに格納してデータを取得しようと思います。) 基本的なセッションの知識がないため、質問の数が多くなってしまいましたが、 答えられる範囲で良いのでご回答頂けると有難いです。

    • ベストアンサー
    • PHP
    • mmm5orz
    • 回答数2
  • php、html フォーム入力→送信後にクリア

    htmlで入力フォーム設置、送信ボタンでsubmit→phpファイル実行、 そしたらフォームに入力したテキストを消したいです。 phpでの実行内容は、 フォームに入力されたIDを検索条件としてクエリ実行、 結果をCSVでダウンロード、 というものです。 よろしくお願い致します。

    • noname#267604
    • 回答数3
  • PHPでのJSONの使い方(3)

    昨日 PHPでのJSONの使い方(1)と(2)で質問させていただき、hogehoge78さんから的確な回答を頂き、問題が解決したと思って質問を締め切った者です。 頂いたアドバイス通りに会社でやったらちゃんと動いたのですが、家に帰ってブラウザーの閲覧履歴やクッキーなどをすべてクリアーした後にプログラムを走らせてみても動きません。 hogehoge78さんのアドバイスにあった様にChromeの開発者用ウィンドウを開いてエラーメッセージを見ましたら、以下のような事が出力されていました。 VM11:2 Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at XMLHttpRequest.xmlhttp.onreadystatechange (displayEnglish.php:27) 27とはファイルの行数だと思うのですが、この行は次の通りです。 if(this.readyState == 4 && this.status == 200){ 「JSON.parse で予期せぬJSON入力の終わり」とは一体どういうことなのでしょうか。 Hogehoge78さんがたまたまこの質問を見て頂いたなら、ご回答いただけると有難いです。 でももちろん、ご回答いただける方ならどなたでも歓迎いたします。 どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのセッションについて質問です。

    PHPのセッションについて質問です。 $_SESSION['errors'][] = $error;はどういう意味ですか? 自分なりに解釈すると、「errorsという名前のセッションと配列の情報を$errorと定義する」ですが、これで合っていますか?

    • ベストアンサー
    • PHP
    • OBAKEI
    • 回答数1
  • PHPでの文字コードについて

    フォルダー内にあるカラオケ曲のリスト(番号 歌手名 曲名)一つずつ読み込み、曲の中にある特定の言葉を含む アイテムだけをを別のファルダ―にコピーするプログラムを作ろうと思っていますが、日本語の部分が文字化けしてしまいました。 ソースコードは添付の通りです。 ここではカラオケ曲の文字コードがわからないのでとにかくUTF-8に変換し、 曲名に「恋」という漢字が含まれるものを探そうとしています。 スクリーンショットの左は曲のリストの一部、右は結果出力です。 PHPにmb_convert_encoding() というのがあるのがわかったので調べて使ってみたのですが、上手く行きません。。 この関数をちゃんと理解できれば文字化けを治せるような気がするのですが、果たしてそうでしょうか。 それとも何か別の方法があるのでしょうか。 どなたか詳しい方がいらっしゃいましたなら、アドバイスを頂きたいと思います。 どうかよろしくお願いいたします。 ソースコード <?php $origin = "aaa-karaoke/Japanese"; $Rorigin = realpath($origin); $dest = "aaa-karaoke/with-song"; $Rdest = realpath($dest); $handle = opendir($Rorigin); while( $file = readdir($handle) ){ $file = mb_convert_encoding($file, "UTF-8"); echo $file."<br>"; if( strpos($Rorigin."/".$file, "恋") ){ copy( $Rorigin."/".$file, $Rdest."/".$file); echo "copied $file</br>"; } } closedir($handle); echo "end of job"."<br>"; ?>

    • ベストアンサー
    • PHP
  • [PHP][XAMPP]でUnixコマンドを使う方

    windows10が入っているPCにxamppをインストールして使っています。 エディタはVSCodeを使って学習しています。 ここでループや条件分岐等の基礎文法や、ceil,mt_rand, sprintf, sort, などのビルドイン関数の学習をしていました。問題なく動作します。 が、途中で学習項目が以下のようなUnixコマンドを使ってファイルに文字を書き込んだり、ディレクトリ操作、Unixタイムスタンプや日時を扱う関数の項目にはいりました。 fopen(),fwrite(),fclose(),fread(),file_get_contents(),file(),opendir(), readdir() 当然、今までのようにエディタでは動作しません。 xamppの「Shell」を開いてみると「Xampp for Windows」が開きます。 ここでも'ls'はじめ上記のようなコマンドは動いてくれません。 Unixコマンドを使う方法を調べているとubuntsというLinuxディストリビューションをインストールしました。とりあえずこれを使えばUnixコマンドは使えるようです。実際は少し前に入れていたものなのですが、 このubuntsのコマンドラインに pwd と打つと xx-00@DESKTOP-XXX:^$ pwd /home/xx-00 このように表示されます。 現在 C://:xampp/htcdocs/ 内に学習用フォルダを作成してxamppを使いphpを学習しています。 たとえば c:> xampp/htcdocs/php/study フォルダとします。 ubuntsのルートディレクトリ /home/xx-00 をxamppと同じ c:> xampp/htcdocs/php/study に変更してやると統合? 現在の環境でUnixコマンドが使えるようになりますか? もしご存じでしたら教えて下さい。 基本的に初心者で自分自身が詳しくわかっていません。 教材は添付画像のようになっています。 これと同じ環境を作りたいと考えています。 考え方が根本的に間違っているのかもしれません。その場合現在のWindows10にXamppを入れた環境でunixコマンドを利用する方法が別に何かありますか? 教材は添付画像のようになっています。 これと同じ環境を作りたいと考えています。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • [PHP] デストラクタについて教えて下さい

    あるPHPの入門書にデストラクタについての解説があります。 *デストラクタ 「コンストラクタとは反対に、オブジェクトが破棄されるタイミングで実行されるのがデストラクタです。名前は __destructに固定されている。 デストラクタには、クラスの中で使用したリソースを破棄するなど、主に終了するときの処理を記述するのが一般的です。」 とあります。 以下のような記述をしました。(person.php) <?php class Person{ public $lastName; public $firstName;  public function __construct($lastName, $firstName){ $this->firstName = $firstName; $this->lastName = $lastName; } public function show(){ print "<p>私の名前は {$this->lastName} {$this->firstName}です。</p>"; } public function __destruct(){ print "<p>インスタンスが破棄されました。<p>";  } } ?> 上の記述をインスタンス化する記述です。(instancne.php) <?php require_once('person.php'); $p = new Person('田中', '幸太郎'); $p->show(); ?> <表示結果> 私の名前は 田中 幸太郎です。 インスタンスが破棄されました。 となります。試しにもうひとつインスタンスを追加します。 <?php require_once('person.php'); $p = new Person('田中', '幸太郎'); $p->show(); $p1 = new Person('鈴木', '京子'); $p1->show(); ?> <表示結果> 私の名前は 田中 幸太郎です。 私の名前は 鈴木 京子です。 インスタンスが破棄されました。 インスタンスが破棄されました。 説明にある、 「オブジェクトが破棄されるタイミングで実行されるのがデストラクタです。」 「デストラクタには、クラスの中で使用したリソースを破棄するなど、主に終了するときの処理を記述するのが一般的です。」 これらの意味がわかりません。 コンストラクタの 「new 演算子によってインスタンス化されるタイミングで実行される」 「プロパティの初期化」 などの意味は理解できているつもりです。 デストラクタを使うと「オブジェクトが破棄される」、「クラスの中で使用したリソースを破棄する」と ありますが、『一度インスタンスを作るとクラス内のリソースが破棄されるのかな?』と思い ためしにもう一つインスタンスを作成しました。上記の通り問題なく使えています。 膨大な記述になると、クラス、この場合は 「class Person」」は再利用出来なくすると言った意味になるのでしょうか? 他の教材やネットで検索してみたりしたのですが、イメージがつかめません。 以下のPHP公式のサイトから考えてみると、クラス内で参照できるものがなければ、コールされるという風に解釈できるかもしれませんが、意味がわかりません。 デストラクタ(__destruct)はコンストラクタ(__construct)の反対というように記述されているものもありますが余計に意味が分かりません。 初学者にもわかるようにデストラクタについて教えてもらえないでしょうか? またどういうケースで利用するのかもよく分かりません。 そのあたりも併せて教えて下さい。 宜しくお願いいたいます。 (参考) デストラクタ __destruct(): void PHP には、C++ のような他のオブジェクト指向言語に似たデストラクタの概念があります。 デストラクタメソッドは、 特定のオブジェクトを参照するリファレンスがひとつもなくなったときにコールされます。 あるいは、スクリプトの終了時にも順不同でコールされます。 https://www.php.net/manual/ja/language.oop5.decon.php

    • ベストアンサー
    • PHP
  • windowsにphp7.4をインストールする方法

    windowsにphp7.4をインストールする方法が分かりません。 URL記事  https://mebee.info/2020/04/17/post-9565/ を参考にして、この記事の少し下に 「php7.4インストール」 という項目があるのですが、実は自身のパソコンがwindoes8.1proというOSを使っているのですが、「ユーザー環境変数(U)の画面のPathの画面まで、出すことができたのですが、 その後の、「C:\php-7.4.5-Win32-vc15-x64」を追加して「OK」ボタンをクリックします。」と書いて部分が分からずに困っています。 Pathをダブルクリックすると、「付属画像のように、ユーザー変数の編集」という画面が出てきて、OKをクリックすると、画面が閉じるだけなのですが、 windows8.1では、「C:\php-7.4.5-Win32-vc15-x64」を追加して「OK」ボタンをクリックします。」はどのようにしたらよいのでしょうか? どうやって追加すれば良いのでしょうか? 先に進めずに困っています。 詳しい方回答よろしくお願いします。

    • hayosat
    • 回答数2
  • PHPの構文、返り値がintの意味

    初学者です。 入門用テキストや、PHPの公式サイトを参照すると 以下のような解説があります。例えば printf関数について見てみると以下のような事が他の関数等を調べても出てきます。あまり気にしていいなかったのですがそういう訳にも行きません。 printf ( string $format , mixed ...$values ) : int この場合、string は「文字列」、$formatは「書式文字列」, mixedは型は「数値、文字列、浮動小数点など何でもいい」, ...$values引数の値 という解釈でいいのでしょうか? int printf( string $format [, mixed $args [, ・・・]]) こちらも同じ意味かと思います。 またHP公式サイト、入門用テキストの両方とも int がついています。これは戻り値(返り値)のことかと思います。 自分の中では「 (int) (integer). 整数型への変換」としか解釈出来ません。しかし、下に記述しているPHPでは返ってくるのは文字列、浮動小数点です。色々ウェブサイトを探していると、「[1]を表す」というようなのを見かけたのですが何のことかわかりません。 上記「int」について初心者でもわかるように教えていただけないでしょうか? よろしくお願いいたします <引用> printf — フォーマット済みの文字列を出力する (PHP 4, PHP 5, PHP 7, PHP 8) printf ( string $format , mixed ...$values ) : int (PHP公式) https://www.php.net/manual/ja/function.printf.php 構文 printf関数 int printf( string $format [, mixed $args [, ・・・]]) (独習PHP第3版) ----------------------- <記述> <?php printf('%sは%sです。','きなこ','ハムスター'); echo "<br>\n"; printf("売上平均(前月比): %+0-8.3f", 0.198765); ?> <表示結果> きなこはハムスターです。 売上平均(前月比): +0.19900

    • ベストアンサー
    • PHP
  • PHPで別サーバーのファイルをコピー

    https経由で別サーバーにあるファイルを自サーバにコピーしたいです。 そのようなことは可能でしょうか?ご教授ください。

    • ベストアンサー
    • PHP
    • Kafka_F
    • 回答数1
  • !助けて!ZAMPP使用のPHP/MySQLエラー

    ZAMPPを使用しPHP/MYSQLの勉強をし始めた者です。以下のエラーが出て先に進めません。どこが悪いのか教えてください。 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\todo.php on line 33 Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\todo.php on line 33 問題のプログラムです。 <?php //---------------------------------------------------------------------- //TODO管理プログラム //---------------------------------------------------------------------- $db_dns = "mysql:host=localhost;dbname=phptest;"; $user = "root"; $pass = ""; //-------SQL $create_query = <<<______ CREATE TABLE items( todo_id INTEGER PRIMARY KEY AUTO_INCREMENT, memo TEXT, flag TEXT, ctime INTEGER); ______; //----------------------------------------------------------------------- //データベースの初期化 $db = new PDO($db_dns,$user,$pass); //データベースが利用できるか確認 $select_stmt = $db->query("SELECT*FROM items LIMIT1"); if(!$select_stmt){//テーブが作成されていない場合 $db->exec($create_query); $now = time(); $db->exec("INSERT INTO items(memo,flag,ctime)". "VALUES('データの初期化','done',$now)"); } //------------------------------------------------------------------------ //TODOを追加する if(isset($_GET['newitem']) && $_GET['newitem'] != ""){ $memo = mysql_real_escape_string($_GET['newitem']); $now = time(); $db->exec("INSERT INTO items(memo,flag,ctime)". "VALUES('$memo','new',$now)"); } //TODOを消化する $to_id = intval($_GET['done']); if ($todo_id > 0){ $db->exec("UPDATE items SET flag='done'". "WHERE todo_id=$todo_id"); } //----------------------------------------------------------------------------- //現在のTODOを表示するHTML $list = ""; //未消化のTODOを抽出 $sql="SELECT*FROM items WHERE flag='new'ORDER BY ctime DESC"; $r = $db->query($sql); foreach ($r->fetchALL() as $row){ $todo_id = $row["todo_id"]; $memo = htmlspecialchars($row["memo"]); $ctime = date("Y-m-d",$row["ctime"]); $btn = "[<a href = '?done=$todo_id'>x</a>]"; $list .= "<li>$btn $memo ($ctime)</li>"; } //消化済みTODOを最大5件抽出 $sql = "SELECT * FROM items WHERE flag = 'done'". "ORDER BY ctime DESC LIMIT 5"; $r = $db->query($sql); foreach ($r->fetchALL() as $row){ $memo = htmlspecialchars($row["memo"]); $ctime = date("Y-m-d",$row["ctime"]); $list .= "<li><s>$memo ($ctime)</s></li>"; } //------------------------------------------------------------------------------- //以下でHTMLを表示 ?><html><body> <h1>TODO</h1> <?php echo $list ?> <form> <h3>新しいTODO</h3> <input type = "text" name= "newitem"/> <input type ="submit" value="追加"/> </form> </body></html> 本当に困り果てています。賢者の方、知恵をお貸しください。

    • ベストアンサー
    • PHP
    • macato
    • 回答数2
  • PHPでのアンケート設置について

    PHPでのアンケート設置について 同じカテゴリにて間隔を空けずに他にも質問してますので内容が若干被るかもしれませんがご了承ください。 下記サイトのアンケートを自身のサイトに設置したいと思い、とりあえず動作確認だけでもしてみようとソースをそのままコピペして(phpファイル名とテキストファイル名は変更)サーバーにアップしましたが上手く動作してくれません。 ソースが掲載されているサイトURL:http://rx78.mods.jp/php_sample/questionnaire/index.html -------------ank.php-------------------- <html> <head> <title>アンケート</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body>あなたの好きな教科を選んで投票してください。 <form name="form" method="post" action="ank.php"> <?php //ラジオボタンを項目ごとに出力 $subject=array('国語','社会','数学','理科','英語'); for($i=0; $i<count($subject); $i++){  echo "<input type='radio' name='kyouka' value='$i'>{$subject[$i]}<br>\n"; } ?> <br> <input type="submit" name="submit" value="投票"> </form> <table border="1"> <?php //データの書き込み $data=file('data2.txt'); for($i=0; $i<count($subject); $i++){ $data[$i]=rtrim($data[$i]); } if($_POST['submit']){ $data[$_POST['kyouka']]++; $fp=@fopen('data2.txt','w'); for($i=0; $i<count($subject); $i++){ fwrite($fp,$data[$i]."\n"); } fclose($fp); } //データの出力 echo "<hr>"; for($i=0; $i<count($subject); $i++){ echo "<tr>"; echo "<td>{$subject[$i]}</td>"; echo "<td><table><tr>"; $wd=$data[$i]*10; //出力幅の設定 echo "<td width='$wd' bgcolor='#eeeeee'> </td>"; echo "<td>{$data[$i]} 票</td>"; echo "</tr></table></td>"; echo "</tr>\n"; } ?> </table> </body> </html> ---------------------------------------- 上記のank.phpファイルと同じディレクトリに空のdata2.txtファイルを用意し、パーミッションを606に設定しました。 アップしてank.phpにアクセスすると真っ白のページになります。 お借りしているレンタルサーバー(Rental Orbit Space )はphp可でパスも設定しました。 上記サイトの他のサンプルを使用してみたらエラーがあった為(ネットで調べて自己解決済)、不信感を覚えこのサンプルのコードにも誤りがあるのでは?と思いましたが、私が初心者な為コードを見てもどこが間違っているのかさえ皆目見当付きません。 そこで詳しい方の力をお借りたくて質問しました。 私自身が半可通な為に説明不足な点もあるかと思いますが、ご教授いただければ幸いです。 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP->MySQLに漢字データが渡らない

    Fedora11の自家サーバー&「ウェブDYIで行こう!たのしいPHP入門」という書籍で、PHPのお勉強をしています。下記のコードで「佐藤」という漢字データがMySQLに渡りません。satoに変更すると、問題なく渡ります。MySQLの文字コードはUTF-8に設定しています。(全てUTF-8で統一しているつもり)文字化けではなく、print_r($result);のところで、nameフィールドは何も表示されません。htmlソースを見ても、何も存在していない様に見えます。 (注)書籍のコードに、しつこい位UTF-8の記述を足してみておりますが、足す前も同様でした。 <html><body> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <pre><?php ini_set("default_charset", "UTF-8"); $dsn = "mysql:host=localhost;dbname=xxxxxx"; $user = "xxxxxx"; $password = "*******"; $db = new PDO($dsn, $user, $password); $db->exec("SET NAMES utf8"); $insert_query = "INSERT INTO users (name, email) " ."VALUES ('佐藤','sato@example.com')"; $db->exec($insert_query); $result = $db->query("SELECT * FROM users")->fetchAll(); print_r($result); ?> </body></html> 最初php.iniは初期値のままでやっていて、下記記事を参考に http://hain.jp/index.php/tech-j 次の通り設定してみましたが、事態は変わりませんでした。 output_buffering = Off ; default_charset = EUC-JP mbstring.language = Japanese mbstring.encoding_translation = off mbstring.http_input = pass mbstring.http_output = pass mbstring.internal_encoding = UTF-8 mbstring.substitute_character = none mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII 原因と対策がお分かりの方がいらっしゃいましたら、御教示のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PerlとPHPのサイトについて

    MySQLと連動したサイトをつくる場合、登録、閲覧、検索時PerlとPHPではどちらが負荷がかからないで早く表示するのでしょうか。

    • ベストアンサー
    • Perl
    • basi999
    • 回答数2
  • PHPへのデータ送信について

    Flash CS4を使ってアプリを開発しています。 サーバー側は、OSがSolaris、言語はPHPでデータベースを検索します。 FlashのActionScriptは、version2.0を使っています。 Flashで作成した画面上で、メールアドレスとかパスワードを入力させて、 それをsendAndLoad(phpプログラムファイル名,load用変数名,"POST")でサーバー側に送信しています。 しかし受信する側のPHPプログラム上で、$_POST['mailaddress']のように 読もうとしてもうまく読めません。echoでその変数値を表示させても何も表示されません。 原因として何が考えられるでしょうか? ちなみに、PHPの内部エンコードはutf-8です。

  • Apatch、PHPを用いたファイルのアップロード

    Apatch、PHPを用いたファイルのアップロード サーバ構築、PHPともに初心者です。 原因が全くわからないので、質問させて頂きます。 現在、ApatchとPHPを用いた、ファイルのアップロードシステムを考えています。 適当なファイルをアップロードする所までは順調なのですが、ファイルの容量が一定以上になるとアップロードが出来ません。 具体的な数値はわかりませんが、7.5MBのファイルは可能、8.2MBのファイルは不可能といった所です。 恐らく8MBが区切りだと考えています。 環境、設定等は以下の通りです。 --------------------------------------- [PC] OS:Windows XP SP2 Memory:2GB [ソフト・バージョン] Apatch2.2 PHP5.2.10 [php.ini内] uploads = On upload_tmp_dir = "C:/tmp"(十分な空き容量) upload_max_filesize = 500M post_max_size = 500M memory_limit = 512M max_execution_time = 10000 --------------------------------------- 上記以外に記載する必要のある項目があれば記載致します。 どなたか心当たりのある方がいらっしゃいましたら、是非ともご教示ください。