php ページはジャンプします。ローカルの Windows 環境は正常ですが、アップロードされた Linux サーバーはジャンプできません。
php で作成したプロジェクト。ログイン後、ページはローカル Windows 環境では正常ですが、Linux サーバーにアップロードするとジャンプできません。答えを求めてください。
コード、プロジェクト構造は次のとおりです:
action/loginin.php
//user loginif (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) { try{ $username = $_POST['username']; $password = $_POST['password']; $rs = $config[DAOIMPL]->getLoginByName($username); $arr = mysql_fetch_array($rs); //echo $arr['sys_user_passwd']; if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) { $_SESSION[SESSIONUSER] = $username; echo '<script language=javascript>window.location="../index.php"</script>';//跳转到根目录下的index.php }else { echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='../login.php'</script>"; exit(0); } } catch (Exception $e){ echo "<script language=javascript>alert('".$e."'); window.location='../login.php'</script>"; exit(0); }}
さらに、サーバーはオペレーティング システム: Ubuntu 12.04 64 ビット
ディスカッションへの返信 (解決策)
跳べない性能とは?ページが存在しないのでしょうか?それともスクリプトが応答していないのでしょうか?
1. 従来のコードは例外をスローしないため、例外処理は無効であるため、削除できます。おそらくそれが彼の理由です
2. URL ジャンプには絶対パスを使用する方が良いです
location="/index.php"
ジャンプに失敗するとどのような症状が現れますか?ページが存在しないのでしょうか?それともスクリプトが応答していないのでしょうか?
JS スクリプトが応答しません。
ログイン成功コードにアラートを追加しました
if ($arr && $arr['sys_user_passwd'] ==generateUserPassword($password)) {
$_SESSION[SESSIONUSER] = $username;
echo '';
echo '';
}else {
echo ""; ;
}
結果は次のとおりです:
[確認] をクリックすると、ログイン インターフェイスに戻ります
ファイル名の大文字と小文字は一致していますか? Windows ではデフォルトで大文字と小文字が区別されませんが、Linux では大文字と小文字が区別されます。また、phpに直接アクセスしてアクセスできるか確認してみてはいかがでしょうか?
または、静的 HTML ファイルを作成し、loginin.php と同じ場所に置き、loginin.php の js をコピーして、正常にジャンプできるかどうかをテストできますか?
Index.php がアクセスされたかどうかを確認するために、index.php の先頭に出力情報を配置します。
ログを作成してプログラムがどこに行くのかを確認し、確認します。
//user loginif (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) { echo '1'; try{ $username = $_POST['username']; $password = $_POST['password']; $rs = $config[DAOIMPL]->getLoginByName($username); $arr = mysql_fetch_array($rs); //echo $arr['sys_user_passwd']; echo '2'; if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) { $_SESSION[SESSIONUSER] = $username; echo '3'; echo '<script language=javascript>window.location="../index.php"</script>';//跳转到根目录下的index.php }else { echo '4'; echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='../login.php'</script>"; exit(0); } } catch (Exception $e){ echo '5'; echo "<script language=javascript>alert('".$e."'); window.location='../login.php'</script>"; exit(0); }}
1. 従来のコードは例外をスローしないため、例外処理は無効であるため、削除できます。おそらくそれが彼の理由です
2. URL ジャンプには絶対パスを使用する必要があります
location="/index.php"
あなたの意見によると、コードを修正しましたが、ログインに成功した後、戻ります。ログインインターフェースへ
if (isset($_POST['username']) && isset($_POST['password'])
&& !empty($_POST['username']) && !empty($_POST['password ' ])
) {
//try{
$username = $_POST['username'];
$password = $_POST['password'];
$rs = $config[DAOIMPL]->getLoginByName($ユーザー名 );
$arr = mysql_fetch_array($rs);
//echo $arr['sys_user_passwd'];
if ($arr && $arr['sys_user_passwd'] == generatedUserPassword($password)) {
$_SESSION [ SESSIONUSER] = $username;
echo '';
echo '';
}else {
echo "";
//exit(0);
}
//}
//catch (Exception $e){
//echo "";
//exit(0);
//}
}
セッションがは登録されていません 成功すると、index.phpのページに到達後、ログインがないと判断され、ログインインターフェースにジャンプします。まずはindex.phpのジャンプ機能を無効にしてみてください。
ログを記録してプログラムの行き先を確認してから決定します。
//user loginif (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) { echo '1'; try{ $username = $_POST['username']; $password = $_POST['password']; $rs = $config[DAOIMPL]->getLoginByName($username); $arr = mysql_fetch_array($rs); //echo $arr['sys_user_passwd']; echo '2'; if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) { $_SESSION[SESSIONUSER] = $username; echo '3'; echo '<script language=javascript>window.location="../index.php"</script>';//跳转到根目录下的index.php }else { echo '4'; echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='../login.php'</script>"; exit(0); } } catch (Exception $e){ echo '5'; echo "<script language=javascript>alert('".$e."'); window.location='../login.php'</script>"; exit(0); }}
ログイン成功コードまで実行され、3 階でランニング現象が発生しています
if (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) { $username = $_POST['username']; $password = $_POST['password']; $rs = $config[DAOIMPL]->getLoginByName($username); $arr = mysql_fetch_array($rs); if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) { $_SESSION[SESSIONUSER] = $username; echo '<script language=javascript>alert("验证成功")</script>'; echo '<script language=javascript>window.location="/cloudsong/index.php"</script>'; }else { echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='/cloudsong/login.php'</script>"; }}
有可能是你的session没有注册成功,到index.php页面之后,判断没有登录,又往登录界面跳转了。你先屏蔽index.php的跳转功能试试看。
session已经设置成功,屏蔽掉index.php的跳转后,程序就停在了logininphp
if (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) { $username = $_POST['username']; $password = $_POST['password']; $rs = $config[DAOIMPL]->getLoginByName($username); $arr = mysql_fetch_array($rs); if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) { $_SESSION[SESSIONUSER] = $username; echo '<script language=javascript>alert("验证成功")</script>'; echo '<script language=javascript>window.location="/cloudsong/index.php"</script>'; }else { echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='/cloudsong/login.php'</script>"; }}
有可能是你的session没有注册成功,到index.php页面之后,判断没有登录,又往登录界面跳转了。你先屏蔽index.php的跳转功能试试看。
session已经设置成功,屏蔽掉index.php的跳转后,程序就停在了logininphp
从你贴出来的loginin.php代码和运行情况来看,是不可能往 录界面跳转 跳转的,对吧? 屏蔽掉index.php的跳转后,程序就不再往登录界面跳转,这也就说明了一些问题。
你再在index.php最前面输出一些信息,看看情况如何?
那就是你没有 session_start() 了
?出session看看有什??西?
问题初步判断确实是出在我session 检查的代码里,谢谢大家帮忙分析!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
