Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: В базу данных заносятся иероглифы.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Doox911
Отправлено: 10 Октября, 2013 - 23:24:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Доброго времени суток.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. ini_set('display_errors',1);
  4.  
  5.  
  6. @mysql_query('set character_set_client="utf8"');
  7. @mysql_query('set character_set_results="utf8"');
  8. @mysql_query('set collation_connection="utf8"');
  9.  
  10. include ('connect.php');
  11.  
  12.  


А теперь вопросы:
1. Как мне установить кодировку, чтобы в БД помещались русские слова, а не хрен знает что.(сравнение стоит как у таблицы так и у полей стоит utf8_general_ci)
2. Без собак выдаёт опасности. Как сделать без собак правильно?
3. Пробовал ставить utf8_bin. В БД заносилось красиво, а вот в html-ку уже выносились вопросики.

За ранее спасибо. Создал тему Так как везде одно и тоже, и одинаково. Но все эти примеры не пашут.
 
 Top
OrmaJever Модератор
Отправлено: 10 Октября, 2013 - 23:39:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Doox911
Отправлено: 10 Октября, 2013 - 23:44:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




OrmaJever пишет:



Не помогает
 
 Top
OrmaJever Модератор
Отправлено: 10 Октября, 2013 - 23:54:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Doox911 пишет:
2. Без собак выдаёт опасности. Как сделать без собак правильно?

Что? Однако
Doox911 пишет:
Не помогает

а сам файл в юникоде?

и
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=UTF-8');

тоже не помешают


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Doox911
Отправлено: 11 Октября, 2013 - 00:02:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




OrmaJever пишет:
Doox911 пишет:
2. Без собак выдаёт опасности. Как сделать без собак правильно?

Что? Однако
Doox911 пишет:
Не помогает

а сам файл в юникоде?

и
PHP:
скопировать код в буфер обмена
  1. header('Content-type: text/html; charset=UTF-8');

тоже не помешают

1. Да именно)
2. Сделал, не помогает.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. ini_set('display_errors',1);
  4.  
  5. header('Content-type: text/html; charset=UTF-8');
  6.  
  7. mysql_query('SET NAMES utf8');
  8.  
  9. include ('connect.php');
  10.  
  11. if(isset($_POST['login']))
  12.  {
  13.   $login = $_POST['login'];
  14.   if(empty($login))
  15.    {
  16.     unset($login);
  17.     echo file_get_contents('html/no_reg2.html');
  18.     exit;
  19.    }
  20.  }
  21. else
  22.  {}
  23. if(isset($_POST['name']))
  24.  {
  25.   $name = $_POST['name'];
  26.   if(empty($name))
  27.    {
  28.     unset($name);
  29.     echo file_get_contents('html/no_reg2.html');
  30.     exit;
  31.    }
  32.  }
  33. else
  34.  {}
  35. if(isset($_POST['fam']))
  36.  {
  37.   $fam = $_POST['fam'];
  38.   if(empty($fam))
  39.    {
  40.     unset($fam);
  41.     echo file_get_contents('html/no_reg2.html');
  42.     exit;
  43.    }
  44.  }
  45. else
  46.  {}
  47. if(isset($_POST['otch']))
  48.  {
  49.   $otch = $_POST['otch'];
  50.   if(empty($otch))
  51.    {
  52.     unset($otch);
  53.     echo file_get_contents('html/no_reg2.html');
  54.     exit;
  55.    }
  56.  }
  57. else
  58.  {}
  59. if(isset($_POST['pol']))
  60.  {
  61.   $pol = $_POST['pol'];
  62.   if(empty($pol))
  63.    {
  64.     unset($pol);
  65.     echo file_get_contents('html/no_reg2.html');
  66.     exit;
  67.    }
  68.  }
  69. else
  70.  {}
  71. if(isset($_POST['drd']))
  72.  {
  73.   $drd = $_POST['drd'];
  74.   if(empty($drd))
  75.    {
  76.     unset($drd);
  77.     echo file_get_contents('html/no_reg2.html');
  78.     exit;
  79.    }
  80.  }
  81. else
  82.  {}
  83. if(isset($_POST['drm']))
  84.  {
  85.   $drm = $_POST['drm'];
  86.   if(empty($drm))
  87.    {
  88.     unset($drm);
  89.     echo file_get_contents('html/no_reg2.html');
  90.     exit;
  91.    }
  92.  }
  93. else
  94.  {}
  95. if(isset($_POST['dry']))
  96.  {
  97.   $dry = $_POST['dry'];
  98.   if(empty($dry))
  99.    {
  100.     unset($dry);
  101.     echo file_get_contents('html/no_reg2.html');
  102.     exit;
  103.    }
  104.  }
  105. else
  106.  {}
  107. if(isset($_POST['email']))
  108.  {
  109.   $email = $_POST['email'];
  110.   if(empty($email))
  111.    {
  112.     unset($email);
  113.     echo file_get_contents('html/no_reg2.html');
  114.     exit;
  115.    }
  116.  }
  117. else
  118.  {}
  119. if(isset($_POST['pass']))
  120.  {
  121.   $pass = $_POST['pass'];
  122.   if(empty($pass))
  123.    {
  124.     unset($pass);
  125.     echo file_get_contents('html/no_reg2.html');
  126.     exit;
  127.    }
  128.  }
  129. else
  130.  {}
  131.  
  132. $name = trim($name);
  133. $fam = trim($fam);
  134. $otch = trim($otch);
  135. $pol = trim($pol);
  136. $drd = trim($drd);
  137. $drm = trim($drm);
  138. $dry = trim($dry);
  139. $email = trim($email);
  140.  
  141. $login = strip_tags($login);
  142. $name = strip_tags($name);
  143. $fam = strip_tags($fam);
  144. $otch = strip_tags($otch);
  145. $pol = strip_tags($pol);
  146. $drd = strip_tags($drd);
  147. $drm = strip_tags($drm);
  148. $dry = strip_tags($dry);
  149. $email = strip_tags($email);
  150.  
  151. $r = mysql_query("select count(*) from users where login = '$login'",$link) or die ("Error SQL: name ". mysql_error());
  152. $cr = mysql_result($r,0,0);
  153. /////////////////////////////////////////////////////////////////////////////////////
  154. //////Проверяем уникальность выбранного email////////////////////////////////////////
  155. /////////////////////////////////////////////////////////////////////////////////////
  156. $r = mysql_query("select count(*) from users where email = '$email'",$link)or die ("Error SQL: email ". mysql_error());
  157. $ce = mysql_result($r,0,0);
  158. /////////////////////////////////////////////////////////////////////////////////////
  159. //////Если нет совпадений регим нового пользователя//////////////////////////////////
  160. /////////////////////////////////////////////////////////////////////////////////////
  161. if (($cr == 0) and ($ce == 0))
  162.  {
  163.   $r = mysql_query("select max(id) from users",$link) or die ("Error SQL: max id". mysql_error());
  164.   $max_id_user = mysql_result($r,0,0);
  165.  
  166.   $id_user = $max_id_user+1;// id
  167.   $data = getdate();
  168.   @$data = $data[mday].'.'.$data[mon].'.'.$data[year]; // дата регистрации
  169.   $emailpass = $pass; // Для отправки на мыло
  170.   $pass = md5($pass);// пароль
  171.   $droj = $drd.'.'.$drm.'.'.$dry;// Дата рождения
  172.   if($pol == '1')
  173.    {
  174.     $pol_mail = 'мужчина';
  175.    }
  176.   if($pol == '2')
  177.    {
  178.     $pol_mail = 'женщина';
  179.    }
  180.  
  181.   $r = mysql_query("INSERT INTO users(id,login,name,fam,otch,pol,droj,dr,pass,email,pr_auto,pr_adm) VALUES ('$id_user','$login','$name','$fam','$otch','$pol','$droj','$data','$pass','$email',0,0)",$link) or die ("Error SQL Update: ". mysql_error());
  182.   setcookie("flag_vhoda",$login,time()+72,'/','site.ru');
  183.  }
  184. else
  185.  {
  186.   echo file_get_contents('html/no_reg.html');
  187.  }
  188. mysql_close($link);
  189. ?>
  190.  
  191.  


PHP:
скопировать код в буфер обмена
  1.  
  2.  @$data = $data[mday].'.'.$data[mon].'.'.$data[year]; // дата регистрации
  3.  

Так ещё и на это ругается.

У меня все файлы в utf-8. И формат такой же.
 
 Top
OrmaJever Модератор
Отправлено: 11 Октября, 2013 - 00:06:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Doox911 пишет:
Так ещё и на это ругается.

Ну тут тоже понятно, индексы массивов нужно в кавычки брать, это урок номер ноль.

Doox911 пишет:
mysql_query('SET NAMES utf8');
 
include ('connect.php');

Логичный кусок кода. Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Doox911
Отправлено: 11 Октября, 2013 - 07:15:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




OrmaJever пишет:
Doox911 пишет:
Так ещё и на это ругается.

Ну тут тоже понятно, индексы массивов нужно в кавычки брать, это урок номер ноль.

Doox911 пишет:
mysql_query('SET NAMES utf8');
 
include ('connect.php');

Логичный кусок кода. Растерялся


Это вы про то,что у меня говно код?)

(Отредактировано автором: 11 Октября, 2013 - 07:21:14)

 
 Top
Doox911
Отправлено: 11 Октября, 2013 - 23:18:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Уважаемые форумчане! Хотелось бы предложения решения проблемы. Спасибо.
 
 Top
teddy
Отправлено: 12 Октября, 2013 - 00:53:30
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Doox911
Забудьте вы про эти собачки... ошибки надо исправлять, а не заглушать...

Вот смотрите, что вы делаете: Обращаетесь к базе данных, но соединение устанавливаете уже позже. А теперь вопрос, как скрипт поймет, куда вы обращаетесь? Нужно же сначала коннект передать.

Поэтому и получаете ошибки, на исправление которых в принципе уже намекнул OrmaJever.

Ошибок не нужно бояться, наоборот, они созданы для того, что бы помочь разработчикам понять что идёт не так. Поэтому изучайте свои ошибки, что бы больше их не повторять...
 
 Top
Doox911
Отправлено: 12 Октября, 2013 - 09:07:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




teddy пишет:
Doox911
Забудьте вы про эти собачки... ошибки надо исправлять, а не заглушать...

Вот смотрите, что вы делаете: Обращаетесь к базе данных, но соединение устанавливаете уже позже. А теперь вопрос, как скрипт поймет, куда вы обращаетесь? Нужно же сначала коннект передать.

Поэтому и получаете ошибки, на исправление которых в принципе уже намекнул OrmaJever.

Ошибок не нужно бояться, наоборот, они созданы для того, что бы помочь разработчикам понять что идёт не так. Поэтому изучайте свои ошибки, что бы больше их не повторять...


Ваш ответ великолепен. Особенно второй абзац. Спасибо большое. Я, наверно, немного туповат, намёка не понял. У меня остался один вопрос: После передачи данных формой, я проверяю их наличие следующим:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['login']))
  3.  {
  4.   $login = $_POST['login'];
  5.   if(empty($login))
  6.    {
  7.     unset($login);
  8.     echo file_get_contents('html/no_reg2.html');
  9.     exit;
  10.    }
  11.  }
  12. else
  13.  {}
  14. if(isset($_POST['name']))
  15.  {
  16.   $name = $_POST['name'];
  17.   if(empty($name))
  18.    {
  19.     unset($name);
  20.     echo file_get_contents('html/no_reg2.html');
  21.     exit;
  22.    }
  23.  }
  24. else
  25.  {}
  26. if(isset($_POST['fam']))
  27.  {
  28.   $fam = $_POST['fam'];
  29.   if(empty($fam))
  30.    {
  31.     unset($fam);
  32.     echo file_get_contents('html/no_reg2.html');
  33.     exit;
  34.    }
  35.  }
  36. else
  37.  {}
  38. if(isset($_POST['otch']))
  39.  {
  40.   $otch = $_POST['otch'];
  41.   if(empty($otch))
  42.    {
  43.     unset($otch);
  44.     echo file_get_contents('html/no_reg2.html');
  45.     exit;
  46.    }
  47.  }
  48. else
  49.  {}
  50. if(isset($_POST['pol']))
  51.  {
  52.   $pol = $_POST['pol'];
  53.   if(empty($pol))
  54.    {
  55.     unset($pol);
  56.     echo file_get_contents('html/no_reg2.html');
  57.     exit;
  58.    }
  59.  }
  60. else
  61.  {}
  62. if(isset($_POST['drd']))
  63.  {
  64.   $drd = $_POST['drd'];
  65.   if(empty($drd))
  66.    {
  67.     unset($drd);
  68.     echo file_get_contents('html/no_reg2.html');
  69.     exit;
  70.    }
  71.  }
  72. else
  73.  {}
  74. if(isset($_POST['drm']))
  75.  {
  76.   $drm = $_POST['drm'];
  77.   if(empty($drm))
  78.    {
  79.     unset($drm);
  80.     echo file_get_contents('html/no_reg2.html');
  81.     exit;
  82.    }
  83.  }
  84. else
  85.  {}
  86. if(isset($_POST['dry']))
  87.  {
  88.   $dry = $_POST['dry'];
  89.   if(empty($dry))
  90.    {
  91.     unset($dry);
  92.     echo file_get_contents('html/no_reg2.html');
  93.     exit;
  94.    }
  95.  }
  96. else
  97.  {}
  98. if(isset($_POST['email']))
  99.  {
  100.   $email = $_POST['email'];
  101.   if(empty($email))
  102.    {
  103.     unset($email);
  104.     echo file_get_contents('html/no_reg2.html');
  105.     exit;
  106.    }
  107.  }
  108. else
  109.  {}
  110. if(isset($_POST['pass']))
  111.  {
  112.   $pass = $_POST['pass'];
  113.   if(empty($pass))
  114.    {
  115.     unset($pass);
  116.     echo file_get_contents('html/no_reg2.html');
  117.     exit;
  118.    }
  119.  }
  120. else
  121.  {}
  122.  

После закрытия а потом открытия браузера теряются данные с <inpyt type="text">. А вот проверка на пустоту проходит. Как? И в результате в бд помещается пустая запись.

(Отредактировано автором: 12 Октября, 2013 - 09:08:42)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB