[PHP-users 24046] データーベースで動作が上手く行きません

sasa trans_edge @ ybb.ne.jp
2005年 1月 4日 (火) 00:59:25 JST


あけましておめでとうございます、今年もよろしくお願いいたします。

早速の質問ですみません。

フォームからユーザーの登録をでおこなうスクリプトを作成してい
るのですが最初に同じユーザー名が無いかを調べてユーザー名
が無ければデーターベースに登録を行おうとしているのですが・・・、
存在しないログインIDを入力しても"そのログインIDはすでにありま
す。"という表示が出てしまう事があります、しかしちゃんと
ログインIDはデーターベースに登録されています。
そうかと思うとちゃんと"そのログインIDはすでにあります。"
が表示されずに登録される事もあります、存在するログインID
をフォームから入力すると"そのログインIDはすでにあります。"
と表示されます。

どのようにすれば存在しないログインIDの入力で
"そのログインIDはすでにあります。"を毎回表示させないように
する事が出来るのでしょうか、私は詳しくありませんのでどなたか
このスクリプトの書き方がおかしいということや心当たりがあれば
よろしくお願いいたします。



環境は
FreeBSD PHP Version 4.1.2 
mysql Client API version 3.23.39
と書いてありました。


------ 以下スクリプトです --------

$LoginID = $_GET['fLoginID'];
$Password = $_GET['fPassword'];

if( $LoginID == "" || $Password == "" ) {
echo <<<EOT
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=EUC-JP">
</head>
<body>
ログインIDかパスワードに問題があります。
EOT;
exit;
}

$sql2 = "select count(*) from myuser where uid='$LoginID'";// レコード件数を
取得

$r2  = mysql_query($sql2);

if( mysql_result($r2, 0, 0) != 0 ) {
  session_destroy();
  print "そのログインIDはすでにあります。";
  exit;
}

$sql3 = "insert into myuser (uid, password) values
('$LoginID','$Password')";

$r3 = mysql_query($sql3));

session_register("sLoginID");
session_register("sPassword");

$sLoginID = $LoginID;
$sPassword = $Password;




PHP-users メーリングリストの案内