PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 15
LuNa82
Отправлено: 11 Октября, 2011 - 11:51:43 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
Объясните мне, пожалуйста! опрос на utf-8, страницы на cp1251 могут сочетаться както? Или нужно будет всё-таки все файлы сайта перекодировать на utf-8?
LuNa82
Отправлено: 11 Октября, 2011 - 05:55:47 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
Блин забыла про DeepVarvar пишет: mysql_query('SET NAMES cp1251');
Всё работает! Спасибо IronHawk , DeepVarvar , morosit , topy
LuNa82
Отправлено: 10 Октября, 2011 - 12:40:00 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
DeepVarvar пишет: .htaccess отредактировали?
Ага, вот:
# This folder does not require access over HTTP
# (the following directive denies access by default)
Order allow,deny
AddDefaultCharset UTF-8
LuNa82
Отправлено: 10 Октября, 2011 - 12:21:20 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
topy пишет: а еще надо все файлы пересохранить в UTF
в NotePad'e сделала Convert to UTF8
morosit пишет: наполнение таблицы старое? отправленное еще в старой кодировке?
Очистила, ввела русский текст - на сайте квадратики
LuNa82
Отправлено: 10 Октября, 2011 - 09:53:49 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
DeepVarvar пишет: У ПМА есть выбор кодировки подключения - прямо на главной странице.
Еще имейте виду, чо сервер может отправлять заголовки про другую кодировку - это правиться в .htaccess
Исправила всё, в ПМА стояла кодировка utf8_unicode_ci, сменила на utf8_general_ci
В htaccess тоже utf8 поставила, перезапустила Apache
Без изменений
LuNa82
Отправлено: 10 Октября, 2011 - 08:17:35 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
DeepVarvar пишет: ajax корректно работает только с utf-8.
Т.е. переделать на utf-8 базу, таблицу и поле title? Поможет?
LuNa82
Отправлено: 10 Октября, 2011 - 08:14:14 • Тема: PHP+ MySql кодировка • Форум: Вопросы новичков
Ответов: 16 Просмотров: 696
Есть скрипт голосования через Ajax.
В скрипте php создается база и таблица в кодировке latin1_swedish_ci (почему?), переделала базу, таблицу и поле title в кодировку на cp1251_general_ci.
На сайте нормально отображается, в PHPMyAdmin кракозябры. Изменяя эти кракозябры на русские буквы, начинаются кракозябры на сайте...
Что посоветуете? Кучу информации перелопатила, помоему всё уже перепробовала, не хочет одновременно корректно отображаться на сайте и в PHPMyAdmin
Файл My.ini
Файл DbConnect.php
PHP:
скопировать код в буфер обмена
<?PHP
// название сервера БД
// название базы данных
// пользователь MySQL
define ( "MYSQL_USER" , "root" ) ; // пароль к MYSQL
define ( "MYSQL_PASS" , "root" ) ;
// создаем базу данных и таблицу gb
$link1 = mysql_connect ( HOST
, MYSQL_USER
, MYSQL_PASS
) or
die ( "Нет соединения с MySQL
сервером!" ) ;
mysql_query ( "CREATE DATABASE IF NOT EXISTS " . DATABASE
) or
die ( "Не могу создать
базу данных!" ) ;
mysql_query ( "CREATE TABLE IF NOT EXISTS vote (id INT NOT NULL AUTO_INCREMENT
PRIMARY KEY, title VARCHAR (250), votes INT)" ) or
die ( "Не могу создать таблицу vote." ) ;
// если таблица пуста, заполним её начальными значениями
{
mysql_query ( "INSERT INTO vote (title) VALUES ('Куда вы сегодня
пойдете?')" ) ;
mysql_query ( "INSERT INTO vote (title, votes) VALUES ('Никуда',0)" ) ; mysql_query ( "INSERT INTO vote (title, votes) VALUES ('В кино',0)" ) ; mysql_query ( "INSERT INTO vote (title, votes) VALUES ('В клуб',0)" ) ; mysql_query ( "INSERT INTO vote (title, votes) VALUES ('В магазин',0)" ) ; mysql_query ( "INSERT INTO vote (title, votes) VALUES ('В спортзал',0)" ) ; mysql_query ( "INSERT INTO vote (title, votes) VALUES ('Другое',0)" ) ; }
?>
Файл index.php
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
include ( "dbconnect.php" ) ;
include ( "functions.php" ) ;
?>
< html>
< head>
< meta http- equiv= "Content-Type" content= "text/html; Charset=Windows-1251" >
< script src= "showcontent.js" type= "text/javascript" ></ script>
< script>
function getRadioGroupValue( radioGroupObj)
{
for ( var i= 0 ; i < radioGroupObj. length; i++ )
if ( radioGroupObj[ i] . checked) return radioGroupObj[ i] . value;
return null ;
}
</ script>
</ head>
< body>
< div id= "contentBody" >
<? php
if ( $_COOKIE [ 'codething_vote' ] == '1' )
drawResults( ) ;
else
drawForm( ) ;
?>
</ div>
< div id= "loading" style= "display: none" >
Идет загрузка...
</ div>
</ body>
</ html>
Есть еще 3 файла (установка значения в куки, прорисовка формы и скрипт Ajax). Если нужно-размещу
LuNa82
Отправлено: 06 Октября, 2011 - 11:57:36 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
JohnnyB пишет: попробуй вывести ошибку SQL мож ясно станет
PHP:
скопировать код в буфер обмена
if(!($result = @mysql_query($query, $db_conn)))
{
echo mysql_error();
}
Вывела ошибку:
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
Погуглила и нашла решение:
Вставить после mysql_select_db('poll');
JohnnyB , morosit , LIME спасибо вам!
LuNa82
Отправлено: 06 Октября, 2011 - 10:56:16 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
Куда прописать?
Таблица существует, в ней 2 поля: answers и voices
Вывожу на экран значение переменной $query
UPDATE poll_results SET voices = voices+1 where answers ='Не знаю'
И дальше
Ошибка доступа к базе данных
Что не так?
LuNa82
Отправлено: 05 Октября, 2011 - 13:27:21 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
morosit пишет: кстати так и не понятно передается ли переменая
PHP:
скопировать код в буфер обмена
if ( ! empty ( $_POST [ "vote" ] ) ) {
$query = "UPDATE poll_results SET voices = voices + 1 where answers ='{$_POST['vote']} '" ;
{
echo 'Ошибка доступа к базе данных' ;
}
}
else { echo 'ошибка' ; }
Передаётся! По прежнему только ошибка из 20 строки
LuNa82
Отправлено: 05 Октября, 2011 - 12:45:22 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
LIME пишет: везде вместо $vote - {$_POST['vote']}
или в начале присвоение $vote=$_POST['vote'];
$query = "UPDATE poll_results SET voices = voices + 1 where answers ='{$_POST['vote']}'";
Спасибо, теперь выдаёт Ошибка доступа к базе данных. update не сработал?
LuNa82
Отправлено: 05 Октября, 2011 - 11:59:13 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
CODE (
html ):
скопировать код в буфер обмена
<html >
<head >
<title > Голосование</ title >
</ head >
<body >
<b > Нравится ли Вам наш новый дизайн?</ b >
<form method = "post" action = "poll.php" >
<Input Type = "radio" Name = "vote" Value = "Да" > Да<br >
<Input Type = "radio" Name = "vote" Value = "Нет" > Нет<br >
<Input Type = "radio" Name = "vote" Value = "Не знаю" > Не знаю<br >
<Input Type = "submit" Value = "Голосовать" >
</ form >
<a href = "poll_results.php" > Результаты</ a >
</ body >
</ html >
(Добавление)
LIME пишет: не предусмотрены действия в случае пустой переменной...в этом случае тоже выведет подтверждение
Да, но это позже, главное сейчас чтоб считать начало
LuNa82
Отправлено: 05 Октября, 2011 - 11:03:59 • Тема: Ошибка при подсчёте голосов в опросе • Форум: Вопросы новичков
Ответов: 16 Просмотров: 554
Есть код (не мой, пытаюсь разобраться)
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
{
echo 'Ошибка доступа к базе данных' ;
} ;
{
$query = "UPDATE poll_results SET voices = voices + 1 where answers ='$vote '" ;
{
echo 'Ошибка доступа к базе данных' ;
}
} ;
echo '<b>Спасибо! Ваш голос учтён!</b>
<br><a href="javascript:history.back(1)">Назад</a>' ;
?>
Voices не считается, по видимому update не работает. Подскажите почему?!
Ошибки на экран не выводятся...
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB