PHP初心者です。
お問い合わせのフォームを作成しているのですが、その中でメールアドレスと確認のメールアドレスの欄を設けました。
……………………………………………………………………………………
<INPUT type="text" name="ご返信の連絡先" size="35" value="<?= $_POST['ご返信の連絡先'] ?>">
<INPUT type="text" name="確認メールアドレス" size="35" value="<?= $_POST['確認メールアドレス'] ?>">
……………………………………………………………………………………
次でこのメールアドレスと確認のメールアドレスが一致するかどうかを確認したいのですが。上手く機能しません。
……………………………………………………………………………………
if($_POST['ご返信の連絡先']!=$_POST['確認メールアドレス'])
{
ご返信の連絡先と確認メールアドレスが一致しておりません。
<BR>
<FORM method="POST" action="sample.php">
<INPUT type="submit" value="ご記入ページへ戻る" />
</FORM>
}
……………………………………………………………………………………
($_POST['ご返信の連絡先']!==$_POST['確認メールアドレス'])
の記述でご返信の連絡先と確認メールアドレスが違っているときの条件を表しているのでしょうか?
今の状態でしたら、ちゃんと記入していても「ご返信の連絡先と確認メールアドレスが一致しておりません。」と表示がでてしますのですが。
何か原因がありましたら、教えてください。お願いします。
No.5ベストアンサー
- 回答日時:
やっと「実際のソース」が提示されたわけですが、提示された内容自体には何も問題がありませんね・・。
下記のようなコードでテストしてみましたが、ちゃんとチェック出来てます。質問者さんの環境で下記コードで再現しますか?<FORM ACTION="" METHOD="POST">
<INPUT type="text" name="mail" size="35" value="<?= $_POST['mail'] ?>">
<INPUT type="text" name="mail2" size="35" value="<?= $_POST['mail2'] ?>">
<INPUT TYPE="submit" VALUE="POST!">
</FORM>
<?php
if ($_POST) {
if($_POST['mail']!==$_POST['mail2']) {
print 'ご返信の連絡先と確認メールアドレスが一致しておりません。';
}
else {
print '一致しました';
}
}
?>
ANo.4の方と同じく「提示されていない部分になにかある」としか思えません。
#「再現可能なミニマムコード」を提示いただけるといいのですが・・。
ありがとうございました。解決しました。
違うところでおかしくなっていたみたいです。
わかりにくい質問で申し訳ないでした。またよろしくお願い致します
No.4
- 回答日時:
以下を一見したところ、問題無いような気がします。
ということは、以外と単純なミスかもしれません。if($_POST['mail']!==$_POST['mail2'])
の直前に
echo "***".$_POST['mail']."<br>";
echo "+++".$_POST['mail2']."<br>";
と入れてみると、この2つは全く同じですか?
もし違っているようなら、例えばこのif文に来る前に、$_POST['mail'] か $_POST['mail2'] に誤って何かしらの値を入れてしまっているか、他のフォーム部分で同じ名前(mail、mail2)を使ってるとか、という単純なことかも知れませんね。
No.3
- 回答日時:
>文字コードはしっかり機能していると思います。
いや、ですからフォームからPOSTされる文字コードとスクリプトの文字コードで不整合はないのかを尋ねてます。
>PHPのシンタックスエラーというのはどういうものなのでしょうか?
if のあとの文ブロックの中で、printもechoもなし(当然スクリプト終端の「?>」もなし)にいきなりhtmlを書けばSyntaxエラー(文法エラー)になるはずです(phpだとParse errorの表示かな・・)。なので、このソースは確実に動きません。
>これはサンプルで作っているので、わかりやすい名前で記述しています。
わかりやすくても「動かない」サンプルに意味はないと思います。もしこのソースと実際のソースが違うのであれば、このソースで検証する意味がありませんので、回答出来ません。
ANo.1でお願いしましたが、print_r($_POST)でPOSTされた内容がどう格納されているかを確認されましたか?文字コードなどがわからないので100%とはいえませんが、ほぼ間違いなく日本語の長音などは化けてしまっているハズです(文字コードによっては他の部分も化けているかもしれません)。私がANo.1に書いたことを確認すればすぐにわかることだと思います。
もし「実際には違うnameになっている(日本語は使っていない)」のであれば、実際のソースを書いてください。(前述のhtml部分の件も含めて)わざわざ動かないソースに変更して提示されても困ります。
この回答への補足
<INPUT type="text" name="mail" size="35" value="<?= $_POST['mail'] ?>">
<INPUT type="text" name="mail2" size="35" value="<?= $_POST['mail2'] ?>">
……………………………………………………………………………………
<?php
if($_POST['mail']!==$_POST['mail2'])
{
?>
ご返信の連絡先と確認メールアドレスが一致しておりません。
<BR>
<FORM method="POST" action="sample.php">
<INPUT type="submit" value="ご記入ページへ戻る" />
</FORM>
<?php
}
else
{
?>
//略
}
……………………………………………………………………………………
文字コードの不都合は起きていません。文字化けも一切起きてはいないのですが。申し訳ないです。上部のようなソースで記述しています。
print_r($_POST)ではしっかり機能できました。
今はフォームにしっかり記入したとしても、「ご返信の連絡先と確認メールアドレスが一致しておりません。」とでてしまします。
説明不足で申し訳ないです。お願いします。
No.2
- 回答日時:
> if($_POST['ご返信の連絡先']!=$_POST['確認メールアドレス'])
> {
> ご返信の連絡先と確認メールアドレスが一致しておりません。
> <BR>
> <FORM method="POST" action="sample.php">
> <INPUT type="submit" value="ご記入ページへ戻る" />
> </FORM>
> }
この記述ではPHPのシンタックスエラーになると思うのですが、、、?
もしエラーになっていなければ、このファイルがPHPとして読み込まれていないかもしれません。
あと配列のキーに日本語を使うのは辞めたほうが良いです。なるべく半角英数を使うようにしましょう。
この回答への補足
回答ありがとうございます。これはサンプルで作っているので、わかりやすい名前で記述しています。
PHPのシンタックスエラーというのはどういうものなのでしょうか?
if($_POST['ご返信の連絡先']!=$_POST['確認メールアドレス'])
というのは間違っている記述なのでしょうか?
お願い致します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
PHPで、複数のアドレスにメール...
-
メールフォームのタイトルが文...
-
mailやmb_send_mail関数で、本...
-
PHPsendmailにて送信元を変更
-
cronでメールを送信すると文字...
-
phpを使ってのメール送信について
-
PHPでメールを送信するには
-
さくらサーバーにて、phpからメ...
-
index.phpって何ですか? 具体...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
onedrive にexcelファイルをア...
-
別ファイルの変数を呼び出した...
-
Subversionのリポジトリの削除
-
ImageCreate関数が undefined f...
-
値の取り出し方について教えて...
-
VBSの「MsgBox」について
-
awsにApacheとPHPを入れて、何...
-
CSV出力にHTMLが入ってしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
さくらサーバーにて、phpからメ...
-
php 完了画面の送信メールのコ...
-
メールフォームのタイトルが文...
-
PHPsendmailにて送信元を変更
-
PHPからメールを送る@さくらイ...
-
mailやmb_send_mail関数で、本...
-
mail関数を使った場合のReturn-...
-
mb_send_mail関数が利用出来ない
-
ワードプレス 予約システム
-
phpでのメール転送(添付ファイ...
-
VBA EXCELからメールを送...
-
複数行の文字列をメールのヘッ...
-
【初歩?】変数をセットできな...
-
Received-SPFでレンタルサーバ...
-
PHP CRONでメールの自動受信を...
-
PHPからのメールがこない
-
mb_send_mailでタイトルにハテ...
-
メールの本文が取得できない
-
PHPでトラックバック機能 HTTP...
-
POP Before SMTPでメールを送信...
おすすめ情報