Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: тоже про параметры через ссылку
 
 автор: Zladey   (26.04.2006 в 16:23)   письмо автору
 
 

Я начинающий..

в ссылке прямо указывается параметр .... <A href="<?= $path?>details.php?product=windows"....
на локалхосте все идет прекрасно... а вот при размещении говорит не указан параметр...
не подскажете может как-то по другому тожа можно написать?

зы.
раньше работало все.. пока там что -то на сервере не переустановили...

   
 
 автор: Саша   (26.04.2006 в 16:26)   письмо автору
 
   для: Zladey   (26.04.2006 в 16:23)
 

покажите код

   
 
 автор: cheops   (26.04.2006 в 22:46)   письмо автору
 
   для: Zladey   (26.04.2006 в 16:23)
 

>в ссылке прямо указывается параметр .... &lt;A href="&lt;?=
>$path?>details.php?product=windows"....
> на локалхосте все идет прекрасно... а вот при размещении
>говорит не указан параметр...
>не подскажете может как-то по другому тожа можно написать?
Имеется ввиду GET-параметр? Как вы к нему обращаетесь? Через $product или $_GET['product']?

   
 
 автор: Zladey   (27.04.2006 в 10:01)   письмо автору
 
   для: cheops   (26.04.2006 в 22:46)
 

в файле detals.php такая обработка:

if ($product){
$pr = split("\/",$product);
$product = FormatText($pr[0]);
if ($page){
$pg = split("\/",$page);
$page = FormatText($pg[0]);
if (file_exists(TEMPLATES . '/' . $product . '/' . $page . '.inc')) {
$localeURL = TEMPLATES . '/' . $product . '/' . $page . '.inc';
$pagetitle = $title[$product][0] . " - " . $title[$product][$page];
// $pagesubtitle = $title[$product][$page];
} else {
$localeURL = "1";
}
} else {
if (file_exists(TEMPLATES . '/' . $product . '.inc')) {
$localeURL = TEMPLATES . '/' . $product . '.inc';
$pagetitle = $title[$product][0];
} else {
$localeURL = "0";
}
}
} else {
include TEMPLATES . '/header.inc';
echo "Необходимо указать просматриваемый продукт.";
include TEMPLATES . "/footer.inc";
exit();
}
на сервере кидает на else а на локлхосте нормально работает

   
 
 автор: cheops   (27.04.2006 в 12:24)   письмо автору
 
   для: Zladey   (27.04.2006 в 10:01)
 

Вероятно на сервере отключена директива register_globals, используйте вместо переменной $product элемент суперглобального массива $_GET['product'].

   
 
 автор: Zladey   (02.05.2006 в 10:07)   письмо автору
 
   для: cheops   (27.04.2006 в 12:24)
 

А можно про это где-нибудь прочитать... чтобы самому все тоже понять, где именно заменять переменные... или все подряд менять теперь придется?...

   
 
 автор: cheops   (02.05.2006 в 11:59)   письмо автору
 
   для: Zladey   (02.05.2006 в 10:07)
 

Почитать об этом можно в статье http://www.softtime.ru/info/articlephp.php?id_article=13, если у вас уже имеется написанный и отлаженный код, то необязательно менять всё подряд, можно в начале файла просто присвоить переменной $product значение $_GET['product'].
<?php
  $product 
$_GET['product'];
?>

   
 
 автор: Loki   (02.05.2006 в 13:55)   письмо автору
 
   для: cheops   (02.05.2006 в 11:59)
 

Так делать нельзя - в коде может встретится условие if (isset($product)) которое в любом случае будет выполняться. Так что нужно хотябы проверочку прикрутить:

<?php 
 
if (isset($_GET['product'])) $product $_GET['product']; 
?> 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования