質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

【PHP】POSTの痩身がうまくいきません。

Python.R
Python.R

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

4回答

0評価

1クリップ

740閲覧

投稿2019/05/26 17:31

編集2022/01/12 10:58

まず、下記のコードを参照していただきたいのですが、「elseif (isset($_POST['direct_send']))」はしっかり機能するのですが、「if (isset($_POST['reservation_send']))」の方が機能しません。「<input type="submit" name="reservation_send" value="登録">」で、送信しても、「if (isset($_POST['reservation_send']))」の部分で、「$_POST['reservation_send']」がないので、以下データベースへの処理が実行されません。検証したところ、「$_POST['reservation_send']」がそもそもセットされないようでした。何故これだけ機能しないのかわかりません。

PHP

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>メール配信スタンド尾</title> <link rel="stylesheet" href="style.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <?php $message = $_POST['reservation_send']; if (isset($_POST['reservation_send'])) { // メール配信予約時の処理 $message = "if文で判定できています。"; $mysqli = new mysqli('mysql*****', '**********', '*********', '********_magazin'); if ($mysqli->connect_errno) { $message = $mysqli->connect_errno . ' : ' . $mysqli->connect_error; }else { $message = "接続成功!"; } $mysqli->set_charset('utf8'); $title = htmlspecialchars($_POST['title']); $content = htmlspecialchars($_POST['content']); $sql = "INSERT INTO reservation_mail ( subject, message, send_date ) VALUES ( $title, $content, '2019-05-27 00:00:00' )"; $flag = $mysqli->query($sql); $message += $flag; if ($flag) { $message += "<br/>登録処理が完了しましあ。"; }else { $message += "<br/>登録に失敗しました。"; } $mysqli->close(); }elseif (isset($_POST['direct_send'])) { // ダイレクトメール送信時の処理 require_once 'PHPMailer_setting.php'; //メール本体 $message = htmlspecialchars($_POST['content']);//メール本文 $mailer->From = 'magazin@*******'; //差出人の設定 $mailer->FromName = mb_convert_encoding("メール配信スタンド","UTF-8","AUTO");//表示名おまじない付… $mailer->Subject = mb_convert_encoding($_POST['title'],"UTF-8","AUTO");//件名の設定 $mailer->Body = mb_convert_encoding($message,"UTF-8","AUTO");//メッセージ本体 $mailer->AddAddress('********@yahoo.co.jp'); // To宛先 //送信する if($mailer->Send()){ $message = "メールが送信されました。"; } else{ $message = "メール送信失敗"; echo "送信に失敗しました" . $mailer->ErrorInfo; } } ?> </head> <body> <header> <div class="header_content"> <h1>メール配信スタンド</h1> </div> <ul class="navi_menu"> <li><a href=".">メール配信予約</a></li> <li><a href="?list=2">配信メールの一覧・編集</a></li> <li><a href="?direct=3">ダイレクトメール</a></li> </ul> </header> <div class="main-wrapper"> <?php if (isset($_GET['direct'])): ?> <?php require_once('direct_mail.php'); ?> <?php elseif (isset($_GET['list'])): ?> <?php require_once('mail_list.php'); ?> <?php else: ?> <?php require_once('reservation_mail.php'); ?> <?php endif; ?> </div> <footer> </footer> <script type="text/javascript" src="script.js"></script> </body> </html>

「require_once('reservation_mail.php')」で読み込むファイル

PHP

<div class="main_content"> <?php if ($message != ""): ?> <span><?php echo "メッセージ:".$message; ?></span> <?php endif; ?> <h2>メール配信予約</h2> <form action="" method="post"> <p><label>予約配信の設定: <input type="number" min="<?php echo date('Y'); ?>" placeholder="ここに年の入力" max="9999" value="2019" name="year">&thinsp;年&thinsp; <input type="number" min="1" max="12" placeholder="ここに月の入力" value="1" name="month">&thinsp;月&thinsp; <input type="number" min="1" max="31" placeholder="ここに日にちの入力" value="1" name="date">&thinsp;日&thinsp; <input type="number" min="0" max="23" placeholder="ここに時間の入力" value="0" name="hour">&thinsp;時&thinsp; </label></p> <p><label>メールタイトル<br/> <input type="text" name="title" placeholder="ここにメールタイトルの入力"></label></p> <p><label>メール本文<br/> <textarea name="content" placeholder="ここにメール本文の入力"></textarea></label></p> <center><p><input type="submit" name="reservation_send" value="登録"></p></center> </form> </div>

かなり複雑なコードになってしまいますが、問題点がありましらご教授いただきたいです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。