[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не работает функция (описание внутри)
sharki
Всем привет, создал функцию

<?php


// функция запроса контента страницы $page
function cont_page ($page) {

// Приклепляем config
include('config.php');

// соединяемся с БД
$db = mysql_connect($hostname, $db_user, $db_pass);
if (!$db) { // если ошибка
echo 'Не удалось соединится с БД'.mysql_error();
}
else { // выбираем БД
mysql_select_db($db_name);
}

// устанавливаем запрос к БД
$query = "SELECT * FROM fru_pages WHERE page='$page'";
// Вытаскиваем из БД результат
$result = mysql_query($query);
// Создаем массив из выбранных элементов БД
$row = mysql_fetch_array($result);
// возвращаем массивы в функцию
return $row['title'];
}
?>


при её вызове на странице возникают множество ошибок, делаю я вот так





<?php
include('/fn/all_fn.php');
cont_page('index');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?
echo $row['title']; ?></title>
<meta
name="title" content="" />
<meta
name="keywords" content="" />
<meta
name="description" content="" />
<link
rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>

<body>



по моему я сильно замудрил, но всё же что не так?)



Спустя 10 минут, 51 секунда (27.10.2010 - 14:43) Basili4 написал(а):
может короткие теги запрещены
замени <? echo $row['title' это на <?php echo $row['title'

Спустя 1 минута, 5 секунд (27.10.2010 - 14:44) sharki написал(а):
Не в них дело) только что попробовал.

Спустя 2 минуты, 26 секунд (27.10.2010 - 14:47) Basili4 написал(а):
sharki
что за ошибки выдает ?

Спустя 33 секунды (27.10.2010 - 14:47) sharki написал(а):
Всё, разобрался)

Функция делает возврат return $row['title'];
а я вызвал этот массив просто так, а функцию отдельно от всего.
при вызове функции я создал переменную $title = cont_page(index);
а потом на странице вызвал её <title><?php echo $name ?></title>


Спустя 8 минут, 46 секунд (27.10.2010 - 14:56) Paha4 написал(а):
Учись писать правильно с детства, код не проверял может где ошипка
<?php 
function
cont_page ($page = 'index')
{
include 'config.php';
if (!$link = mysql_connect($hostname, $db_user, $db_pass))
throw new Exception ('Не удалось соединится с сервером БД :' . mysql_error());
if (!mysql_select_db($db_name,$link))
throw new Exception ('Не удалось выбрать БД : ' . mysql_error());
if (!$result = mysql_query("SELECT * FROM `fru_pages` WHERE `page` = '" . $page . "'"))
throw new Exception ('Запрос в говно : ' . mysql_error());
else
{
$row = mysql_fetch_assoc($result);
return $row;
}
?>



<?php
include '/fn/all_fn.php';
$row = cont_page('index');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?
echo $row['title']; ?></title>
<meta
name="title" content="" />
<meta
name="keywords" content="" />
<meta
name="description" content="" />
<link
rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>

<body>

Спустя 4 минуты, 35 секунд (27.10.2010 - 15:01) sharki написал(а):
во, а я тут уже немного переделал только не так как ты а как всегда через жопу, получив массив я опять загнал его в массив biggrin.gif
С практикой всё прийдет))
$row = mysql_fetch_array($result);
// создаем массив
$data_page = array(
$title=>$row['title'],
$meta_d=>$row['meta_d'],
$meta_k=>$row['meta_k'],
$text=>$row['text']
);

// возвращаем массивы в функцию
return $data_page;

Спустя 3 минуты, 28 секунд (27.10.2010 - 15:04) linker написал(а):
Paha4, аналогично
<?php 
include 'config.php';
if (!$link = mysql_connect($hostname, $db_user, $db_pass))
die('Не удалось соединится с сервером БД :' . mysql_error());
if (!mysql_select_db($db_name,$link))
die('Не удалось выбрать БД : ' . mysql_error());
function cont_page ($page = 'index')
{
if (!$result = mysql_query("SELECT `title` FROM `fru_pages` WHERE `page` = '" . $page . "'"))
die('Запрос в говно : ' . mysql_error());
return ($row = mysql_fetch_assoc($result)) ? $row['title'] : '';
}
?>
<?php 
include '/fn/all_fn.php';
$title = cont_page('index');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="content-type" content="text/html; charset=utf-8" />
<
title><?php echo $title; ?></title>
<
meta name="title" content="" />
<
meta name="keywords" content="" />
<
meta name="description" content="" />
<
link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</
head>

<
body>

Спустя 3 минуты, 33 секунды (27.10.2010 - 15:08) Paha4 написал(а):
linker я вообще то переправлял его код а не новый писал в отличии от вас smile.gif А вот мне интересно стало. linker почему вы не используете исключения?

Спустя 57 секунд (27.10.2010 - 15:09) Basili4 написал(а):
По большому счеты вы оба говните.

1. Подключение к базе надо в отельную функцию/метод
2. Инклуды инклудить надо 1 раз и в самом начале ибо дисковые операции.


Спустя 1 минута, 45 секунд (27.10.2010 - 15:10) Paha4 написал(а):
Basili4 не умничай, как хотим так и говним. Завидно как мы это делаем, найди способ по криативнее говнить. smile.gif

Спустя 51 секунда (27.10.2010 - 15:11) linker написал(а):
Basili4
Да оно понятно, что надо так
<?php 
include 'config.php';
include '/fn/all_fn.php';

if (!$link = mysql_connect($hostname, $db_user, $db_pass))
die('Не удалось соединится с сервером БД :' . mysql_error());
if (!mysql_select_db($db_name,$link))
die('Не удалось выбрать БД : ' . mysql_error());
$title = cont_page('index');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="content-type" content="text/html; charset=utf-8" />
<
title><?php echo $title; ?></title>
<
meta name="title" content="" />
<
meta name="keywords" content="" />
<
meta name="description" content="" />
<
link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</
head>

<
body>
<?php 
function
cont_page ($page = 'index')
{
if (!$result = mysql_query("SELECT `title` FROM `fru_pages` WHERE `page` = '" . $page . "'"))
die('Запрос в говно : ' . mysql_error());
return ($row = mysql_fetch_assoc($result)) ? $row['title'] : '';
}
?>

Paha4
А нафига они нужны там, где без них и так можно замечательно обойтись.

Спустя 48 секунд (27.10.2010 - 15:12) Paha4 написал(а):
linker а я бы еще разделил логику и представление laugh.gif

Спустя 3 минуты, 17 секунд (27.10.2010 - 15:15) Basili4 написал(а):
Paha4
ну так ........ что остановило ?

Спустя 2 минуты, 40 секунд (27.10.2010 - 15:18) Paha4 написал(а):
Цитата (Basili4 @ 27.10.2010 - 12:15)
ну так ........ что остановило ?
вы про что Вася?

Спустя 42 секунды (27.10.2010 - 15:19) Basili4 написал(а):
Цитата (Paha4 @ 27.10.2010 - 16:12)
linker а я бы еще разделил логику и представление

про это

Спустя 2 минуты, 58 секунд (27.10.2010 - 15:22) Paha4 написал(а):
Basili4 хм, мне неохота, хотел бы сделал, пусть этим linker занимается или ты. Да и ТС это пока ненужно с его быдлокодом. smile.gif

Спустя 3 минуты, 46 секунд (27.10.2010 - 15:26) Basili4 написал(а):
Ну так паказал бы парню как надо если начал уже. Я бы сам показал но мне лениво.
сыль дам http://irbis-team.com/15/16
там про MVC доступно написано

Спустя 16 минут (27.10.2010 - 15:42) phpguest написал(а):
да ребята, вы методом тыка делаете))

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.