We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 29228
    • 109 Posts
    フォームを増やす所だけ。
    $from= '';
    $address='';
    $from_email= '';
    $message= '';
    
    $postSend= isset($_POST['send'])? $_POST['send']: 'false';
    if ($postSend == 'true') { 
        $to = ($recipient_type=="static") ? $static_recipient : $_POST['to'];
        $from = $_POST['name'];
        $address = $_POST['address'];
        $from_email = $_POST['email'];
        $the_subject = ($subject_type=="static") ? "$static_subject" : $_POST['subject'];
        $message = $_POST['message'];
        if ( ($from == '')||($address == '')||($from_email == '')||($message == '') ) {
            $SendMail .= "<p class=\"$failClass\">$emptyFields</p>";
        } elseif (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $from_email)) {
            $subject = $the_subject;
            //$headers = "From: $from <$from_email>\r\n";
            $headers = "From: ".mb_encode_mimeheader($from)."<$from_email>\r\n";
            
            // clean out potential tomfoolery...
            $message = $modx->stripTags($message);
            
            $body = "Name: $from\nAddress: $address\nEmail: $from_email\nMessage:\n\n" . $message;
            if (mb_send_mail($to, $subject, $body, $headers)) {
                $SendMail .= "<p class=\"$successClass\">$success</p>";
                $SendMail .= ($debug) ? "<p>$to\n$headers\n$subject\n$body</p>" : '';
                $from="";
                $address="";
                $from_email="";
                $message="";
            } else {
                $SendMail .= "<p class='$failClass'>$generalFail</p>";
                $send = "false";
            }
        } else {
            $SendMail .= "<p class=\"$failClass\">$emailFail</p>";
            $send = "false";
        } 
    } else {
        $SendMail .= "<p>$instructions</p>";
    }
    

    入力フォームは、先ほどの修正案で問題ないです。
    指定のドキュメントidに飛ばすのは、また明日にでも。 grin
      • 29228
      • 109 Posts
      よぉ~く考えてみたら
      http://modxcms.com/forums/index.php/topic,2122.0.html
      を使えば、全て解決だったりして? embarrassed
        • 20953
        • 70 Posts
        Quote from: takumi at Apr 16, 2006, 05:52 PM

        よぉ~く考えてみたら
        http://modxcms.com/forums/index.php/topic,2122.0.html
        を使えば、全て解決だったりして? embarrassed

        eForm - The Electronic form Snippetを落としてみたものの、インストールの方法が分からなかったので手つかずなんです
        インストーラーでやるのですね。一応、無事?インストールしましたが、eform.inc.phpがエラーで止まります。ちょっとフォーラムの方を見てみます。
        日本語が通るようにしないといけないので、このトピックスで教えてもらって日本語が通るようにしたContactFormを使った方が
        楽かなと思ってみたり…。

        追記:
        フォーラムを見て…とりあえず最初に表示用フォームと送信用のフォームが必要なことがわかりました。
        メインのプログラムはスニペットフォルダーの「eform.inc.php」のようで、エラー箇所をとりあえずコメントアウトしてテストしてみました。
        送信自体は問題なく出来ているようですが、やはり文字化けします。
        エラー箇所が気にはなりますが、とりあえず日本語が通るように出来ればいろいろな場面で対応出来るように思います(フォームさえ用意しておけば本体プログラムをいじらなく良いのは結構楽かも…)。
          • 29228
          • 109 Posts
          Quote from: naoya at Apr 17, 2006, 01:14 AM

          フォーラムを見て…とりあえず最初に表示用フォームと送信用のフォームが必要なことがわかりました。
          メインのプログラムはスニペットフォルダーの「eform.inc.php」のようで、エラー箇所をとりあえずコメントアウトしてテストしてみました。
          送信自体は問題なく出来ているようですが、やはり文字化けします。
          エラー箇所が気にはなりますが、とりあえず日本語が通るように出来ればいろいろな場面で対応出来るように思います(フォームさえ用意しておけば本体プログラムをいじらなく良いのは結構楽かも…)。
          教えといて何ですが、コレすごく面倒臭いですね。(笑)
          問題がなければ、チャンク?で登録したフォームのソースと、eformの呼び出しのパラメーターを教えて下さい。
          空いた時間にコピペして、速攻検証します。
          文字化けですけど、このスニペットはphpmailer使ってますね。
          修正箇所はclass.phpmailer.phpだと思います。
            • 33488
            • 429 Posts
            そーいえば、eFormは使っています。私のHPの問い合わせがそれですが・・。
            classファイルを直さなくても可能です、渡すときのSubject/Bodyをmb関数しちゃえばOKです。

            っていうか、ちゃんとアップしなきゃ・・・   体裁整えてないんですが、そのうちにアップしますだ。
            もう1つのメール用のスニペットもありましたねぇ 名前忘れちゃったけど
              • 20953
              • 70 Posts
              >>takumiさん

              私がテストしたのはhttp://modxcms.com/forums/index.php/topic,2122.15.htmlの上から2番目(xwisdom氏)のコードをそのまま使いました。
              高機能そうなのですが、英語は読めない(赤点しか取ったこと無いなぁ…)ので、今ひとつ使い方が分かりませんが、とりあえず入力用フォームとメール送信用のフォームの2種類のフォームをチャンクとして呼び出しているようです。
              で、ページ側でeformのスニペットに引数を入れて制御すると言う感じです(用語遣いが違っていてもご容赦を)。
              私の環境では eform.inc.php の「if ($eFormOnBeforeMailSent(&$fields)===false) return; (168行目・249行目)」がエラーで引っかかりました。
              で、コメントアウトしています。

              >>takizさん
              それだけで動くのであれば、結構楽かも…お暇な時にでも上げて頂ければ参考になりますので、お願いします。

              多機能な分、設定とかの複雑さや癖みたいなものがあるのかもしれませんが、マスターすると一通りのことは出来そうな感じですね。
                • 29228
                • 109 Posts
                Quote from: naoya at Apr 17, 2006, 09:08 AM

                私がテストしたのはhttp://modxcms.com/forums/index.php/topic,2122.15.htmlの上から2番目(xwisdom氏)のコードをそのまま使いました。
                やってみました。
                とりあえず、エラーは出ませんでした。
                HTML形式でレポートされるんですね。
                テキストにならんもんかな?
                文字化けは、HTML形式なんでcharsetを変更すればOKですね。
                こっちの場合は、特にmb_string()を使わなくても大丈夫そうですけど。
                takizさんとは、レポート送信の方法が違うのかな?
                エラーの件は、分かんないですぅ~。 embarrassed
                  • 20953
                  • 70 Posts
                  Quote from: takumi at Apr 17, 2006, 02:44 PM

                  とりあえず、エラーは出ませんでした。
                  HTML形式でレポートされるんですね。
                  テキストにならんもんかな?
                  文字化けは、HTML形式なんでcharsetを変更すればOKですね。
                  こっちの場合は、特にmb_string()を使わなくても大丈夫そうですけど。
                  takizさんとは、レポート送信の方法が違うのかな?
                  エラーの件は、分かんないですぅ~。 embarrassed

                  エラーが出ませんでしたか…私の環境依存かも…
                  テキストでの送信も大丈夫です。タグを取れば普通にテキストのメールが送れました。takizさんのページを読んだところ、スニペットの呼び出しで指定出来るようです。そちらの方が簡単ですね。
                  takumiさんの言う通り、htmlメールで送ればcharsetで指定してOKなんですが、私自身、htmlメールが嫌いなので(タグをpタグだけにすれば見た目は変わりませんが)。
                    • 33488
                    • 429 Posts
                    とりあえず、テスト版ってことで こっち に書きました。
                    HTMLメールがデフォルトというか固定だったので、これらをパラメタにしたりとか、ちょっと改造しています。
                    詳細は、上のリンクにさらっと書いてありますが・・・ソース見た方が早いかもぉ。
                    パラメタがいっぱいあるので、全部は試してないですぅ

                    っていうことで、お試しください
                      • 29228
                      • 109 Posts
                      Quote from: takiz at Apr 17, 2006, 03:20 PM

                      とりあえず、テスト版ってことで こっち に書きました。
                      HTMLメールがデフォルトというか固定だったので、これらをパラメタにしたりとか、ちょっと改造しています。
                      詳細は、上のリンクにさらっと書いてありますが・・・ソース見た方が早いかもぉ。
                      パラメタがいっぱいあるので、全部は試してないですぅ

                      っていうことで、お試しください
                      Nice! wink
                      使わせて頂きます!