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

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

ただいまの
回答率

90.49%

  • PHP

    24443questions

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

  • MAMP

    274questions

    Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

メールフォームが送信されません

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 587

YukaSaku

score 34

いつもお世話になっております。
文字制限をかけたフォームを相手から自分に送信させるためのフォームを作りたいと思っています。出来れば文字制限ではなく、ワード制限をかけたいのですが、どこを探してもワード制限をかけるというのは見ないので、そういう機能は無いのかなと諦めています。
それよりも、入力したフォームが自分に送信されることが重要なのですが、迷惑メールにも入っておらず、何も音沙汰がありません。何がいけないのでしょうか。

<?php
 /*  Program name: form_input.inc */

$labels = array( "first_name" => "Name:",
                 "email" => "Email:");
$translation = array("translation" => "Translation:");

  $time = date("Y, n, j, Ah:i");
  print($time);

mb_language("uni");
mb_internal_encoding('utf-8');

$submit = "Submit";
?>
<html>
<head>
  <style type='text/css'>
   <!--
      form {
        margin: 1.5em 0 0 0;
        padding: 0;
      }
      .field {padding-bottom: 1em;}
      label {
        font-weight: bold;
        float: left;
        width: 20%;
        margin-right: 1em;
        text-align: right;
      }
      #submit {
        margin-left: 35%;
      }
   -->
 </style>
</head>
<body>
<h2>Por favor escribes aqui para traducir.</h2>
<?php
 /* loop that displays the form */
  echo "<form action='confirm.php' method='post'>";
  foreach($labels as $field => $label)
  {
    echo "<div class='field'><label for='$field'>$label</label>
            <input id='$field' name='$field' type='text' 
               size='50%' maxlength='65' /></div>\n";
  }
     foreach($translation as $field => $label)
  {
    echo "<div class='field'><label for='$field'>$label</label>
            <textarea id='$field' name='$field' type='text' 
               size='50%' maxlength='2000' cols='80' rows='50'/></textarea></div>\n";
  }
    ?>
    <h2>Por favor escoge uno que numero de pagina ahora.</h2>
<input type="radio" name="page" value="1">1
<input type="radio" name="page" value="2">2
<input type="radio" name="page" value="3">3
<input type="radio" name="page" value="4">4
<input type="radio" name="page" value="5">5
<input type="radio" name="page" value="6">6
<br><br>

 <?php

  echo "<div id='submit'>
    <input type='submit' value='$submit'></div>";


    ?>
</form>
</body>
</html>
<?php 
 /*  Program name: confirm.php */
session_start();

    // after click the button on the Form...
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        // Data come from Form
        $first_name = htmlspecialchars($_POST['first_name'], ENT_QUOTES);
        $email = htmlspecialchars($_POST['email'], ENT_QUOTES);
        $translation = htmlspecialchars($_POST['translation'], ENT_QUOTES);
        $page = htmlspecialchars($_POST['page'], ENT_QUOTES);
    }

//Send mail
$message = "First name:" . $_POST["first_name"] . "\n
Email:" . $_POST["email"]."\n
Translation:" . $_POST["translation"];

if (mb_send_mail("xxxxxxxx@gmail.com", "テストメール", "これはテストです。", "From: xxxxxxxx@gmail.com")) {
  echo "Sent your email.";
} else {
  echo "Something wrong.........";
}

    // After Submit
    if (isset($_POST["submit"])) {
        //when Submit...

         // display thanks
        header("Location: thanks.php");
        exit;
    }
?>
<html lang="uni">
<head>
<meta charset="UTF-8">
<title>Inquiry form</title>
<link rel="stylesheet" href="custom.css">
<!--The following script tag downloads a font from the Adobe Edge Web Fonts server for use within the web page. We recommend that you do not modify it.-->
<script>var __adobewebfontsappname__="dreamweaver"</script>
<script src="http://use.edgefonts.net/arizonia:n4:default;aladin:n4:default;bad-script:n4:default;french-canon:n4:default.js" type="text/javascript"></script>
</head>
<body>
<div><h1>ABC Company</h1></div>
<div>
    <form action="confirm.php" method="post">
            <input type="hidden" name="first_name" value="<?php echo $first_name; ?>">
            <input type="hidden" name="email" value="<?php echo $email; ?>">
            <input type="hidden" name="translation" value="<?php echo $translation; ?>">
            <input type="hidden" name="page" value="<?php echo $page; ?>">
      <h2>Confirm your inquiry</h2>
            <p>Please confirm all your information.<br>If it is ok, please click the "Send" button.</p>
            <div>
                <div>
                    <p><?php echo  ('First name : ' . htmlspecialchars($_REQUEST['first_name']  ,  ENT_QUOTES).'');?></p>
                </div>
                <div>
                    <p><?php echo  ('Email Address : ' . htmlspecialchars($_REQUEST['email']  ,  ENT_QUOTES).'');?></p>
                </div>
                <div>
                    <p><?php echo  ('Translation : ' . htmlspecialchars($_REQUEST['translation']  ,  ENT_QUOTES).'');?></p>
                </div>
                  <div>
                    <p><?php echo  ('Page : ' . htmlspecialchars($_REQUEST['page']  ,  ENT_QUOTES).'');?></p>
                </div>
            </div>
        <input type="button" value="back" onclick="history.back(-1)">
        <button type="submit" name="submit">Send</button>

    </form>
</div>
</body>
</html>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • oskbt

    2017/04/22 02:16

    この手の問題を解決するにはメール送信に関するログが必要かなと思います。

    キャンセル

  • YukaSaku

    2017/04/22 05:14

    コメントありがとうございます!どのファイルを探せばいいでしょうか?

    キャンセル

回答 1

+1

がると申します。

すみませんまだ斜めにしかソースコードを拝見していない状況で恐縮なのですが。
「全く、メールが届いた気配すらもない」とのお話なので。

例えば

<?php
mb_language("ja");
mb_internal_encoding("UTF-8");
$r = mb_send_mail("xxxxxxxx@gmail.com", "テストメール", "これはテストです。", "From: xxxxxxxx@gmail.com");
var_dump($r);


というコードを別ファイルで設置してcallしたら
・画面には、trueとfalse、どちらが表示されるでしょうか?
・メールは、第一引数で渡したメールアドレスに、届いているでしょうか?

あたりから調べてみてはいかがでしょうか?
ファイルは、UTF-8で保存する事を想定しています。
ちなみに上述で届かない場合、次に

<?php
mb_language("ja");
mb_internal_encoding("UTF-8");
$r = mb_send_mail("xxxxxxxx@gmail.com", "テストメール", "これはテストです。");
var_dump($r);


で同様に確認して、どのような状態になるか、で、少しなにかが見えてくるようにも思われます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/05 23:37

    がる様
    ありがとうございます。お返事が遅くなり申し訳ありません。
    何が返ってくるか、試してみます。

    キャンセル

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

  • PHP

    24443questions

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

  • MAMP

    274questions

    Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト