MIDlet Pascal
Поиск по сайту
Форма входа

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Яндекс.Метрика

Друзья сайта
IT юмор - развлечения
Заработать в интернете - легко!Просто сиди и кликай.
Понедельник, 28.05.2018, 04.12.38
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход
Урок №24.3 - PHP скрипты - Крестики-нолики

Доброго времени суток!
Сегодня я опишупроцесс создания скриптов PHP на сервере.
Язык программирования PHP похож на С/С++.
Я введу только в самие азы.
Например есть такой скрипт:

<?php //начало скрипта
  echo "Hello, world!"; //выводим текст
?> //конец скрипта
Покажет:Hello, world!

Коментарии ожно обозначать вот так "//коментарий" однострочные или так "/* коментраий */" многострочные
echo - выводит текст ли переменную
Переменные в php можно объявить в любой части скрипта и начинаеться название перемнной на $ например

<?php
  $text="Hello, World!"; //объявляем переменную
  echo $text; //выводим содержимое
?>
Покажет:Hello, world!

Как Вы могли заметить я не указал тип переменной, РНР всегда использует переменн в том типе который ему нужен, например:

<?php
  $test="25"; //вроде как строка
  $test=$test+10; //Используем ее в математическом примере
  echo $test; //выводим как строку
?>
Покажет:15

Как Вы могли убедиться РНР меняет переменную под той или иной тип который ей нужен для выполнения операции указаной прогрммистом.
Теперь про метод получения данных GET.
Например если мы напишем такой скрипт

<?php
  $name=$_GET['name'];
  echo "Hello, ".$name."!";
?>
При запросе "index.php?name=Misha" покажет:Hello, Misha!

Как видите мы в ссылке можем передать данные скрипту.Если мы хочем получить несколько данных то их нужно разделять знаком амперсанда "&".
Например:index.php?login=kaban&pass=123456, в таком случае мы можем сразу прочитать два значения $_GET['login'] и $_GET['pass'].
Теперь по строке echo "Hello, ".$name."!";
Эквивалент строки в MIDlet Pascal DrawText('Hello, '+name+'!', 0, 0); думаю так понятнее :)

Это Азы!Теперь сами скрипты:

ctable.php - скрипт создает стол
<?php
  $name=$_GET['name']; //получаем имя игрока создаваемого стол
  $date=time(); //получаем текущее UNIX время
 
  mysql_connect("127.0.0.1", "root", "123456"); //подключаемся к MySQL
  mysql_select_db("my"); //подключаемся к БД
 
  mysql_query("INSERT INTO `my`.`tictactoe` (`name1`, `name2`, `table`, `date`) VALUES ('$name', '', '0000000001', '$date')"); //создадим стол
 
  $res=mysql_result(mysql_query("SELECT * FROM `my`.`tictactoe` WHERE `name1`='$name' AND `date`='$date'"), 0); //получем ID стола
 
  echo $res; //выводим
?>

о числе 0000000001, его можно расшифровать как пустое поле (9 - клеток) и ход игрока №1 (10-ый символ)
в mysql_connect("127.0.0.1", "root", "123456"); - вместо 127.0.0.1 адрес сервера БД, вместо "root" - логин от БД, "123456" пароль
Если вы регистрировали на 000webhost тогда узнать это просто:
Входим в CPanel ищем MySQL там находим нужную нам БД и смотрим

в mysql_select_db("my"); - "my" - Имя БД

rtable.php - с помощью данного скрипты мы получем ID свободного стола
<?php
  $date=time(); //Получем текущее время UNIX
 
  mysql_connect("127.0.0.1", "root", "123456"); //подключаемся
  mysql_select_db("my");
 
  $norm=$date-60; //Отнимаем 60 секунд, для того чтобы ограничить время(если сервер в простое больше 60с, тогда он уже не активен)
  $res=mysql_query("SELECT * FROM `my`.`tictactoe` WHERE `date`>$norm AND `name2`='' LIMIT 1");
  while ($row=mysql_fetch_assoc($res)) {
    echo $row['id']; //выводим ID
  }
?>

connect.php - с помощью этого скрипта подключаемся к столу
<?php
  $name=$_GET['name']; //получаем имя
  $id=$_GET['id']; //ID стола
 
  mysql_connect("127.0.0.1", "root", "123456"); //Подключаемся
  mysql_select_db("my");
 
  mysql_query("UPDATE `my`.`tictactoe` SET `name2`='$name' WHERE `id`='$id'"); //меняем name2 на наше
  $res=mysql_query("SELECT * FROM `my`.`tictactoe` WHERE `id`=$id"); //получаем имя противника при подключении
  while ($row=mysql_fetch_assoc($res)) {
    echo $row['name1'];
  }
?>

wait.php - скрипт ожидающий что кто нить подключиться
<?php
  $id=$_GET['id']; //ID стола

  mysql_connect("127.0.0.1", "root", "123456"); //Подключаемся
  mysql_select_db("my");
 
  $res=mysql_query("SELECT * FROM `my`.`tictactoe` WHERE `id`=$id");
  while ($row=mysql_fetch_assoc($res)) {
    if ($row['name2']=='') { //Если никого нет, тогда посылаем NOT
      echo 'NOT';
    } else {
      echo $row['name2']; //Иначе полчем имя опонента
    }
  }
?>

vtable.php - скрипт для получения состояния стола
<?php
  $id=$_GET['id']; //ID стола
 
  mysql_connect("127.0.0.1", "root", "123456); //подключаемся
  mysql_select_db("my");

  $res=mysql_query("SELECT * FROM `my`.`tictactoe` WHERE `id`='$id'");
  while ($row=mysql_fetch_assoc($res)) {
    echo $row['table'].' '; //получаем состояние стола
  }
?>

etable.php - скрипт изменяющий состояние стола
<?php
  $id=$_GET['id']; //ID стола
  $table=$_GET['table']; //Сновое состояние стола
 
  mysql_connect("127.0.0.1", "root", "123456"); //Подключаемся
  mysql_select_db("my");
 
  mysql_query("UPDATE `my`.`tictactoe` SET `table`='$table' WHERE `id`='$id'"); //обновляем стол

  echo 'OK'; //выводим ок
?>

Ну вот и все с серверной частью, в следующем уроке делаем сам клиент на MIDlet Pascal.

Если вы нашли ошибки/очепятки в тексте то сообщите о них на форуме
А также можете заказать программу/игру на этой странице

www.parkflyer.ru - радиоуправляемые модели, радиоуправляемые модели самолетов, магазин радиоуправляемых моделей
Роспись стен, скульптуры на заказ
Wladymyr © 2012-2018
Создать бесплатный сайт с uCoz