2016-05-14 17 views
-1

あなたの助けを前に、ありがとうございました。PHP/HTML - PHPで別のエコーを持つhtml divのエラーをエコーし​​ますか?

私はフォームのこのエラーdivを持っています。

私はPHPで電子メールを検証しようとしていますが、ユーザーが選択した言語に応じてエラーを変更します。私は、翻訳されたテキストを持つ配列を持つ別の2つのPHPファイルを持っています。私がしようとしているのは、配列変数のエコーを含むエラーをエコーし​​て、htmlの多言語テキストとして解釈できるようにすることです。私はあなたがエコーをエコーすることができないことを知っていますが、私はこれのための回避策が必要です。ここはPHPの部分です。

<?php 

$error = ''; 

if ($_POST) { 

if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) === false) { 

    $error .= '<?php echo $lang["EMAIL_INVÁLIDO"]; ?>'; 

}; 

if ($error != "") { 

    $error = '<p>' . $error . '</p>'; 

}; 

}; 

?> 

ありがとうございます!

答えて

1

直接エコーの代わりに、エコーを変数に割り当ててからエコーしてみてください。

<?php 
$error = ''; 
if ($_POST) { 
    if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) === false) { 
     $error .= $lang["EMAIL_INVÁLIDO"]; 
    }; 
    if ($error != "") { 
     $error = '<p>' . $error . '</p>'; 
    }; 
}; 
?> 
+0

Aw笑!ハハ、それは働いた!私は前にやってみたが、代わりに配列変数全体がエラーとして現れた、なぜそれが今働いているのか分からないけど、それはした。ありがとうジャック、あなた、ダ男。 –

+0

あなたの歓迎;) –

+1

ラウル。あなたはあなたの配列アイテムに特殊文字を追加すべきではありません。この場合のように、 'EMAIL_INVÁLIDO'。代わりに 'EMAIL_INVALIDO'を実行できます。これはいくつかの頭痛を防ぐことができます。 – Phiter

0

以下で十分です:

if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) === false) { 

    $error .= $lang["EMAIL_INVÁLIDO"]; 

}; 

をあなたは、変数を囲む引用符を配置する必要がありません(あなたが行う場合、彼らは、テキストではなく、変数として扱われます)、あなたはすでに<?PHP ?>内で作業し、タグ。

ではなく、単に、後のコードでそれをエコー:

<?php 

$error = ''; 
if ($_POST) { 
if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) === false) { 
$error .= $lang["EMAIL_INVÁLIDO"]; 
} 
if ($error != "") { 
    echo '<p>' . $error . '</p>'; 
} 

} 
?> 
0

あなたが言うようにPHPはサーバー側であるので、あなたがエコーをエコーcan't。あなたはエラーの最終的な値の後にあなたのエコーを入れなければなりません:

関連する問題