ホームページ バックエンド開発 PHPチュートリアル ログインと登録に関してちょっとしたことをしたのですが、文字でログインするとエラーになってしまいます。

ログインと登録に関してちょっとしたことをしたのですが、文字でログインするとエラーになってしまいます。

Jun 13, 2016 pm 12:43 PM
nbsp session this

ログインと登録に関してちょっとしたことをしたのですが、文字でログインするとエラーが発生します
先にコードを入力してください

これはコントローラ配下のアクションにログインするためのコードです

<br />
//登陆提交控制器<br />
    public function logAction()<br />
    {<br />
        //获取登录表单参数<br />
    	$userid = $this-&gt;getRequest()-&gt;getParam('userid');<br />
    	$password = $this-&gt;getRequest()-&gt;getParam('psd');<br />
    	//创建表模型并查询登录密码<br />
    	$table = new user();<br />
    	$where = 'userid ='.$userid;<br />
    	$row = $table-&gt;fetchRow($where)-&gt;toArray();<br />
    	//验证表单密码和数据库密码<br />
    	if($row['password'] == $password)<br />
    	{<br />
    		//创建全局变量session用户名id<br />
    		session_start();<br />
    		$_SESSION['userid'] = $userid;<br />
    		//显示登陆成功视图<br />
    		$this-&gt;render('logok');<br />
    	}<br />
    	else <br />
    	{<br />
    		//密码错误显示登录失败视图<br />
    		$this-&gt;render('logfailed');<br />
    	} 	<br />
    }<br />
ログイン後にコピー

これはユーザーテーブルです
-------- ---------- ----------
| ユーザーID | パスワード |
-------- ---------- ----------
| 010 | メッシ | |ロビン |
-------- ---------- ----------

まず、登録プロセス中はすべて正常に行われ、両方のレコードを正常に挿入できます

ただし、ログインするときは、最初のレコード 010
でログインすると正常に動作します。 2 番目のレコード ロビンでログイン中にエラーが発生しました!! 500 エラーが報告されました エラーが発生しました アプリケーション エラー

そして、ユーザー名をランダムに書いてフォームを送信すると、文字が含まれている場合はエラーが報告されます。文字が含まれておらず数字のみの場合は、エラーは報告されませんが、ジャンプ情報は表示されません。
まず、ユーザー名とパスワードを何気なく書いてもジャンプしないのは、fetchRowの戻り値がnullだからだと分析しました

しかし、英語の文字を書くとエラーが発生するのはなぜですか??
フォームパラメータの取得には問題がなく、テーブルモデルにも問題はないはずです
ページの文字セット、mysql 文字セット、zend Studio 文字セットも utf-8 に統一されています
$where 条件の記述が間違っていますか? しかし、番号
でログインするとジャンプは成功します。 どうしてこのような奇妙な問題が起こるのでしょうか...私は経験が浅いので、専門家にアドバイスを求めなければなりません

文字や特殊文字を含まない 010_010 のような文字列もテストしてみましたが、送信後には 500 エラーが報告されました
。 この質問は本当に奇妙です...

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は?

See all articles