blackseabreathe
@blackseabreathe
brackets

Как написать это на php?

Приквел:
в php я <=0;

Суть:
Есть форма на сайте, ниже кусок кода, который берет данные с формы и вставляет их в файл .tpl в соответствующие места.

Пример tpl:
<table border="0" style="background:#f3f5f6;color:#333;padding:50px">
  <tr>
    <td>%%emai.title%%</td>
    <td>%%email.value%%</td>
  </tr>
</table>


С ним работает php:
function tpl($vars) {
    $tpl = 'tpl/'.$vars['name'].'.tpl';
    if(file_exists($tpl)) {
     $template = file_get_contents($tpl);
        <b>foreach($vars['getdata'] as $name => $data) {
            $template = str_replace(array("%%".$name.".title%%", "%%".$name.".value%%"), array($data['title'], $data['value']), $template);
        }</b>

//здесь я пробовал использовать свои знания php:
if($data['value']===''){
        $this echo('не заполнено');
        }
//конец знаний

 return $template;
    }
     else {
      return false;
    }
 }


То есть я хотел сделать следующее:

Если поле на сайте не заполнено, то на почту приходит так %%emai.title%% %%emai.value%% каждое незаполненное поле, а заполненное приходит нормально как и должно быть.

Вот как мне написать скрипт чтобы если не заполнено поле, то приходит на почту заместо %%emai.title%% нормальное название поля и его значение "не заполнено"?
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
Если по простому починить ваше творение, то примерно так
$template = str_replace(array("%%".$name.".title%%", "%%".$name.".value%%"), array(($data['title'] !== '' ? $data['title'] : 'не заполнено') , ($data['value'] !== ''? $data['value'] : 'не заполнено')), $template);

Ну и убрать тот мусор
//здесь я пробовал использовать свои знания php:
if($data['value']===''){
        $this echo('не заполнено');
        }
//конец знаний

Хотя наверное не заработает, в массиве ключ значение?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы