Переход на анкор с другой страницы
-
Similar Content
-
By SuperSaimon
Добрый день! Я начал изучать этот бандл. И столкнулся с непониманием логики заполнения статических страниц на сайте (информация на которых не меняется: "о нас", "контакты" и т.д.). Возникло сразу несколько вопросов: 1. Нужно ли создавать сущности для записи в бд данных с этих страниц? Если с другим контентом на сайте я понимаю что надо писать в бд(товары, категории и т.д.) , то тут я в замешательстве. 2. Если на странице имеется описание чего - либо со списком, то как это записать в бд и потом отобразить в твиге? Зарание спасибо и извиняюсь за глупый вопросы, если что.
-
By Super_Saimon
Добрый день! Есть задание - игра в города. Нужно из бд взять перечень городов и в момент ответа компьютера или игрока сравнивать города из списка, взятого из базы. Все, вроде, понятно, но столкнулся с проблемой, что некорректно удаляются города из массива, в котором хранится список городов из базы. Я использую этот массив чтобы знать когда игра закончилась и не повторялись города в ответах. Собственно, сам код без файла с подключением в бд. Там проблем я не обнаружил, массив городов функция возвращает корректный. Но удаление уже выбранных городов - проблема, которую никак не могу решить, вернее, понять в чем суть самой проблемы. Извиняюсь что выкладываю код в таком виде, не нашел аналога jsfiddle для php
session_start();
if(!empty($_GET['restart'])) {
unset($_SESSION['cities']);
unset($_SESSION['answer']);
unset($_SESSION['incorrect_city']);
unset($_SESSION['game_over']);
header('Location: ./form.php');
exit;
}
define('HOST', 'localhost');
define('USER', 'root');
define('PASSWORD', '');
define('DATABASE', 'gamecity');
$connect = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
function getCityFromDB($dbconfig) {
$listOfCities = "SELECT * FROM city ORDER BY city_id ASC";
$query = mysqli_query($dbconfig, $listOfCities);
while($res[] = mysqli_fetch_assoc($query)) {
$cities = $res;
}
foreach($cities as $key => $val) {
foreach($val as $key2 => $val2) {
if($key2 == 'city_name') {
$city[] = $val2;
}
}
}
return $city;
}
if (empty($_SESSION['cities'])) {
$_SESSION['cities'] = getCityFromDB($connect);
}
if(!empty($_POST['send'])) {
if (findCity($_POST['city'], $_SESSION['cities'])) {
if (empty($_SESSION['answer'])) {
$_SESSION['answer'] = firstStep($_POST['city'], $_SESSION['cities']);
$temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
}else {
$answer = answer($_POST['city'], $_SESSION['answer'], $_SESSION['cities']);
if($answer) {
$_SESSION['answer'] = $answer;
$temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
}else {
$_SESSION['game_over'] = 2;
}
}
if(!$temp){
$_SESSION['game_over'] = 1;
}else {
$_SESSION['cities'] = $temp;
}
}else {
$_SESSION['incorrect_city'] = 'Некорректный город';
}
header('Location: /form.php');
exit;
}
function firstStep($userCity, $arrayOfCities) {
$temp = '';
if(!empty($userCity)) {
foreach ($arrayOfCities as $key => $val) {
if(mb_strtoupper(mb_substr($userCity, -1, 1, 'utf-8')) == mb_substr($val, 0, 1, 'utf-8')) {
$temp .= $userCity . ',' . $val;
return $temp;
}
}
}
return false;
}
function findCity ($city, $listCities) {
foreach($listCities as $key => $val) {
if($val == $city) {
return true;
}
}
return false;
}
function answer($city, $answer, $arrayOfCities) {
if(mb_substr($city, 0, 1, 'utf-8' ) == mb_strtoupper(mb_substr($answer, -1, 1, 'utf-8'))) {
$char = mb_strtoupper(mb_substr($city, -1, 1, 'utf-8'));
foreach($arrayOfCities as $key => $val) {
$temp = mb_strpos($val, $char, 0,'utf-8');
if ($temp !== false) {
$answer .= ',' . $city . ',' . $val;
break;
}
}
return $answer;
}
return false;
}
function deleteCity($town, $cities) {
if (count($cities) > 0) {
$town = explode(',', $town);
$cities = array_values($cities);
for($i = 0; $i < count($town); $i++) {
for($j = 0; $j < count($cities); $j++) {
if($town[$i] == $cities[$j]) {
unset($cities[$j]);
}
}
}
return $cities;
}
return false;
}
-
By kuzia007
Пример сайта по разработке reactiq точка net
Цена на разработку 70 000 рублей. Без дизайна и верстки, от вас нам нужен функционал
на фреймворке Lavarel
Нужно постараться уложиться в 20 дней по срокам.
Работа по Сделке без риска. B и больше ни как.
Основные моменты работы сайта:
авторизация сайта через стим
считывания апи через официальный сайт pubg
Трейдов скинов и все остальное не будет!
подключить систему оплат
создание личного кабинета для пользователя.
Есть полное ТЗ проекта, которое мы готовы упрощать на первом этапе.
Готовы достойно оплачивать ваш труд!
Пишите в телеграм @evgensalyah
-
-
Member Statistics
-
Recently Browsing 0 members
No registered users viewing this page.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.