PHP.SU

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


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

> Описание: Проект пишется с нуля так как только сам изучаю PHP строго не судить
Реджет
Отправлено: 14 Июля, 2015 - 19:13:51
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




Строго не судить и не нужно тролить, а помочь с ошибками в коде и советами в написании кода. Здесь буду.
Skype- redzhet[color=blue][/color]
Писать наработки, но а также и другие участники будут видеть примеры написания сайта.
Создаем подключение к БД
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. <?PHP
  4.  $domain='http://домен/';
  5.  $db_name = 'baza';
  6.  $db_user = 'root';
  7.  $db_pass = 'пароль';
  8.  $db_loc = 'localhost';
  9.  ?>
  10.  

Проверка подключения
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  // Выполняем все команды файла config.php
  4.  include ('config.php');
  5.  // Пытаемся соединиться с сервером базы данных MySQL
  6.  $db = @mysql_connect($db_loc,$db_user,$db_pass);
  7.  
  8.  //Проверяем, удачно ли прошло подключение
  9.  if(!$db)
  10.  {
  11.  echo( '<center--><p><b>Невозможно подключиться к серверу базы данных !</b></p>');
  12.  exit();
  13.  }
  14.  
  15.  //Проверяем доступность нужной БД
  16.  if(!@mysql_select_db($db_name,$db))
  17.  {
  18.  echo( '<center><p><b>База данных '.$db_name.' недоступна!</b></p></center>');
  19.  exit();
  20.  }
  21.  //Вывод сообщения об удачном выполнении подключения
  22.  //Строку, расположенную ниже, после отладки удалить
  23.  echo( '<center><p><b>Подключение к базе данных '.$db_name.' выполнено.</b></p></center>');
  24.  ?>
  25.  
  26.  

В проекте все данные будут браться со стороннего сервиса
Это как авториация и данные пользователя
Поэтому структура моей БД будет такая это начало конечно потом будет дополнена новыми данными
Скрины
Спойлер (Отобразить)

Прикреплено изображение (Нажмите для увеличения)
Screenshot_2.png

(Отредактировано автором: 14 Июля, 2015 - 19:46:42)

 
 Top
LIME
Отправлено: 14 Июля, 2015 - 19:42:46
Post Id



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


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


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




Реджет это что было?
где вопрос?
куча косяков сразу бросается в глаза
в чем цель темы?
(Добавление)
Реджет не сочти за троллинг но код ужасен
начнем с того что используешь деприкатед драйвер
могу продолжить ежели чего


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Реджет
Отправлено: 14 Июля, 2015 - 19:49:10
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




Вот скрипт авторизации как сделать запись в бд полученных данных?
PHP:
скопировать код в буфер обмена
  1. <?
  2. define('URL','http://example.com/WGDPPAuth.php');//адрес по которому доступен данный скрипт
  3. define('APPLICATION_ID','demo');//application_id приложения
  4. if(empty($_GET['status'])){//генерируем ссылку и перенаправяем пользователя
  5.     $context = stream_context_create(
  6.         array('http' =>
  7.             array(
  8.                 'method'  => 'POST',
  9.                 'header'  => 'Content-type: application/x-www-form-urlencoded',
  10.                 'content' => http_build_query(
  11.                     array(
  12.                         'nofollow' => 1,
  13.                         'expires_at' => 300,
  14.                         'redirect_uri' => URL,
  15.                         'application_id' => APPLICATION_ID
  16.                     )
  17.                 )
  18.             )
  19.         )
  20.     );
  21.     $data=json_decode(@file_get_contents('https://api.worldoftanks.ru/wot/auth/login/', false, $context),true);
  22.     if($data['status']=='ok'){
  23.         header ('Location: '.$data['data']['location']);
  24.         exit();
  25.     }else{
  26.         exit('Не удалось получить ссылку для перенаправления.');
  27.     }
  28. }elseif(isset($_GET['status']) && isset($_GET['access_token']) && isset($_GET['nickname']) && isset($_GET['account_id']) && isset($_GET['expires_at'])){//если пользователь попал на страницу с параметрами, которые устанавливает метод auth/login
  29.     if($_GET['status']!="ok"){
  30.         $error_code=500;
  31.         if(preg_match('/^[0-9]+$/u', $_GET['code'])){
  32.             $error_code=$_GET['code'];
  33.         }
  34.         exit("Ошибка авторизации. Код ошибки: $error_code");
  35.     }elseif($_GET[expires_at]<time()){
  36.         exit("Ошибка авторизации. Срок действия access_token истек.");
  37.     }else{
  38.         $context = stream_context_create(
  39.             array('http' =>
  40.                 array(
  41.                     'method'  => 'POST',
  42.                     'header'  => 'Content-type: application/x-www-form-urlencoded',
  43.                     'content' => http_build_query(
  44.                         array(
  45.                             'expires_at' => 14*24*60*60,
  46.                             'access_token' => $_GET['access_token'],
  47.                             'application_id' => APPLICATION_ID
  48.                         )
  49.                     )
  50.                 )
  51.             )
  52.         );
  53.         $data=json_decode(@file_get_contents('https://api.worldoftanks.ru/wot/auth/prolongate/', false, $context),true);//подтверждаем правдивость полученных параметров
  54.         if($data['status']=="ok"){
  55.             $access_token=$data[data][access_token];
  56.             $expires_at=$data[data][expires_at];
  57.             $account_id=$data[data][account_id];
  58.             //здесь вам нужно установить пользователю куки, записать его токен в БД, сделать все то, что сочтете нужным.
  59.             exit('Это пользователь с id <b>'.$account_id.'</b><br />Токен <b>'.$access_token.'</b>, он подтвержден и действует до <b>'.date("d.m.Y H:i:s",$expires_at).'</b>');
  60.         }else{
  61.             exit('access_token не подтвержден');
  62.         }
  63.     }
  64. }else{
  65.     $error_code=500;
  66.     if(preg_match('/^[0-9]+$/u', $_GET['code'])){
  67.         $error_code=$_GET['code'];
  68.     }[code=htmlphp][/code]
  69.     exit("Произошла ошибка. Код ошибки: $error_code");
  70. }
  71. ?>
 
 Top
LIME
Отправлено: 14 Июля, 2015 - 19:51:42
Post Id



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


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


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




ну почему бы и не продолжить
апдейтед и креэйтед лучше выделить в отдельную таблицу чтоб не ломать кэш бд
вертикальное партицирование или вертикальное разделение...погугли
идем далее
токен
почему варчар?
наверняка у него конкретная длина
значит лучше чар
чтоб были статические данные
гораздо быстрее работает чем варчар
и хранится в кластерном ключе...снова шлю в гугл
почему рэйтинг 255? ты что думаешь что для чисел это размер? спешу удивить это всеголишь размер поля для отображения в консоли
инт будет инт в любом случае
если хочешь ускорить то задавай тиниинт
тебе хватит пока? могу еще наковырять косяков
(Добавление)
не обижайся но прикольно видеть... таких мега прогеров))
без обид))


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Реджет
Отправлено: 14 Июля, 2015 - 19:53:54
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




есть скайп?я пишу не CMS а сервер с нуля вот возникают вопросы что где лучше сделать смотрю разные примеры скриптов и тестирую
структура проекта будет такой нужна будет инфа по игрокам чтобы игкор заходил на сайт и видел свои игровые данные )))Но это только начало
(Добавление)
LIME пишет:
ну почему бы и не продолжить
апдейтед и креэйтед лучше выделить в отдельную таблицу чтоб не ломать кэш бд
вертикальное партицирование или вертикальное разделение...погугли
идем далее
токен
почему варчар?
наверняка у него конкретная длина
значит лучше чар
чтоб были статические данные
гораздо быстрее работает чем варчар
и хранится в кластерном ключе...снова шлю в гугл
почему рэйтинг 255? ты что думаешь что для чисел это размер? спешу удивить это всеголишь размер поля для отображения в консоли
инт будет инт в любом случае
если хочешь ускорить то задавай тиниинт
тебе хватит пока? могу еще наковырять косяков
(Добавление)
не обижайся но прикольно видеть... таких мега прогеров))
без обид))

а че обжаться ты что родился таким супер прогером?Небось сам голову ломал что к чему и тебе говорили косяки в твоем коде?)))Без обид))))
 
 Top
LIME
Отправлено: 14 Июля, 2015 - 19:56:01
Post Id



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


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


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




зачем тебе мой скайп?
пиши сюда
и готовься получать люлей
может еще кто что подскажет)))))
скайп и помощь за 100$ в месяц из расчета 8 часов в месяц))
давать?))
(Добавление)
Реджет пишет:
Небось сам голову ломал что к чему и тебе говорили косяки в твоем коде?
было дело
не буду спорить))
(Добавление)
модеры перенесите тему в вопросы новичков
(Добавление)
Реджет а где спасибо?
я епрст мудростью делюсь накопленной годами
а никто в ножки не кланяется)))


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Реджет
Отправлено: 14 Июля, 2015 - 20:01:31
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




Thanky wery match)))))
 
 Top
LIME
Отправлено: 14 Июля, 2015 - 20:02:33
Post Id



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


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


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




Реджет собак не должно быть
есть иногда случаи когда можно
но для начала прими за правило никаких собак
ты случайно не по попову учил пых?


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Реджет
Отправлено: 14 Июля, 2015 - 20:03:03
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




вот демка скрипта http://project357[dot]hol[dot]es/WGDPPAuth.php
 
 Top
LIME
Отправлено: 14 Июля, 2015 - 20:03:39
Post Id



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


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


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




Реджет парень с юмором а значит есть есть моск
то что ты показал это ужасно
трудись дальше
(Добавление)
не буду я даже смотреть эту демку
нервные клетки не восстанавливаются
увольте
читайте хорошие книжки и никаких блогов и уроков в ютюбе
(Добавление)
Реджет вообще код не плох
я бы тебя взял на работу
(Добавление)
не в смысле что отдал бы тебе проект
неее)))
но видно что что думаешь...молодец
(Добавление)
Реджет пишет:
exit("Произошла ошибка. Код ошибки: $error_code");
освой ексепшены
(Добавление)
нельзя екзиты и дай
это смерть для тестеров
только ексепшны


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Реджет
Отправлено: 14 Июля, 2015 - 20:24:02
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2015  


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




Реджет пишет:
вот демка скрипта http://project357[dot]hol[dot]es/WGDPPAuth.php

Костеров и Котов 2е издание
 
 Top
LIME
Отправлено: 14 Июля, 2015 - 20:44:13
Post Id



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


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


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




Реджет во первых не Костеров а Котеров
известный труд
одобрямс
потому мне и понравился код чтоли?))) не важно...код в книжке помогает усвоить тему но никак не служит примером практического кода
надо понимать
это раз
а на два..ты привел код из книжки с вопросом как это будет работать????
ты не ох...л ли?
и три...я эту книжку сам прочел давно...там нет ни единого примера твоей говноструктуры базы
сорь за прямой текст
короче дело ясное...решил на форуме засветится?...лови люлей тогда)) выше были люля...могу еще накидать если мало
короче фу


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Наработки по собственным проектам »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB