blackb

Рейтинг
16
Регистрация
13.07.2012
voltamper:
попробуйте header('Content-Type: text/html; charset=utf-8'); заменить на header('Content-Type: text/html; charset=windows-1251');

Если так сделать, то страница сайта отображается нормально, а тексты скрипта превращаются в ������

siv1987:
Сайт и все остальное очевидно работает не utf-8
Если сайт не utf-8, лучше свой скрипт перекодировать под cp1251

Вот код скрипта:

<?php


header('Content-Type: text/html; charset=utf-8');
session_start();

$txt = array(
'refer' => array(
"9" => 'выберите из списка',
"10" => 'Английский',
"11" => 'Немецкий',
"12" => 'Французский',
"13" => 'Испанский',
),
'vozrast' => array(
"9" => 'выберите из списка',
"10" => 'Взрослый',
"11" => 'Дошкольник',
"12" => 'Младшие классы',
"13" => 'Старшие классы',
),
'clock' => array(
"9" => 'выберите из списка',
"10" => 'с 9-12',
"11" => 'с 12-15',
"12" => 'с 16-17.30',
"13" => 'с 17.30-19',
"14" => 'с 19-21',
),
'dni' => array(
"9" => 'выберите из списка',
"10" => 'Пн',
"11" => 'Вт',
"12" => 'Ср',
"13" => 'Чт',
"14" => 'Пт',
"15" => 'Сб',
"16" => 'Вс',
),
'dni2' => array(
"9" => 'выберите из списка',
"10" => 'Пн',
"11" => 'Вт',
"12" => 'Ср',
"13" => 'Чт',
"14" => 'Пт',
"15" => 'Сб',
"16" => 'Вс',
),
'uroven' => array(
"9" => 'выберите из списка',
"10" => 'Starter',
"11" => 'Elementary',
"12" => 'Pre-Intermediate',
"13" => 'Intermediate',
"14" => 'Upper Intermediate',
"15" => 'Advanced',
),
);

$fields = array(
'name' => 'ФИО',
'refer' => 'Язык',
'vozrast' => 'Возраст',
'clock' => 'Удобное время занятий',
'dni' => 'Удобные дни (1)',
'dni2' => 'Удобные дни (2)',
'uroven' => 'Примерный уровень',
'phone' => 'Контактный телефон',
'clock' => 'Удобное время занятий',
'clock' => 'Удобное время занятий',
);

$errors = array();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['sec_code'] != $_SESSION['secret_code']) {
$errors[] = 'captcha';
}
if (empty($_POST['name'])) {
$errors[] = 'name';
}
if (empty($_POST['phone'])) {
$errors[] = 'phone';
}
if (empty($errors)) {
unset($_POST['sec_code']);
$body = '';
foreach($_POST as $k=>$v) {
if (isset($txt[$k])) {
$body .= "{$fields[$k]}: {$txt[$k][$v]}\n";
} else {
$body .= "{$fields[$k]}: $v\n";
}
}
$headers =
"From: noreply@cigareti.ru\n" .
"X-Mailer: PHP Mailer\n" .
"MIME-Version: 1.0\n" .
"Cc: info@mail.ru\n" .
"Content-type: text/plain; charset=utf-8\n";
mail(
'info@mail.ru',
'=?utf-8?B?' . base64_encode('Запрос с сайта cigareti.ru') . '?=',
$body, $headers
);
unset($_SESSION['secret_code']);
$_SESSION['sent'] = 1;
header('Location: /');
exit;
}
}

?>


<form method="post">
<table class="tableform">
<?php
if (isset($_SESSION['sent'])) {
echo '<h2 style="color:green">Спасибо, ваша заявка получена!</h2>';
unset($_SESSION['sent']);
}
?>
<tr>
<td<?php if (in_array('name', $errors)) echo ' style="color:red"' ;?>>ФИО</td>
<td><input type="text" maxlength="45" name="name" /></td>
</tr>
<tr>
<td>Выберете язык</td>
<td><select name="refer">
<option value="9" >выберите из списка</option>
<option value="10" >Английский</option>
<option value="11" >Немецкий</option>
<option value="12" >Французский</option>
<option value="13" >Испанский</option>
</select></td>
</tr>
<tr>
<td>Возраст</td>
<td><select name="vozrast">
<option value="9" >выберите из списка</option>
<option value="10" >Взрослый</option>
<option value="11" >Дошкольник</option>
<option value="12" >Младшие классы</option>
<option value="13" >Старшие классы</option>
</select></td>
</tr>
<tr>
<td>Удобное время занятий</td>
<td><select name="clock">
<option value="9" >выберите из списка</option>
<option value="10" >с 9-12</option>
<option value="11" >с 12-15</option>
<option value="12" >с 16-17.30</option>
<option value="13" >с 17.30-19</option>
<option value="14" >с 19-21</option>
</select></td>
</tr>
<tr>
<td>Удобные дни</td>
<td><select name="dni">
<option value="9" >выберите из списка</option>
<option value="10" >Пн</option>
<option value="11" >Вт</option>
<option value="12" >Ср</option>
<option value="13" >Чт</option>
<option value="14" >Пт</option>
<option value="15" >Сб</option>
<option value="16" >Вс</option>
</select>
<select name="dni2">
<option value="9" >выберите из списка</option>
<option value="10" >Пн</option>
<option value="11" >Вт</option>
<option value="12" >Ср</option>
<option value="13" >Чт</option>
<option value="14" >Пт</option>
<option value="15" >Сб</option>
<option value="16" >Вс</option>
</select></td>
</tr>
<tr>
<td>Примерный уровень</td>
<td><select name="uroven">
<option value="9" >выберите из списка</option>
<option value="10" >Starter</option>
<option value="11" >Elementary</option>
<option value="12" >Pre-Intermediate</option>
<option value="13" >Intermediate</option>
<option value="14" >Upper Intermediate</option>
<option value="15" >Advanced</option>
</select></td>
</tr>
<tr>
<td<?php if (in_array('phone', $errors)) echo ' style="color:red"' ;?>>Контактный телефон</td>
<td><input type="text" maxlength="45" name="phone" /></td>
</tr>
<tr>
<td<?php if (in_array('captcha', $errors)) echo ' style="color:red"' ;?>>Введите код:</td>
<td>
<div id="captcha">
<img src="/captcha.php" width="120" height="50" alt="Включите эту картинку для отображения кода безопасности" border="0" /><br />
<a onclick="reload();return false;" href="#">обновить, если не виден код</a>
</div>
<input type="text" maxlength="45" name="sec_code" style="width:115px" />
</td>
</tr>
</table>
<input type="submit" value="запись" />
</form>

<p>

<br>
<br>

Как перекодировать под cp1251? (не занимался ни разу)

maximka77:
Проверьте какая кодировка стоит на хостинге

На хостинге по умолчанию стоит UTF-8.

В коpневой дирректории сайта есть файл .HTACCESS и там прописано: AddDefaultCharset windows-1251

voltamper:
Кодировка базы походу вин 1251,поставьте утф8

У меня вообще DLE в кодировке windows-1251. Поставлю UTF-8 и получится опять крякозябры.

TaP3aH:
А в БД какая кодировка?

windows-1251.

мой скрипт не использует БД.

voltamper:
А непробовали содержимое index.html вставить в стат страницу?

В содержимом index.html содержиться код php так как в моём случае html обрабатывается как php:

AddHandler application/x-httpd-php .html
Так, что это не вариант.

Вопрос решил. Всем спасибо.

Есть ещё вопрос по dle.

siv1987:
Если в самом низу то смотрите в index.php

index.php проверил в первую очередь, нет ничего.

mmtgas:
Домен в личку, скажу точно зачем так делается

Уважаемый товарищ 'будущий модератор' мне в личку отпишите свой анализ.

есть команда чернорабочих ☝

3500 рублей в месяц, 25 роликов в сутки.

работают давно. качественно.

личка.

LeeeV:
В общем-то, У вас тег {pages} должен отображаться 8 раз, так как вы поместили его в шаблон короткой новости.
Уберите из shortstory.tpl строчку
<div class="navigation">{pages}</div>


Навигация сама появится, когда количество статей у вас превысит 10.

В том то и дело что в админку добавлено около 100 новостей, а навигации по страницам так и не появилось.

Поскольку в данном разделе игнорируется правило, запрещающее постить бессмысленные посты, вроде "и мне в личку" - "скинул в личку", впредь буду штрафовать за них восьмибалльным штрафом.
В особо запущенных случаях - удалять топики.

Такие сообщения следует направлять в приват, не загаживая форум.

Внимание!
Вы будете оштрафованы за любое сообщение
"урл в личку", "отписал в личку", "ставка принята" и прочие бессмысленные вещи. Не страйтесь также замаскировать ваши личкопрошения другими умными вопросами по типа "а статистика есть? урл в личку." - вы все равно будете оштрафованы. Все личковопросы направляются только в личку.

ТС, а сайт то где?

Всего: 62