• ベストアンサー

認証について

下記、認証画面を作成しましたが、 「kokousr」DBに存在しないUSERID,USERPASSを入力しても、ログインできてしまいます。 存在しないUSERをログインさせないためには、どこを変更すればよろしいのでしょうか? よろしくお願いします。 <?php function chk_auth() { global $conn; global $uid; global $upass; if ($uid and $upass) { $sql = "SELECT * FROM kokousr where uid = '".cnv_sqlstr($uid)."'" ." and pass = '".cnv_sqlstr($upass)."'"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); $row = mysql_fetch_array($res, MYSQL_ASSOC); if (mysql_num_rows($res) >= 1) { return TRUE; } else { return FALSE; } } else { return FALSE; } } function gamen_log() { ?> <h2>ログイン画面</h2> <form method="post" action="./itiran.php"> <table border="1"> <tr> <td>ユーザID</td> <td><input type="text" name="uid"></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="upass"></td> </tr> </table> <input type="hidden" name="act" value="ent"> <input type="submit" name="sub" value="ログイン"> </form> <?php conndb(); if (!chk_auth()) { $act = "log"; } ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=x-sjis"> <title>ログイン</title> </head> <body> <?php gamen_log(); ?> </body> </html>

  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • alioth
  • ベストアンサー率48% (13/27)
回答No.2

cnv_sqlstr() は標準関数でないので、内容を記述すべきです。想像はつきますが。 質問がいくつか。 まず、1.投稿しているソースと fromタグで指定している ./itiran.php は同じものですか。 2.$act="log"という行がありますが、その後この$actはどこで利用していますか。 3.念のため、phpとMySQLのバージョン

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

$sql を Printしてみて、 コンソール(プロンプト)から直接たたいてみればある程度の原因がわかるのでは?

関連するQ&A

  • 認証が通ったidを元にidテーブルを一覧表示する方法

    画面が3枚あります。 『ログイン.php』 ログイン名(uid)、パスワード(upass)を入力し、 認証.phpへ[uid]と[upass]をPOST送信する。 『認証.php』 上記ログイン.phpにてPOST送信された[uid]と[upass]を受け取り、 if条件文にて判定を行う。 uidとupassが合致していたならば、header("Location: ./一覧表示.php");に飛ぶ。 uidとupassの相違していたならば、header("Location: ./ログイン.php");に戻る。 『一覧表示.php』 認証が通ったuidを元にuidテーブルを一覧表示する。 最後の一覧表示.phpにて認証が通ったuidのみをテーブルに一覧表示させるには どのような処理を行えばよろしいのでしょうか? 私が思うに、認証.phpからさらにuidをPOST送信するものと考えておりますが、 header関数にてそれをどのようにして行うものかがわかりません。 以下に認証.phpの一部を記載しました。 ご教授のほどよろしくお願いします。 // ----- 認証 function chk_auth() { if ($_POST["uid"] and $_POST["upass"]) { $sql = "SELECT * FROM usr where uid = '".cnv_sqlstr($_POST["uid"])."'" ." and pass = '".cnv_sqlstr($_POST["upass"])."'"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); $row = mysql_fetch_array($res, MYSQL_ASSOC); if (mysql_num_rows($res) >= 1) { return TRUE; } else { return FALSE; } } else { return FALSE; } } //  処理開始 if (!chk_auth()) { header("Location: ./login2.php"); exit; } else { header("Location: ./itiran.php"); exit; }

    • 締切済み
    • PHP
  • PHPでのMYSQL操作について教えてください。

    MYSQLの中のデータをPHPで一覧にして表示し、フォームの内容を変更してから変更ボタンを押すと変更を反映した内容が一覧になって表示されるようにしたいのですが、うまくいきません。 コードは以下のとおりです。 <?php //接続設定 $sv="localhost"; $dbname="****"; $user="****"; $pass="****"; //文字コード $enc_disp="shift-jis"; $enc_db="shift-jis"; //データの文字コードを変更する function cnv_enc($string, $to, $from) { //文字コード変換 $det_enc=mb_detect_encoding($string, $from . ", " . $to); if ($det_enc and $det_enc != $to) { return mb_convert_encoding($string, $to, $det_enc); } else{ return $string; } } //データをSQL用に変換 function cnv_sqlstr($string) { if (get_magic_quotes_gpc()) { $string = stripslashes($string); } $string = htmlspecialchars($string); $string = mysql_real_escape_string($string); return $string; } //データベース接続 $conn=mysql_connect($sv,$user,$pass) or die("接続エラー"); mysql_select_db($dbname) or die ("接続エラー"); //編集するデータを取得する if (count($_POST) >0) { $number=$_POST["number"]; $name=$_POST["name"]; //データが送信された時にはデータを変更する if (strlen($number) and strlen($name)) { //データを変更する $sql = "UPDATE customer SET number = ".cnv_sqlstr($number).", name = '".cnv_sqlstr(cnv_enc($name, $enc_db, $enc_disp))."', WHERE (number = ".cnv_sqlstr($number).");"; mysql_query($sql, $conn) or die("データ変更エラー"); } } //データを取り出す $sql = "SELECT number,name FROM テーブル名 ORDER BY number ;"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); //取りだしたデータを表示する echo "<table border =\"1\">"; echo "<tr>"; echo "<td> </td>"; echo "<td>名前</td>"; echo "</tr>"; while ($row =mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<form method=\"POST\" action=\"".$SERVER["PHP_SELF"]."\">"; echo "<tr>"; echo "<td><input type=\"submit\" value=\"変更\"></td>"; echo "<input type=\"hidden\" value=\"".$row["number"]."\" name=\"number\">"; echo "<td><input type=\"text\" name=\"name\" value=\"".cnv_enc($row["name"], $enc_disp, $enc_db) . "\"></td>"; echo"</tr>"; echo"</form>"; } echo"</table>"; //接続を解除する mysql_close($conn); ?> 現在は内容を変更して変更ボタンを押すと、「変更エラー」が表示される状態です。 何が原因かわからず行き詰っています。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • チェックボックスのチェック処理

    HTMLでボタン押下時にチェックしたいことがあります。 ■カテゴリーA~Cで、カテゴリー毎に選択できるのは一つのみ  (例)「A1・あ」と「A2・お」が選択時はNG ■カテゴリーは最大2つまで選択可能  (例)「A1・い」と「C1・さ」が選択時はOK    「A1・い」と「B2・く」と「C1・さ」が選択時はNG <html> <head> </head><body> <form> <table border="1"> <tr> <td>A1</td> <td><input type="checkbox" name="chk1" value="1">あ</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">い</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">う</td> </tr> <tr> <td>A2</td> <td><input type="checkbox" name="chk1" value="1">え</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">お</td> </tr> <tr> <td>B1</td> <td><input type="checkbox" name="chk1" value="1">か</td> </tr> <tr> <td>B2</td> <td><input type="checkbox" name="chk1" value="1">く</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">け</td> </tr> <tr> <td>C1</td> <td><input type="checkbox" name="chk1" value="1">さ</td> </tr> <tr> <td>C2</td> <td><input type="checkbox" name="chk1" value="1">し</td> </tr> <tr> <td> </td> <td><input type="checkbox" name="chk1" value="1">す</td> </tr> </table> <input type="submit" value="チェック"> </form> </body> </html> すみませんがよろしくお願いします。

  • php MySQL で、更新ボタンを押すと何回も書き込まれる

    いつもお世話になります。 PHP Ver.4.46 MySQL Ver.4.0.27 です。 フォームよりMySQLのデータベースへ書き込んでその内容を表示しようと思っています。 しかし、更新ボタンを押すと 、『情報を再送信する必要があります』と表示され、『はい』を押すと、 テキストボックスの内容が空白なのに同じデータが次々と書き込まれてしまいます。 過去ログを調べてよく似たようなものがあったので http://oshiete1.goo.ne.jp/qa3473685.html 試してみましたが、ダメでした。 //★★★★★★★★の行を追加してみました。 よろしくお願いいたします。 スクリプトは以下のようなものです。 <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td>お名前</td> <td><input type="text" name="g_name" size="30"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="g_mail" size="30"></td> </tr> <tr> <td>メッセージ</td> <td> <textarea rows="5" cols="30" name="g_mes"></textarea> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="書き込む" onClick="return confirm('書き込んで良いですか?')"> </td> </tr> </table> </form> <?php $sv = "localhost"; $dbname = "guestbook"; $user = "root"; $pass = "********"; // データベースに接続する $conn = mysql_connect($sv, $user, $pass) or die("接続エラー"); mysql_select_db($dbname) or die("接続エラー"); ?> <?php // POSTメソッドで送信された場合は書き込み処理を実行する if ($_SERVER["REQUEST_METHOD"] == "POST") { // フォームからデータを受け取る $g_name = cnv_dbstr($_POST["g_name"]); $g_mail = cnv_dbstr($_POST["g_mail"]); $g_mes = cnv_dbstr($_POST["g_mes"]); // 名前とメッセージが入力されていればデータの追加を実行する if (!empty($g_name) and !empty($g_mes)) { // データを追加する $sql = "INSERT INTO guestdata(g_name, g_mail, g_mes, g_date) "; $sql .= "VALUES("; $sql .= "'" . $g_name . "',"; $sql .= "'" . $g_mail . "',"; $sql .= "'" . $g_mes . "',"; $sql .= "'" . date("Y/m/d H:i:s") . "'"; $sql .= ")"; $res = mysql_query($sql, $conn) or die("データ追加エラー"); if ($res) { echo "<p>書き込みありがとうございました</p>"; //★★★★★★★★ header("Location:" . $_SERVER["PHP_SELF"] . ".php"); // $_SERVER["REQUEST_METHOD"]=""; //rqg 初期化 これではダメだった }else{ echo "<p>書き込み失敗</p>"; } } // 名前やメッセージが空白の場合はエラーメッセージを出力する else { echo "<p><b>お名前とメッセージを入力してください</b></p>"; } } // SQLコマンド用の文字列に変換する関数 function cnv_dbstr($string) { // タグを無効にする $string = htmlspecialchars($string); // magic_quotes_gpcがONの場合はエスケープを解除する if (get_magic_quotes_gpc()) { $string = stripslashes($string); } // SQLコマンド用の文字列にエスケープする $string = mysql_real_escape_string($string); return $string; } ?>

    • ベストアンサー
    • PHP
  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • PHPのカレンダーに曜日をつけられづに困っています。

    <?php // 日付 if (!isset($hiduke)) { $hiduke = date("Y-m-d"); } if (!isset($yyyy)) { $yyyy = date("Y", strtotime($hiduke)); } if (!isset($mm)) { $mm = date("m", strtotime($hiduke)); } if (!isset($dd)) { $dd = date("d", strtotime($hiduke)); } // 表示ページ if (isset($_GET["act"])) { $act = $_GET["act"]; } if (!isset($act)) { $act = ""; } // ================================================= //  処理開始 ?> <?php conndb();?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>予約システム</title> </head> <body> <h2>予約システム</h2> <?php // -- ページ内容の表示 switch ($act) { case "upd": // 更新 gamen_upd(); break; case "updconf": // 更新確認 gamen_updconf(); break; case "delconf": // 削除確認 gamen_delconf(); break; case "det": // 詳細表示 gamen_detail(); break; default: gamen_iti(); } ?> </body> </html> <?php closedb(); ?> <?php // ================================================= // ----- 一覧表示画面 function gamen_iti() { global $conn; global $hiduke; global $yyyy; //年 global $mm; //月 $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); if (isset($kbn)) { if ($kbn == "upd" or $kbn == "del") { update_yoyaku($kbn); } } $sql = "SELECT * FROM jikan ORDER BY timeid"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td><?php setmonth(); ?></td> <td><input type="submit" name="sub" value="予約表示"></td> </tr> </table> <input type="hidden" name="act" value="iti"> <input type="hidden" name="kbn" value="go"> </form> <p><?php echo date("Y 年 m 月 ", mktime(0, 0, 0, $mm, 1, $yyyy)) ?>予約一覧 <table border="1"> <tr bgcolor="#ffd700"> <td>日付</td> <?php // 時間表示 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $timeid = $row["timeid"]; $jikan = cnv_dispstr($row["jikan"]); ?> <td><?php echo $jikan ?></td> <?php } ?> </tr> <?php //カレンダー $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) { ?> <tr> <?php $ts = mktime(0, 0, 0, $mm, $i, $yyyy); $ymd = date("Y/m/d" ,$ts) ; $ymdstr = strftime("%Y年%m月%d日(%a)", $ts); ?> <td><?php echo $ymd ?></td> <?php   <?php } ?> </table> <?php } // ================================================= // ----- 年月選択リスト表示 function setmonth() { global $yyyy; global $mm; $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); echo "<table><tr><td>"; // 年 echo "<select name=\"yyyy\">"; for ($i = 2008; $i <= 2025; $i++) { echo "<option"; if ($i == $yyyy) { echo " selected "; } echo ">$i"; } echo "</select>年"; // 月 echo "<select name=\"mm\">"; for ($i = 1; $i <= 12; $i++) { echo "<option"; if ($i == $mm) { echo " selected "; } echo ">$i"; } echo "</select>月"; echo "</td>"; echo "</tr></table>"; } ?> と参考書を見ながら、作っています。 PHPはまったくの初心者です。カレンダーの日付に曜日をつけられづに困っています。コードを含め詳しくをしえてもらえると助かります。よろしくお願いします。

    • 締切済み
    • PHP
  • PEARでのAuth認証について

    ただいまPEAR入門を参考に勉強しているのですが 認証部分でつまずいてしまっています。 どなたか御教授いただけませんでしょうか。 簡単なログイン認証をするためにサンプル通りのコードを 作って表示テストを行うものなのですが 認証できたら「認証済みです」 できていなければ「ID/パスワードが違います」 と表示されるようなものです。 IDもパスワードもきちんと入れているのですが認証できないため 悩んでいます。 以下そのコードを書きますので助言いただけるとありがたいです。 *contents.php* <?php require_once("Auth.php"); function loginFunction($usr, $status){ require_once("loginForm.php"); } $params = array( "dsn" => "mysqli://pear:pass@localhost/pear", "table" => "auth", "usernamecol" => "username", "passwordcol" => "password"); $myAuth = new Auth("DB", $params, "loginFunction"); $myAuth -> start(); if($myAuth -> getAuth()){ print("認証済です。"); } ?> *loginForm.php* <?php switch($status){ case AUTH_IDLED : case AUTH_EXPIRED : $err = "ログイン期限が切れています。再ログインしてください。"; break; case AUTH_WRONG_LOGIN : $err = "ユーザID/パスワードが間違っています。"; break; } ?> <html> <head> <title>ログインページ</title> </head> <body> <form method="POST" action="<?php print($_SERVER['PHP_SELF']) ?>"> <table border="0"> <tr> <th align="right">ユーザID:</th> <td><input type="text" name="username" size="15" maxlength="20"></td> </tr> <tr> <th align="right">パスワード:</th> <td><input type="password" name="password" size="15" maxlength="20"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="ログイン"> </td> </tr> </table> <font color="red"><?php print($err); ?></font> </form> </body> </html>

    • ベストアンサー
    • PHP
  • nl2br()の記入例

    PHPを始めたばかりで行きづまってしまいました。 MySQLを利用したデータの出し入れなのですが、テキストエリア内の文章の改行についてです。 input.php(入力)⇒confirm.php(確認)⇒end.php(完了) という流れなのですが、input.phpで入力した内容をconfirm.phpで確認すると文章の改行がされてなかったので色々検索した結果、nl2br()使うというところまでは解ったのですが、実際どのように書くのか解りません・・・。 例えばこのようなソースの場合、どのような記述をすればいいのでしょうか? <html> <head> <title>薬屋さん</title> </head> <body> <?php $con = mysql_connect('aaa', 'bbb', 'ccc'); if (!$con) { exit('データベースに接続できませんでした。'); } $result = mysql_select_db('ddd', $con); if (!$result) { exit('データベースを選択できませんでした。'); } $result = mysql_query('SELECT * FROM kusriya', $con); echo "<dl>\n"; while ($data = mysql_fetch_array($result)) { $id = $data['id']; $shop = htmlspecialchars($data['shop']); $address = htmlspecialchars($data['address']); $phone = htmlspecialchars($data['phone']); $comment = htmlspecialchars($data['comment']); $navi = htmlspecialchars($data['navi']); $con = mysql_close($con); if (!$con) { exit('データベースとの接続を閉じられませんでした。'); } ?> <form method="post" action="test_confirm.php"> <table> <tr> <th>ID</th><td><input type="text" name="id" /></td> </tr> <tr> <th>店名</th><td><input type="text" name="shop" /></td> </tr> <tr> <th>住所</th><td><input type="text" name="address" /></td> </tr> <tr> <th>電話</th><td><input type="text" name="phone" /></td> </tr> <tr> <th>コメント</th><td><textarea name="comment" cols="80%" rows="5"></textarea></td> </tr> <tr> <th>ルート</th><td><textarea name="navi" cols="80%" rows="5"></textarea></td> </tr> </table> <input type="submit" value="送信" /> <input type="reset" value="リセット" /> </form></body> </html> よろしくお願いします。

    • 締切済み
    • PHP
  • ユーザー登録画面

    学校のPHPの課題でPHPmyadminを使ってユーザー情報の登録画面を作っています。プログラムは大体できたのですがうまく動いてくれません。自分の作ったプログラムのどこが間違っているか教えていただけないでしょうか? できればどのように直したらいいか教えていただけたらと思います。 ↓が作ったプログラムです。 <?php $host = "localhost"; if (!$conn = mysql_connect($host,"root","admin")){ die("データベース接続エラー.<br />"); } mysql_select_db("kisop", $conn); $name = mysql_real_escape_string($_POST['name']); $postal_code = mysql_real_escape_string($_POST['postal_code']); $state = mysql_real_escape_string($_POST['state']); $city = mysql_real_escape_string($_POST['city']); $street = mysql_real_escape_string($_POST['street']); if ($name == ""){ exit ("名前が入力されていません"); } $sql = "INSERT INTO user_table(name,postal_code,state,city,street) VALUES('$name', '$postal_code', '$state', '$city' ,'$street')"; mysql_query($sql, $conn) or die("登録できませんでした"); print("登録しました。<a href=\"user.php\">user.php</a>で確認してください。"); ?> <html> <head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <table width="100%"> <tr><td align="center"><h1>ユーザ情報登録</h1></td></tr> </table> <table width="100%"> <tr> <td valign="top"> <form action="user.php" method="post"> <table border align="center"> <tr><td>名  前</td><td><input type=\"text\" name=\"name\"></td> <tr><td>郵便番号</td><td><input type="text" name="postal_code"></td></tr> <tr><td>都道府県</td><td><input type="text" name="state"></td></tr> <tr><td>市 町 村</td><td><input type="text" name="city"></td></tr> <tr><td>番  地</td><td><input type="text" name="street"></td></tr> <tr><td colspan="4" align="center"><input type="submit" value="登録"></td></tr> </table> </form> </td> </tr> </table> </body> </html> phpmyadminにはkisopというデータベースを作りuser_tableというテーブルを作りました。user_tableにはname postal_code state city streetという項目を作りました

    • ベストアンサー
    • PHP
  • データーベースをフォームから入力し更新

    データーベースをフォームから入力し更新 登録済のデーターベースをフォームから入力し更新したいのですが、どうしてもうまくいきません。 http://park18.wakwak.com/~little-box/Dreamweaver/sql010.htm のサイトを参考にしているのですがitiran.phpのところからつまづいています。 // 検索した結果を全部表示 echo "<table border=1>"; echo "<tr><td>id</td><td>name</td></tr>"; while($row=mysql_fetch_array($res)){    echo "<tr>";    echo "<td>". $row["name"] . "</td>";    echo "<td>". $row["age"] . "</td>";    echo "<form action=koushin_input.php method=post>";    echo "<input type=hidden name=id value=" . $row["id"] . ">";    echo "<td><input type=submit value=更新></td>";    echo "</form>";    echo "<form action=sakujo.php method=post>";    echo "<input type=hidden name=id value=" . $row["id"] . ">";    echo "<td><input type=submit value=削除></td>";    echo "</form>";    echo "</tr>"; } echo "</table>"; の辺りがおかしいのではと思っているのですが… アドバイスください。また、他に参考になるサイトがありましたらぜひ教えてください。

    • ベストアンサー
    • PHP

専門家に質問してみよう