一つのファイルでフォームへの入力及び入力内容の確認ができるファイル(enter.php)を作成しているのですが、入力内容の確認を行う前に入力値の前後から半角及び全角の空白を取り除きたいです。
しかし、半角及び全角の空白を取り除く部分でプログラムが動作しなくなり、なぜかわかりません。具体的には、以下の部分が問題です。
//入力された値の前後の全角及び半角スペースを取る関数。
function remove_space(&$value)
{
$value = preg_replace('/^[ ]*(.*?)[ ]*$/u', '$1', $value);
}
及び
//下記で入力された値の前後の全角及び半角スペースを一気に取り除きたい(ここが問題。)。
array_walk($_POST, 'remove_space');
の部分です(これらの部分を取り除くとプログラムは問題なく動作します。)。
どうやら、function remove_spaceの部分よりもarray_walk($_POST, 'remove_space');
が間違っているようなのですが、どこが悪いかわかる方おられますか?
一様、一通りのコードを下記へ載せておきます。
/////////////////////////////enter.phpファイル
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<?php
//入力された値の前後の全角及び半角スペースを取る関数。
function remove_space(&$value)
{
$value = preg_replace('/^[ ]*(.*?)[ ]*$/u', '$1', $value);
}
if (isset($_POST['confirm'])) {
$isErr = false;
//下記で入力された値の前後の全角及び半角スペースを一気に取り除きたい(ここが問題。)。
array_walk($_POST, 'remove_space');
if (strlen($_POST['my_name']) == 0) {
$isErr = true;
$error_person = '名前を入力してください。';
}
if (strlen($_POST['hobby']) == 0) {
$isErr = true;
$error_person = '趣味を入力してください。';
}
if (strlen($_POST['school']) == 0) {
$isErr = true;
$error_person = '学校を入力してください。';
}
if (!$isErr) {
$_SESSION['input_data'] = $_POST;
header('Location: https://www.example.com/mail.php');
exit;
}
}
?>
<form action="enter.php" method="post">
<input type="text" name="my_name">
<input type="text" name="hobby'" >
<input type="text" name="school">
<input type="submit" name="confirm" value="確認画面へ進む">
</form>
</body>
</html>
/////////////////////////////
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
Excel関数「COUNTIF」で”文字”...
-
記号は半角と全角どちらがよい...
-
エクセルのCOUNTIFが正しくカウ...
-
パソコンで全角、半角文字の切...
-
全角英数文字が嫌われる理由を...
-
XMLのタグ名の禁則文字
-
データ末尾の半角スペース
-
Excel2002 一桁数字だけ全角に置換
-
半角全角スペースの削除(先頭...
-
テキストボックスへの文字の入...
-
エクセルでの漢字、カタカナ、...
-
文字列の漢字の有無の検索
-
VB.net テキストボックス半角文...
-
全角半角変換 C++/CLI
-
半角英数文字を全角英数文字に...
-
Accessの文字数を調べたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
半角記号、全角記号を含む正規...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
エクセルでの漢字、カタカナ、...
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
文字列中の両丸括弧を取り除くV...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
全角半角変換 C++/CLI
-
VBScriptである文字列に半角文...
-
半角文字と全角文字の判別の仕方
-
2つ以上の連続する空白文字を除去
-
Excel2002 一桁数字だけ全角に置換
-
VB.net テキストボックス半角文...
おすすめ情報