- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Второй день бодаюсь с выводом меню из базы вот подошел к заключительному этапу..
Значит так, пункты меню выводятся, специальный класс для активного пункта меню тоже присваивается, НО не выводится никакая информация а именно - текст, заголовок, ключевые слова дескрипшион, попытался сделать чтобы пункт меню - ГЛАВНАЯ - по умолчанию выводил информацию если не кликать на этот пункт (то есть перешли не по ссылке с передаваемым параметром id через браузерную строку), так вообще теперь выскакивает ошибка такого простого рода:
Parse error: syntax error, unexpected '{' in /var/www/u0938907/data/www/prostodub.ru/index.php on line 4
вот этот код страницы index.php:
<?php
include ("db_connect.php");
if (!isset($_GET['id'])
{
echo '$result = mysql_query ("SELECT * FROM top_menu WHERE id=\'1\'",$db)';
}
else
{
echo '$result = mysql_query ("SELECT * FROM top_menu WHERE id=\'$id\'",$db)';
}
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="title" content="<?php $myrow["title"];?>" />
<meta name="keywords" content="<?php $myrow["meta_k"];?>" />
<meta name="description" content="<?php $myrow["meta_d"];?>" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>
вот код вывода меню:
<?php
$result = mysql_query ("SELECT * FROM top_menu",$db);
if (!isset($id)){$id=1;}
while ($myrow = mysql_fetch_array ($result))
{
if ($id==$myrow['page'])
{
$c = " class='focus'";
}
else
{
$c = null;
}
echo "<td".$c."><a href='wiev_top_menu.php?id=".$myrow['id']."'>".$myrow['title']."</a></td>";
}
?>
а вот код страницы которая отвечает за вывод информации по пунктам меню по id:
<?php
include ("db_connect.php");
if (isset($_GET['id'])){$id = $_GET['id'];}
$result = mysql_query ("SELECT * FROM top_menu WHERE id='$id'",$db);
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="title" content="<?php $myrow["title"];?>" />
<meta name="keywords" content="<?php $myrow["meta_k"];?>" />
<meta name="description" content="<?php $myrow["meta_d"];?>" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>
<body>
<div id="wrapper">
<div id="header">
<table width="1010px" height="393px" cellpadding="0" cellspacing="0">
<tr>
<td class="head"></td>
</tr>
<tr>
<td class="top">
<table class="top_menu" cellpadding="0" cellspacing="0">
<tr>
<?php
include ("top_menu.php");?>
</tr>
</table>
</td>
</tr>
</table>
</div><!-- #header-->
<div id="middle">
<div id="container">
<div id="content">
<?php $myrow["text"];?>
</div><!-- #content-->
</div><!-- #container-->
<?php include ("sidebar.php");?>
</div><!-- #middle-->
<?php include ("footer.php");?>
</div><!-- #wrapper -->
</body>
</html>
if (!isset($_GET['id'])
вторая скобка закрывающаяся где?
А вообще код дырявый очень.
1. Отключите register_globals
2. Используйте $id = intval($_GET['id']);
доставил скобку пропущенную (как я её не увидел???) создал .htaccess и в нем прописал php_flag register_globals off, а потом поменял в нужном месте на $id = intval($_GET['id']);
Итог сайт появился но поплыл, вывелся кусок php кода в верху сайта
вот ссылка на сайт prostodub.ru
Я вижу Вы уже не в первый раз пишите на форум вопрос. :)
Мой вам добрый совет - если хотите изучать PHP программирование, то результаты своих экспериментов не выкладывайте в продакшен. Если хотите сайт для себя/уже взяли обязательства перед другими - возьмите и сделайте сайт на CMS. Так будет проще и быстрее.
prog_monster добавил 01.09.2010 в 13:30
По поводу строчки и ошибки, напишите так
$result = mysql_query ("SELECT * FROM top_menu WHERE id='1'",$db);
вместо
echo '$result = mysql_query ("SELECT * FROM top_menu WHERE id=\'1\'",$db)';
я уже 2 года что и делаю что только сайты на cms, честное слово надоело, хочу научится делать сайты с нуля на php со своей админкой, тут не так давно посмотрел Попова, и решил сделать свой первый сайт с нуля своему знакомому за так, только вот на практике что то очень туго идет, камни всплывают так где и не ожидаешь, помогите пожалуйста ко может, очень буду Вам благодарен...
cleric-88 добавил 01.09.2010 в 13:37
спасибо исправил, стало намного лучше но информация из базы не подставляется никуда почемуто...
что делать то с этим?
Если уж очень хочется сделать свой фарш сайт на своем движке, то хотя бы отделите логику выбора от скриптов.
Для этого следующим образом, в .htaccess пропишите:
RewriteEngine on
RewriteCond $1 !^(index.php|i|js|css|gallery|swf|robots.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Таким образом Вы будете пересылать всё запросы в скрипт index.php (кроме запросов к соответствующим папкам i, css, js, gallery, robots.txt)
В самом index.php Напишите примерно следующее:
А вообще лучше начните с изучения синтаксиса языка, его основ.
Для этого следующим образом, в .htaccess пропишите:
RewriteEngine on
RewriteCond $1 !^(index.php|i|js|css|gallery|swf|robots.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
В таком случае, лучше
Таким образом Вы будете пересылать всё запросы в скрипт index.php (кроме запросов, если обращение идет к существующей папке или файлу)
В таком случае, лучше
Таким образом Вы будете пересылать всё запросы в скрипт index.php (кроме запросов, если обращение идет к существующей папке или файлу)
Всё верно, я предпочитаю назначать правила сам 🚬
Вы конечно меня извините, но мне не совсем понятна на кой это делать надо и что там в этих кусках кода которые Вы мне выложили делается, а самое главное решится ли с помощью этого моя проблема по поводу вывода данных из базы которые в данный момент выводится упорно не хотят?
Вы конечно меня извините, но мне не совсем понятна на кой это делать надо и что там в этих кусках кода которые Вы мне выложили делается, а самое главное решится ли с помощью этого моя проблема по поводу вывода данных из базы которые в данный момент выводится упорно не хотят?
Так решится намного более глубокая проблема. 🙅
Скинь пожалуйста полностью код index.php и я постараюсь помочь с твоим конкретным вопросом.
index.php
<?php
include ("db_connect.php");
if (!isset($_GET['id']))
{
$result = mysql_query ("SELECT * FROM top_menu WHERE id='1'",$db);
}
else
{
$result = mysql_query ("SELECT * FROM top_menu WHERE id='$id'",$db);
}
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="title" content="<?php $myrow["title"];?>" />
<meta name="keywords" content="<?php $myrow["meta_k"];?>" />
<meta name="description" content="<?php $myrow["meta_d"];?>" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>
<body>
<div id="wrapper">
<div id="header">
<table width="1010px" height="393px" cellpadding="0" cellspacing="0">
<tr>
<td class="head"></td>
</tr>
<tr>
<td class="top">
<table class="top_menu" cellpadding="0" cellspacing="0">
<tr>
<?php
include ("top_menu.php");?>
</tr>
</table>
</td>
</tr>
</table>
</div><!-- #header-->
<div id="middle">
<div id="container">
<div id="content">
<?php $myrow["text"];?>
</div><!-- #content-->
</div><!-- #container-->
<?php include ("sidebar.php");?>
</div><!-- #middle-->
<?php include ("footer.php");?>
</div><!-- #wrapper -->
</body>
</html>
cleric-88 добавил 01.09.2010 в 14:24
wiev_top_menu.php
<?php
include ("db_connect.php");
if (isset($_GET['id'])){$id = intval($_GET['id']);}
$result = mysql_query ("SELECT * FROM top_menu WHERE id='$id'",$db);
$myrow = mysql_fetch_array ($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="title" content="<?php $myrow["title"];?>" />
<meta name="keywords" content="<?php $myrow["meta_k"];?>" />
<meta name="description" content="<?php $myrow["meta_d"];?>" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>
<body>
<div id="wrapper">
<div id="header">
<table width="1010px" height="393px" cellpadding="0" cellspacing="0">
<tr>
<td class="head"></td>
</tr>
<tr>
<td class="top">
<table class="top_menu" cellpadding="0" cellspacing="0">
<tr>
<?php
include ("top_menu.php");?>
</tr>
</table>
</td>
</tr>
</table>
</div><!-- #header-->
<div id="middle">
<div id="container">
<div id="content">
<?php $myrow["text"];?>
</div><!-- #content-->
</div><!-- #container-->
<?php include ("sidebar.php");?>
</div><!-- #middle-->
<?php include ("footer.php");?>
</div><!-- #wrapper -->
</body>
</html>