ログインの問題
登录的時刻候报错
警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています (出力は D:wampwwwbbblogin.php:2 で開始されます) の D:wampwwwbbbbincludeslogin.func.php の 36 行目
警告: ヘッダーは変更できません情報 - ヘッダーすでに送信済み (出力は D:wampwwwbbblogin.php:2 で開始) D:wampwwwbbbincludeslogin.func.php のオンライン 37
警告: ヘッダー情報は変更できません - ヘッダーはすでに送信されています (出力は D:wampwwwbbblogin.php:2 で開始) ) D:wampwwwbbbincludesglobal.func.php の 40 行目
?
global.func.php代码如下:
/**
* TestGuest バージョン 1.0
* ========================================== ======
* コピー 2010-2012 yc60
* ウェブ: http://www.yc60.com
* ====================== ==========================
* 著者: Lee
* 日付: 2010-8-11
*/
/**
*_runtime() は実行時間を取得するために使用されます
* @access public は関数がパブリックであることを意味します
* @return float は返される数値が浮動小数点数であることを意味します
*/
function _runtime() {
$_mtime = explode(' ',microtime());
return $_mtime[1] + $_mtime[0];
}
/**
* _alert_back() テーブルは JS ポップアップ ウィンドウです
* @access public
* @param $_info
* @return void ポップアップ ウィンドウ
*/
function _alert_back($_info) {
echo "";
exit();
} else {
header('場所:'.$_url);
}
}
/**
* _login_state ログイン状態の判定
*/
function _login_state() {
if (isset($_COOKIE['username'])) {
_alert_back('登录状態态無法进行本操作!');
}
}
/**
* _session_destroy删除セッション
*/
function _session_destroy() {
session_destroy();
}
/**
* Cookie _unsetcookies() を削除します
*/
function _unsetcookies() {
setcookie('username','',time()-1);
setcookie('uniqid','',time()-1);
_session_destroy();
_location(null,'index.php');
}
/**
*
*/
function _sha1_uniqid() {
return _mysql_string(sha1(uniqid(rand(),true)));
}
/**
* _mysql_string
* @param string $_string
* @return string $_string
*/
function _mysql_string($_string) {
//get_magic_quotes_gpc()如果开启状態态,那么就不要转义
if (!GPC) {
return mysql_real _escape_string($_string );
}
return $_string;
}
/**
* _check_code
* @param string $_first_code
* @param string $_end_code
* @return void 検証コードの比較
*/
function _check_code($_first_code,$_end_code) {
if ($_first_code != $_end_code) {
_alert_back('验证码不正确!');
}
}
/**
* _code()は認証コードの関数です
* @access public
* @param int $_widthは認証コードの長さを表します
* @param int $_heightは認証コードの高さを表します
* @param int $_rnd_code検証コードのビットを表します 数値
* @param bool $_flag は検証コードに境界線が必要かどうかを示します
* @return void この関数は実行後に検証コードを生成します
*/
function _code($_width = 75,$_height = 25,$_rnd_code = 4,$_flag = false) {
//($i=0;$i<$_rnd_code;$i++) {
のランダム コード
を作成します。 $_nmsg .= dechex(mt_rand(0,15));
}
//セッションに保存
$_SESSION['code'] = $_nmsg //画像を作成
$_img = imagecreatetruecolor($ _width; ,$_height);
//White
$_white = imagecolorallocate($_img,255,255,255);
//Fill
imagefill($_img,0,0,$_white); //黒、境界線
$_black = imagecolorallocate($_img,0,0,0);
imagerectangle($_img,0,0,$_height-1,$_black);
/ /すぐに 6 本の線を描画します
for ($i=0;$i<6;$i++) {
$_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); $_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color)
}
//雪の結晶
for ($ i=0;$i<100;$i++) {
$_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,1, mt_rand(1, $_width),mt_rand(1,$_height),'*',$_rnd_color);
}
//($i=0;$i
imagestring($_img,5,$i*$_width/$_rnd_code +mt_rand(1) ,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color)
}
//出力画像
header('Content-Type: image/png' );
imagepng($_img);
//
imagedestroy($_img) を破棄します } ?>
ディスカッションに返信 (解決策) )
D:wampwwwbbblogin.php:2 で開始された出力
は、D:wampwwwbbblogin.php の 2 行目に出力があることを意味します
出力は D:wampwwwbbblogin.php:2 で開始されました
は、D:wampwwwbbblogin.php の 2 行目に出力があることを意味します
これは、login.php のコードです:
/**
* TestGuest バージョン 1.0
* ========================================== ======
* コピー 2010-2012 yc60
* ウェブ: http://www.yc60.com
* ====================== ==========================
* 著者: Lee
* 日付: 2010-8-21
* /
session_start();
//ファイルの呼び出しを許可する定数を定義します
define('IN_TG',true);
//このページのコンテンツを指定する定数を定義します
define('SCRIPT ',' login');
//公開ファイルを導入します
require dirname(__FILE__).'/includes/common.inc.php';
//ログインステータス
_login_state()
//ログインステータスの処理を開始します
if ($_GET ['action'] == 'login') {
//悪意のある登録やクロスサイト攻撃を防ぐため
_check_code($_POST['code'],$_SESSION['code'])
//はじめに検証ファイル
include ROOT_PATH.'includes/login.func.php';
//データを受け入れる
$_clean ['username'] = _check_username($_POST['username'],2, 20);
$_clean['password'] = _check_password($_POST['password'],6);
$_clean['time'] = _check_time($_POST['time']);データベースを検証するために移動します
if (!!$_rows = _fetch_array("SELECT tg_username,tg_uniqid FROM tg_user WHERE tg_username='{$_clean['username']}' AND tg_password='{$_clean['password']}' AND tg_active= '' LIMIT 1")) {
_close();
_session_destroy();
_setcookies($_rows['tg_username'],$_rows['tg_uniqid'],$_clean['time']);
_location (null ,'index.php');
} else {
_close();
_location('ユーザー名とパスワードが間違っているか、アカウントがアクティブ化されていません。 ','login.php');
}
}
?>
require ROOT_PATH.'includes/ title.inc.php';
?>
ROOT_PATH.'includes/header>
ログイン
<フォームメソッド="post" name="login" action="login.php?action=login"> ;dl>
ユーザー名: dd>パスワード:
require ROOT_PATH.'includes/footer>
まず、login.php を見てください。 BOM ヘッダーはありますか
いいえ、それは上のコードです
誰が教えてくれますか〜ありがとう
ほとんどの BOM は utf-8 BOM です
これをどう変更すればよいですか?
エディタで開き、ファイルとして保存し、保存時に BOM なしの UTF-8 を選択する場合もありますが、これは同じことを意味します
初心者さん、急いでください
です。私のphp.iniのoutput_bufferingがオフになり、Just onに変更されました

ホット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ロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
