phpのページが白紙で表示される
phpでメールフォームを作成しています。
フォーム画面から確認画面に遷移すると
ページが白紙で表示されてしまい困っています。
生成されたページのソースをブラウザで見ても
何も書かれておらず、本当に白紙の状態です。
<html>より前に書いたソースに問題がありそうですが
理由がわかりません。
どなたか解決策にお心当たりございましたらお願いいたします。
以下問題のページ<html>までのソース
————————————————————
<?php
function checkInput($var) {
if (is_array($var)) {
return array_map('checkInput', $var);
} else {
if (get_magic_quotes_gpc()) {
$var = stripslashes($var);
}
if (preg_match('/¥0/', $var)) {
die('不正な入力です');
}
if (!mb_check_encoding($var, 'UTF-8')) {
die('不正な入力です');
}
return $var;
}
}
session_start();
$_POST = checkInput($_POST);
$sei = isset($_POST['sei']) ? $_POST['sei'] :NULL;
$mei = isset($_POST['mei']) ? $_POST['mei'] :NULL;
$address = isset($_POST['address']) ? $_POST['address'] :NULL;
$email = isset($_POST['email']) ? $_POST['email'] :NULL;
$error = array();
if (trim($sei) == '') {
$error[] = '必須項目です';
} else if (mb_strlen($sei) > 10) {
$error[] = '10文字以内でお願いいたします';
}
if (trim($mei) == '') {
$error[] = '必須項目です';
} else if (mb_strlen($mei) > 10) {
$error[] = '10文字以内でお願いいたします';
}
if (trim($address) == '') {
$error[] = '必須項目です';
} else if (mb_strlen($address) > 100) {
$error[] = '100文字以内でお願いいたします';
}
if (trim($email) == '') {
$error[] = '必須項目です';
} else {
$pattern =
'/^([a-z0-9¥+_¥-])(¥.[a-z0-9¥+_¥-]+)*@([a-z0-9¥-]+¥.)+[a-z]{2,6}$/iD';
if (!preg_match($pattern, $email)) {
$error[] = 'メールアドレスの形式が正しくありません';
}
$_SESSION['sei'] = $sei;
$_SESSION['mei'] = $mei;
$_SESSION['address'] = $address;
$_SESSION['email'] = $email;
$_SESSION['error'] = $error;
if(count($error) > 0) {
$dirname = dirname($_SERVER['SCRIPT_NAME']);
$dirname - $dirname == DIRECTORY_SEPARATOR ? '' : $dirname;
$uri = 'http://' . $_SERVER['SERVER_NAME'] .
$dirname . '/present.php';
header('HTTP/1.1 303 See Other');
header('Location: ' . $uri);
} else {
?>
<html>
————————————————————
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
エラーも出ずに空白が表示されるのは文字コードの自動認識がブラウザ側で出来ていないパターンが多いです。
<HTML>の後に続くタグの中に
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
など、文字コードを明示した上で(ここではUTF8)、プログラムのソースコード自体をその文字コードにあわせてやる必要があります。
この部分をチェックした上でなお空白なら「<!DOCTYPE」タグなどをHTMLタグの前に入れてみてはどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
textareaのvalueについて
-
リンク先を隠す方法はないでし...
-
PHPで外部のhtmlを読み込んでソ...
-
javascriptで切り替えて、php(...
-
PHPの利点
-
csvデータをテーブル表示、指定...
-
jpgraphで表示されない
-
htmlにコードを貼り、リファラ...
-
【file_exists】ファイルが存在...
-
フォントの色を変えるには?
-
C# Excelファイルへの画像挿入。
-
.htaccessにphp_valueが使用できな
-
php で C言語のdefineマクロの...
-
$_SESSION 有効期限をブラウザ...
-
CFileDialogの最初のディレクト...
-
PHP8を使うと、大量のWarningが...
-
onedrive にexcelファイルをア...
-
php界のCPANのような場所はある...
-
form actionで二つ送信先を指定...
-
CentOS5のPHPにMySQLサポートを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
PHPで新しいウインドウで開く命...
-
jpgraphで表示されない
-
PHPでTELNETを実装できる?
-
PHPやjavascriptを無効にする方法
-
textareaのvalueについて
-
csvデータをテーブル表示、指定...
-
str_replace()で、なぜ置き換わ...
-
htmlにコードを貼り、リファラ...
-
WinXP PHP5 Apache2 初期設定で...
-
英語圏で外注したソースが同じ...
-
PHPの利点
-
javascriptで切り替えて、php(...
-
phpのページが白紙で表示される
-
iphone/AndloidアプリをPHPで作る
-
静的HTMLにRDFを表示させる方法...
-
PHPで外部のhtmlを読み込んでソ...
-
PHPでつくる更新履歴 作り方と...
-
header("Content-type: applica...
-
フォントの色を変えるには?
おすすめ情報