volt
Новичок
Здравствуйте! Подскажите, пожалуйста, в таком вопросе.
Вынимаю из БД данные и отображаю их в форме. При добавлении данных все происходит нормально, но при редактировании занесенных данных они просто не отображаются.
В таком виде
данные можно только заносить, так как они потом при редактировании просто не отображаются.
Заметил что проблема с кодировкой. Потому что при такой записи:
все стало работать нормально.
Данные в БД - cp1251. В хедере документа кодировка указана.
Я так понимаю - не указана кодировка при соединении с БД. И наверное если правильно все прописать то не нужно будет менять все поля всех файлов php - все само должно будет заработать.
Но у меня не получается ее правильно прописать...
В файлах вывода информации прописывал:
- данные при htmlspecialchars() все равно не хотят отображаться.
Наверное нужно на уровне файлов подключения к БД прописывать - но тоже не получилось.
В файле соединения:
пробовал прописать:
но либо не там вставляю, либо что-то в корне не понимаю. Можно конечно все прописывать в виде
и при этом все будет работать, но понимаю, что это не совсем наверное правильно.
Спасибо за помощь.
Вынимаю из БД данные и отображаю их в форме. При добавлении данных все происходит нормально, но при редактировании занесенных данных они просто не отображаются.
В таком виде
PHP:
<input type="text"name="name" value="<?php echo htmlspecialchars($row['name']); ?>">
Заметил что проблема с кодировкой. Потому что при такой записи:
PHP:
<input type="text"name="name" value="<?php echo htmlspecialchars($row['name'], ENT_QUOTES, 'cp1251'); ?>">
Данные в БД - cp1251. В хедере документа кодировка указана.
Я так понимаю - не указана кодировка при соединении с БД. И наверное если правильно все прописать то не нужно будет менять все поля всех файлов php - все само должно будет заработать.
Но у меня не получается ее правильно прописать...
В файлах вывода информации прописывал:
PHP:
$row=$db->fetch($db->query("Select * from `$table_name` where id=$cat_id set character_set_results='cp1251'"));
Наверное нужно на уровне файлов подключения к БД прописывать - но тоже не получилось.
В файле соединения:
PHP:
<?php
class mysql
{
var $host = "xxx";
var $user = "xxx";
var $password = "xxx";
var $database = "xxx";
function pconnect($host, $user, $password)
{
mysql_pconnect($host, $user, $password) or
die("Can't connect to mySQL: ". mysql_error());
}
}
$db=new mysql;
$db->pconnect($db->host, $db->user, $db->password);
$db->select_db($db->database);
?>
PHP:
mysql_query("SET NAMES 'cp1251'");
PHP:
<input type="text"name="name" value="<?php echo htmlspecialchars($row['name'], ENT_QUOTES, 'cp1251'); ?>">
Спасибо за помощь.