PHP5&MySQL5&XP-SP2
pear::DB接続でテーブルと連動したlogin.phpを作成しています。
m_studentというテーブルのstuidとstpassというフィールドを使いチェックしています。
stuidとstpassのデータの中身が数字だとログインできますが、半角の英語だとログインできません。
--ある特定の文字だと英語でもログインできます。
どなたか、ご経験、ご指導いただけると幸いです。
--login.php
session_start();
include_once('connection.php');
$id=$_REQUEST['name'];
$_SESSION['name']=$_REQUEST['name'];
$_SESSION['pass']=$_REQUEST['pass'];
$query = mysql_query("select * from m_student where `stuid`='$id'");
$row=mysql_fetch_assoc($query);
if(($row['stpass']!='') && ($row['stpass']==$_SESSION['pass']))
{
?>
<script language="JavaScript" >
parent.location.href='../learningsite-jp/index.php';
</script>
<? }
else {
if($_REQUEST['error']==1){ ?>
<script language="javascript">alert('IDとパスワードが間違っています。');</script>
<? $_REQUEST['error']=0;}
?>
--ここからhtmlの記述
--以下、HTMLの中でjavaでチェックをかけている部分
<script language="javascript">
function check(){
var str1 = document.login.name.value;
var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
if (str1=='')
{
alert('Please enter user id.');
document.login.name.focus();
return false;
}
else if(document.login.pass.value=='' ){
alert('Please enter the password.');
document.login.pass.focus();
return false;
}
else
return true;
}
function lostpass(){
document.getElementById('login').style.display='none'
document.getElementById('lostpass').style.display='block'
}
</script>
---connection.php
<?php
mysql_connect('localhost', 'root', 'Koji0615')
or die('Could not connect: ' . mysql_error());
mysql_select_db('learning_bdb') or die('Could not select database');
mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis");
?>
No.1ベストアンサー
- 回答日時:
pear::DBはどこに?なんてツッコミはほっといて・・・
とりあえず、入力された値と、そのIDのデータをDBから引いて、自分の目で確認したらどうでしょう?
print_r($_REQUEST);
で入力されたものがどうかみれますよね。まずその値が正確か確認しましょう。そのあとに、DBからIDで引いた値も見ましょう。
print_r($row);
あたりですね。
これらの値を自分で見て、あってるかどうか、あってるのにログインできてないのはなぜか、という風に、1ステップずつ処理が正しいか確認しましょう。
それから、ここに書き込むために省略したのかもしれませんが、おもいっきりSQLインジェクションに脆弱ですよね。
最低でも
$query = mysql_query("select * from m_student where `stuid`='".mysql_real_escape_string($id)."'");
としましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ゆゆにゃ。
-
php 入力画面から確認表示画面...
-
アンドロイドスマホでのphp ech...
-
PHPのエラーの解消法について教...
-
RSSと投稿記事を交互に表示させ...
-
PHPSpreadsheetによる書き出し...
-
フォームで戻った際に入力済み...
-
画像ファイルの名前をそのままU...
-
これの対応OSを教えて下さい。p...
-
アマゾンのような評価の星を選...
-
ファイルアップロードに関して...
-
Q&Aサイトを作成していてURLの...
-
phpでcookieがうまく保存されない
-
アップロード画像数でCSSを分け...
-
アップロードファイルの数に応...
-
php 確認表示画面で値をSESSION...
-
ワードプレスプラグイン MW WP ...
-
phpのメールフォームの完了画面...
-
PHPSpreadsheetを使って関数を...
-
PHPで画像の渡しが上手く行きま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAについて
-
PHPで[]の使い方について
-
DBで検索結果に該当するデータ...
-
アラートでyes noを作りたいです。
-
dbに登録したデータをphpのプル...
-
phpでmysqlを使ってデータベー...
-
sortable ギブアップです…助け...
-
checkboxクリック時、SQLを実行...
-
PHPでMY SQLの連想配列をリンク...
-
チェックボックスによる複数の...
-
PHPでMySQLデータを呼び出し、w...
-
mysql_fetch_objectの書き方を...
-
SELECT結果から動的にコンボボ...
-
チェックボックスでチェックし...
-
VBA初心者です。
-
PHPについてなのですが未定義の...
-
文字化けが解決できません。お...
-
htmlとphpの分離
-
php テーブルが作成できない
-
検索結果をgoogleのように数件...
おすすめ情報