Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FUTURiTY

Цитата:
Вопрос: подскажите как вынести конфигурацию бд в один файл и подключить его ко всем рег.формам на сайте? Сделать что то типа сонфиг.пхп  

так и вынести. записать в отдельном файле переменные с параметрами подключения и делать его include или require в нужных местах

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:21 06-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Пипл! Хелп! Я очередной ньюб из тех многих, кто на всех форумах каждый день кричит о проблемах с кодировками. Хочу подойти к этому вопросу нормально. И разобраться наконец то.... Поэтому вопрос.  
Кто знает, где, в каком месте, по русски, можно прочитать о том, как работает механизм кодировок и перекодировок при всех движениях файла через MySQL?
 
В часности. В MySQL несколько параметров "character_set" :
 
mysql> SHOW VARIABLES LIKE '%char%';
+--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | utf8                                |
| character_set_connection | utf8                                |
| character_set_database   | utf8                                |
| character_set_filesystem | binary                              |
| character_set_results    | utf8                                |
| character_set_server     | utf8                                |
| character_set_system     | utf8                                |
| character_sets_dir       | C:\MySQL Server 5.1\share\charsets\ |
+--------------------------+-------------------------------------+
 
На что они все влияют, и как они должны быть настроены, что бы при ручном заполнении таблиц из доса или из PHPMyAdmin кирилица отображалась корректно?  
Литературы конечно вылазит море, и при поиске через Гугл, и открывая мануал на хомяке MySQL.... Но я во всей этой инфе уже утонул, и голова у меня уже распухла окончательно .

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 01:19 10-04-2009 | Исправлено: israel_rider, 01:28 10-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
israel_rider
http://www.webmasterschool.ru/articles/article18.php
http://rrv.jino-net.ru/wiki/index.php/MySQL_%D0%B8_UTF-8
Имя переменной  Описание Зона действия    
character_set Кодировка по умолчанию. С версии 4.1.1 удалена. НЕ ИСПОЛЬЗОВАТЬ!  GLOBAL | SESSION    
character_set_client Кодировка для операторов, поступающих со стороны клиента  GLOBAL | SESSION    
character_set_connection Кодировка, используемая для литералов, не имеющих устройства для ввода символов, (у некотрых функций) и для преобразования числового кода в строковый.  GLOBAL | SESSION    
character_set_database   Кодировка, используемая БД по умолчанию. Сервер устанавливает эту переменную каждый раз, когда изменяется БД по умолчанию. Если БД по умолчанию отсутствует, переменная будет иметь то же значение, что и character_set_server.  GLOBAL | SESSION    
character_set_server         Кодировка по умолчанию для всего сервера.  GLOBAL | SESSION    
character_set_results   Кодировка, используемая для возвращению клиенту результатов запроса.  GLOBAL | SESSION    
character_set_system   Кодировка, используемая сервером для хранения идентификаторов. Всегда имеет значение = UTF8 GLOBAL | SESSION    
collation_connection   Сопоставление кодировки соединения.  GLOBAL | SESSION    
collation_database   Сопоставление кодировки БД. переменная устанавливается всякий раз, когда изменяется БД по умолчанию. Если БД по умолчанию отсутствует, переменная будет иметь тот же значение, что и collation_server GLOBAL | SESSION    
collation_server   Сопоставление по умолчанию  GLOBAL | SESSION


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:21 10-04-2009 | Исправлено: Cheery, 02:21 10-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Чего то тяжело.... То ли лыжи не едут.....
Зато нашёл ещё одну классную инфу - http://www.phpfaq.ru/charset . Вроде там написаны ответы на мои вопросы. Подробно. Пытаюсь разобраться....
 
Добавлено:
Блин!!!!! Начало доходить вроде!!!!!! Cheery!!!!!!!!!!!! Плиз!!!!!!!!!!! Вопрос!!!!!!!!!!!!
Если я ввожу таблицу с клавы и в дос, в какой она идёт кодировке? У меня всё везде стоит в юникоде, и я всё так и хочу что бы стояло. Но если я ввожу с клавы, в досе же нет юникода? Значит, оно вводится в кои8? Или в 1251? Я должен узнать ответы на эти вопросы, а потом для моей досовской сессии, и только для неё изменить настройки.... Я так думаю. Потому что, повторяю, у меня всё что можно в юникоде! И там, где можно, я хочу юникод оставить.  
 
 
Добавлено:
Короче, всё я прочитал, всё проверил, и пришёл к выводу.... Короче, дело тут вовсе не в бабине....  А, скорее всего в том, что что то, то ли Апач, то ли РНР, то ли МуSQL у меня на компе просто криво встали.... И поди теперь пойми, в чём тут ошибка....
 
Добавлено:
Наглядно показываю свою проблему - Подробнее... .

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 06:21 10-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
И вот, ещё один вопрос. У меня на компе localhost – Apache + PHP + MySQL.  
Вопрос. Где в аппаче настраиваются кодировки, в которых он выдаёт странички?  
У меня странички открытые с него, открываются только в юникоде, хотя ни какая мета у них в голове не прописана. Значит, сам аппач посылает их так, что в хедере HTTP кодировка указана. Но ни каких таких настроек, типа "дефолт чарсет" в httpd.conf аппача я не нашёл…. Не там искал? Или не то искал?

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 00:34 11-04-2009 | Исправлено: israel_rider, 00:39 11-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Короче, такая херня…. Голова уже распухла, но понять, в каком месте я не доучил матчасть я так и не могу…..   Тренируюсь дома на локали…. Запускаю пример из учебника, в общем то….
 
Файл 4.php
 
<?php  
session_start();    
$_SESSION["access"] = "yes";
header('Location:3.php');  
echo '<a href="3.php">Вход на страницу</a><br/>';
?>
 
Файл 3.php
 
<?php
session_start();    
echo '$_SESSION["access"] = '.$_SESSION["access"].'<br/>';
$x=session_id();
echo 'session_id = '.$x;
?>
 
Запускаю файл 4.php . Получаю это –
 
Notice: Undefined index: access in D:\accounts\yoursite\3.php on line 4
$_SESSION["access"] =  
session_id = 6ldbsk95g6mnv2kgqr0ehdh7s1
 
То есть видно, что сессия запускается, и сессионный ID назначается и передаётся, но не передаётся элемент массива $_SESSION. Тогда я в 4.php комментирую перенаправление на страничку 3.php и переезжаю на 3.php просто кликая по ссылке. Файл 4.php по этому теперь выглядит так :
 
<?php  
session_start();    
$_SESSION["access"] = "yes";
//header('Location:3.php');  
echo '<a href="3.php">Вход на страницу</a><br/>';
?>
 
И в таком случае я вижу, что всё работает :
 
$_SESSION["access"] = yes
session_id = du8cf230i7hr2hcac6vb4o7fs4
 
То, что я где то недоучил матчасть – это понятно. Но …. Блин…. Ну устал… Достали уже эти сессии…. Не разобраться самому. Почему при перенаправлении Хедером значение массива $_SESSION не передаётся?????  
И ВЕДЬ ЭТО ЖЕ ПРИМЕР ИЗ УЧЕБНИКА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
 
 
 

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 09:45 25-04-2009 | Исправлено: israel_rider, 09:46 25-04-2009
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
israel_rider
создал 2 файла. 4.php, 3.php. взял твой код. запросил /4.php
всё работает как ожидается.
 
какое имя у хоста? + покажи заголовки в обоих случаях, когда всё работает и когда нет.
 
Добавлено:

Цитата:
То есть видно, что сессия запускается, и сессионный ID назначается и передаётся, но не передаётся элемент массива $_SESSION.  

ничто никуда не передаётся. идентификатор сессии определяет ресурс (по дефолту - файл на диске), который хранит данные. так что передаётся только лишь этот идентификатор и всё.

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 10:05 25-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Так а как же тогда люди поступают? Если чел у меня нажимает на страничке "logon", я проверив его аккаунт, должен его перенаправить туда, куда он хочет, автоматически. Каким способом я могу это правильно сделать?

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 10:26 25-04-2009
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
israel_rider
ты принципиально пропустил мой вопрос и указания?

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 10:40 25-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zerkms, прошу прощения. Имя хоста - localhost. Как я уже сказал, всё стоит у меня на компе.  
Будь добр, порекомендуй программу - снифер, что бы я мог просмотреть заголовки. Я ещё такими прогами ни разу не пользовался, заголовки не смотрел, не доучился ещё до этого.
По поводу твоего указания я не понял ни чего. Буду учиться дальше, может  быть потом пойму.

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 14:18 25-04-2009 | Исправлено: israel_rider, 14:34 25-04-2009
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
israel_rider
firebug для фф, ieHTTPHeaders для ie. для оперы хз.
 
по поводу указания: тебе нужно обе ситуации изучить, найти, чем они отличаются.
для начала - нужно посмотреть, что в обоих ситуациях в стартовом скрипте (4.php) и следующем - сохраняется session_id(). (вывести его куда-нибудь)

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 15:11 25-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Поставил ieHTTPHeaders, запустил, посмотрел. Ни могу понять, на какую строчку я должен обратить внимание. Пока вижу то же, что и адресной строке - http://localhost/3.php?PHPSESSID=jfm93020gphrmceid0mmicb212, то есть это передаётся идентификатор сессии. Так и не могу понять, как сервер передаёт браузеру элементы массива $_SESSION . И почему в одном случае элемент $_SESSION["access"] браузеру передался, а в другом нет.

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 15:27 25-04-2009
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Так и не могу понять, как сервер передаёт браузеру элементы массива $_SESSION

сервер НИЧЕГО не передаёт БРАУЗЕРУ. скрипт работает на сервере и отдаёт результаты работы.
сессии устроены так: от запроса к запросу браузер передаёт на сервер идентификатор сессии. на сервере лежит файл с именем == идентификатору сессии. все данные лежат там.
далее - session_id() одинаковый, он не меняется?
почему и зачем он у тебя передаётся через урл? ты так настроил веб-сервер?
если нет - то выставь в пхп.ини
session.use_cookies = 1

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 15:36 25-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
israel_rider

Цитата:
header('Location:3.php');

пробел после Location:  
и exit после него
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:33 25-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery написал как ты сказал.
Цитата:
пробел после Location:  
и exit после него  

Получилось - 4.php
 
<?php  
session_start();    
$_SESSION["access"] = "yes";
header('Location: 3.php');
exit();
echo '<a href="3.php">Вход на страницу</a><br/>';
?>  
 
Не помогло
 
zerkms, всё понял. Думаю, над тем, что ты сказал.... Я то как раз session.use_cookies = выставил в 0. Что бы на куки не расчитывать. Ведь есть пользователи, которые куки у себя в браузере отключают.
 

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 00:32 26-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
israel_rider

Цитата:
Ведь есть пользователи, которые куки у себя в браузере отключают.

почти нет..
лучше через куки.. иначе смотрите при форварде на 4.php  - передается ли id сессии как добавка к URL


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:19 26-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Ведь есть пользователи, которые куки у себя в браузере отключают.  
почти нет..  

 
Понял. Согласен. Но я студент. Я учу раздел "сессии" и до кук я ещё не дошёл. На практике я буду включать куки, но сейчас пока я хочу разобраться, как работает встроенный механизм сессий. Поэтому я так и упёрся в этот пример из учебника, и пытаюсь понять, почему именно он не работает.
 
При форварде на 3.php при помощи header('Location: 3.php'); id сессии как добавка к URL не передаётся, то есть в  
ieHTTPHeaders я вижу - GET /3.php HTTP/1.1 и всё.
А когда я в файле 4.php комментирую строчку //header('Location: 3.php'); , при помощи которой я осуществляю автоматическое перенаправление на 3.php, то в ieHTTPHeaders я чётко вижу -  
GET /3.php?PHPSESSID=jegsr9pkm5filem00ifttpjmb2 HTTP/1.1.  
И элемент $_SESSION["access"] в браузер передаётся. То есть всё работает.
Выходит ответ на мой вопрос, почему не работает в первом случае, и работает во втором - в изучении механизма работы функции Хедер.....

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 01:50 26-04-2009 | Исправлено: israel_rider, 02:59 26-04-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
israel_rider

Цитата:
Выходит ответ на мой вопрос, почему не работает в первом случае, и работает во втором - в изучении механизма работы функции Хедер.....  

если не ошибаюсь, то  
http://us2.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:50 26-04-2009
israel_rider

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Короче - вот он ответ, на мой вопрос. Цитата из учебника: "В PHP изменение заголовка(header) возможно лишь ДО того, как начнет формироваться HTML-код web-документа!". То есть, в моём случае я не могу пользоваться функцией header() для редиректа.
Вопрос. Есть ли в РНР ещё средства, которыми я мог бы осуществить перенаправление?  
 
Cheery
Мало что понял, но проверил. У меня session.use_trans_sid = 1 , то есть включена.

Всего записей: 925 | Зарегистр. 28-07-2007 | Отправлено: 04:05 26-04-2009 | Исправлено: israel_rider, 05:06 26-04-2009
zerkms

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Короче - вот он ответ, на мой вопрос. Цитата из учебника: "В PHP изменение заголовка(header) возможно лишь ДО того, как начнет формироваться HTML-код web-документа!". То есть, в моём случае я не могу пользоваться функцией header() для редиректа.  

где у тебя до редиректа какой-либо вывод???

----------
tvfёdor - оперативно уведомляет о раздачах rutracker | Блог об иммиграции в Новую Зеландию

Всего записей: 387 | Зарегистр. 07-05-2004 | Отправлено: 05:20 26-04-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru