ホームページ  >  記事  >  バックエンド開発  >  PHP 初心者がよく犯すいくつかの小さな間違い

PHP 初心者がよく犯すいくつかの小さな間違い

WBOY
WBOYオリジナル
2016-07-25 09:07:28915ブラウズ
を実行できます。
この記事では、PHP 初心者がよく犯す小さな間違いをいくつかリストします。参考にしてください。 1. ヘッダーはすでに送信されています このエラーは通常、HEADER を使用するときに発生します。これにはいくつかの理由が考えられます。

この記事では、PHP 初心者がよく犯す小さな間違いをいくつかリストします。参考にしてください。

1. ヘッダーはすでに送信されています。 このエラーは通常、HEADER を使用するときに発生します。次のような理由が考えられます。 1. HEADER を使用する前に PRING または ECHO を実行した 2. 現在のファイルの前に空白行がある 3. ファイルを INCLUDE した可能性があります。このエラーは、ファイルまたは出力の末尾に空白行がある場合にも発生します。 !

2. ページ間で変数を渡すことはできません。 最新の PHP バージョンでは、get、post、session の自動グローバル変数が無効になっているため、前のページから送信された変数を取得するには、$_GET['foo'],$ _POST['foo'], $ _SESSION['foo'] を取得します。もちろん、自動グローバル変数を on に変更することもできます (php.ini を reGISter_globals = On に変更します)。互換性を考慮して、新しい記述方法に慣れることをお勧めします。

3. Win32 で get メソッドを使用して中国語パラメータを apache2 に渡すと、エラーが発生します: test.php?a=こんにちは&b=こんにちは パラメータを渡すと内部エラーが発生します ​ 解決策: "test.php?a=".urlencode(Hello)."&b=".urlencode(Hello) ......

4. win32 でのセッションが正しく動作しません。 php.ini デフォルトの session.save_path = /tmp これは明らかに Linux での設定です。win32 での PHP はセッション ファイルの読み取りと書き込みができないため、セッションを絶対パス (たとえば session.save_path = c:Windows emp

) に変更するだけです。

5. Win32 では Mail() はメールを送信できません。 Linux で設定された Sendmail は送信できます。win32 では、メールを送信するには SMTP サーバーを呼び出す必要があります。 //ip は検証機能のない SMTP サーバーです (インターネット上で見つけるのは困難です)。 PHP で電子メールを送信するための最良の解決策は、ソケットを使用して、サーバーを転送せずに相手の電子メール サーバーに直接送信することです。

6. MySQL の初期インストールでパスワードが設定されていない場合は、update mysql.user set password="yourpassword" where user="root" を使用してパスワードを変更する必要があります

7. エラーメッセージを表示する php.ini で display_errors = On および error_reporting = E_ALL にすると、すべてのエラーとプロンプトが表示されます。以前の PHP 記述方法を使用する場合、ほとんどのエラー メッセージはデバッグ中に表示されます。未定義変数についてになります。変数に値が割り当てられる前に、変数が呼び出されるときにプロンプ​​トが表示されます。解決策は、変数を検出またはシールドすることです。 たとえば、$foo を表示するには、 if(isset($foo)) echo $foo または echo @$foo

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