2017-02-18 17 views
-1

私のメールフォームの件名にいくつかのPHPコードを使用しようとしています。次のように私が使用するコードは次のとおりです。電子メール形式のPHPコード件名

$email_subject .= $words[$lang]["CONTACT_EMIL_SUBJECT"]; 

フォームが正常に動作しますが、私はすべての電子メールを受信して​​いませんよ。 私はこのようなテキストだけを入れます:$ email_subject = "私のメールフォームからのメッセージ"; それから私は電子メールを受け取ります。

これはうまくいかないと言っていただけますか?

このコードでは、$ words [$ lang] ["CONTACT_EMIL_SUBJECT"はページの上部に含まれるファイルから値を取得しています。私はページの他の場所で同じ種類のコードを使用していますが、うまくいきます。私はこれを使って自分のサイトを翻訳しているので、ユーザーが英語の翻訳を使って自分のサイトを見ていると、フォームの値も私が受け取った電子メールに英語で表示されます。電子メールの値はスウェーデン語になります。

ありがとうございます。

+0

["CONTACT_EMIL_SUBJECT"]; ' – Barmar

答えて

0

フォールバックオプションを使用すると、値が見つかるかどうかを調べることができます。そうでない場合は、代替案を表示します。

<?php 
$to = "[email protected]"; 
$subject = isset($words[$lang]['CONTACT_EMAIL_SUBJECT']) ? $words[$lang]['CONTACT_EMAIL_SUBJECT'] : "Fallback subject, couldn't find correct lang."; 
$message = isset($_POST['message']) ? $_POST['message'] : "No message"; 

if (mail($to, $subject, $message)) { 
    echo "Thanks, your message was sent!"; 
} else { 
    echo "Oops, we hit an error. 
} 
?> 
+0

質問に「エコー」がどこにありますか? – Barmar

+0

@Barmar - 私の悪い!わからない_私が見たもの。 – huzi8t9

+0

ありがとうございましたこれはほとんど動作しますが、英語の翻訳では動作しますが、私はスウェーデン語の翻訳に問題があります。私の主題テキストは次の通りです:スウェーデン語:FCAB-HemsidaからNytt meddelande。英語:FCAB-Homepageからの新しいメッセージ。スウェーデン語の翻訳では、私がこのOを変えればそれがうまくいくので、どのようにコードにecho utf8_encodeを含めることができますか?ありがとうございました。 –

0

global $words;を宣言しましたか?グローバル変数の対ローカルの考えに

チェックこのアウト http://php.net/manual/en/language.variables.scope.php

例:

include "/langs/".$lang."/words.php"; 
//this you can make a folder langs with multiple languages folder defined by $lang 
//make a words.php in the $lang folder. Some Examples are /langs/en_us/words.php or /langs/en_gb/words.php for great britan and so on 
//inside words.php you add 
//$words[$lang]["CONTACT_EMIL_SUBJECT"] = "Email Subject"; for english 
//$words[$lang]["CONTACT_EMIL_SUBJECT"] = "Kontakt E-Mail Betreff"; for german 
//and so on. 
//adding include at top of page is a global variable so when you add to your code 
global $words; //this says to look for the variable when you added it to the file in include. 
echo $words[$lang]["CONTACT_EMIL_SUBJECT"]; 

だから、全例: `エコー$言葉[$ LANG]を何

<?PHP 
    include "/langs/".$lang."/words.php"; //include your language 
    function yourfunction(){ 
     //some code.... 
     global $words; //finds the $words global this can be used in anyplace that includes words.php 
     $email_subject .= $words[$lang]["CONTACT_EMIL_SUBJECT"]; 
     echo $email_subject; 
    } 
+0

はい、私はあまりそのページを理解していません。私のコードはどのようにグローバルに見えるでしょうか?ありがとうございました。 –

+0

編集を参照して例を含む – DarkSideKillaz

関連する問題