スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHP フォームに入力した内容をテーブルに登録

今度はフォームに入力した内容をテーブルに登録できるようにします。

まずは、入力フォームを作成します。
フォーム部分のみを抜粋したコード例です。

input_form.html

<p>登録するユーザの情報を入力してください。</p><br />
<form action="insert.php" id="input_form" name="input_form" method="post">
  <dl>
  <dt>
    <label for="user_id">ID</label>
  </dt>
  <dd>
    <input name="user_id" type="text" id="user_id" size="10" maxlength="20" />
  </dd>
  <br />
  <dt>
    <label for="password">パスワード</label>
  </dt>
  <dd>
    <input name="password" type="text" id="password" size="35" maxlength="255" />
  </dd>
  <br />
  <input type="submit" value="登録する" />
</form>


続いて、入力フォームに入力した内容をテーブルに登録するコードです。
insert.php

<?php
require('dbconnect.php');

$sql = sprintf('INSERT INTO login_check SET id="%s", password="%s" ',
 mysql_real_escape_string($_POST['user_id']),
 mysql_real_escape_string($_POST['password'])
);
mysql_query($sql) or die(mysql_error());
?>

<html>
<head>
<title>登録</title>
</head>
<body><h1>ユーザ情報登録</h1>
<p>ユーザー情報をテーブルに登録しました</p>
</body>
</html>

今回のポイントは、2つあります。
フォームから受け取る際に使用する mysql_real_escape_string
SQL文に代入する際に使用する "%s"


1つ目のmysql_real_escape_stringは
入力された内容が攻撃目的であったり、誤った内容で入力された場合に
影響を受けない様、サニタイズ(無害化)する為に用意されているファンクションです。
データを受け取る際にまずサニタイズしてからSQL文に代入していきます。


2つ目はSQL文に代入する際に使用している
"%s"これは 文字列である事を意味しています。
ちなみに数値型の場合は、 %dとなります。


文字型の場合  id="%s" (stringのs)
数値型の場合 id=%d    (digitのd)


%sや%dは "sprintf" という命令に使用されます。





トラックバック

コメント

コメントを残す

Secret


スポンサードリンク

最新記事

最新コメント

プロフィール

かっこいいデザイン、にぎやかなデザイン、きゅ~となデザイン、シンプルで洗練されたデザイン。
想像するだけで心がモワモワしてきます♪
いいデザインにいっぱい出会いますように★

好きな言葉は、旋律と色彩

ブログランキングに参加しています。こちらにも是非♪

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。