|
|
|
| Подскажите пожалуйста как сделать на PHP передачу параметров форме? Есть ситуация и я по малому опыту не могу сообразить. Так вот, есть товар (наименование, цена. Мне нужно чтобы у каждого товара давишь на ссылку "заказать" и передались форме наименование и цена в переменных под типа функции "ИМЯ ФУНКЦИИ (НАИМЕНОВАНИЕ, ЦЕНА). Мучится можно долго, а у профессионалов спросить лучше да и опыта набраться.
Спасибо заранее!! | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 14:10)
| | можно передать методом get
<a href="cart.php?id=<?=$id?>">
| потом считать ее
и по id в бд найти наименование и цену | |
|
|
|
|
|
|
|
для: P@Sol
(16.08.2005 в 14:15)
| | нет, тут без БД все происходит. Просто изначально известны Наименование и цена. Я так понял первый вариант использовать? А синтаксис ссылки как правильно указать если $tovar="Otto Kurtbah 05/16" и $cena=112345 ? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 14:17)
| |
<a href="cart.php?tovar=Otto Kurtbah 05/16&cena=112345>
|
(пробелы надо заменять на %20)
потом считать ее
$tovar=$_GET[tovar];
$cena=$_GET[cena];
|
интересно...но товар же откуда-то берется:) а если название товара будет слишком длинным? обычно просто id передают | |
|
|
|
|
|
|
|
для: P@Sol
(16.08.2005 в 14:58)
| | вставил строку в параметры ссылки
<a href="cart.php?tovar=Otto Kurtbah 05/16&cena=112345>
|
создал файл cart.php с содержимым
$tovar=$_GET[tovar];
echo $tovar;
|
После нажатия на ссылку експлорер выдает окно и говорит скачать или открыть файл cart.php. Что я не так сделал вроде все нормально? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 15:09)
| | А на хостинге скрипты поддерживаются? | |
|
|
|
|
|
|
|
для: Киналь
(16.08.2005 в 15:11)
| | поддерживает ли ваш хостинг работы с php? | |
|
|
|
|
|
|
|
для: P@Sol
(16.08.2005 в 15:18)
| | Все нормально заработало. Я блин из проводника запустил и что-то жду хорошее ;-) Теперь другая ошибка, сервер ругается на строку-
"Use of undefined constant tovar - assumed 'tovar' in z:\home\test2.ru\www\cart.php on line 2"
А строка 2 это
<?
$tovar=$_GET[tovar];
echo ($tovar);
?>
|
| |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 15:46)
| | эт ничего страшного...просто изночально же ды не задаешь в адресе tovar= | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 15:46)
| | Ключ массива следует поместить в кавычки
<?
$tovar=$_GET['tovar'];
echo ($tovar);
?>
|
| |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 15:09)
| | А где происходит тестирование на хостинге или на локальной машине? | |
|
|
|
|
|
|
|
для: cheops
(16.08.2005 в 15:56)
| | на локалке. Но Echo все равно выводит значения переменных. | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 16:00)
| | $tovar=$_GET['tovar'];
а так? | |
|
|
|
|
|
|
|
для: P@Sol
(16.08.2005 в 16:06)
| | оба!! С кавычами все путем. GET значит с апострофами только работает? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 16:11)
| | Не только $_GET. Вообще указываю индекс ассоцмативного массива, надо заключать его в кавычки. Исключение: если все происходит в двойных кавычках. то кавычки вызовут ошибку. Т.е.:
$var=$_GET['var'];
//но
echo "Переменная $_GET[var]";
|
| |
|
|
|
|
|
|
|
для: Киналь
(16.08.2005 в 16:19)
| | Когда используется $_GET[var] то первым делом PHP ищет константу 'var', т.е. если мы выше напишем define("var","my_var"); то echo $_GET[var] выведет значение my_var, а не var.
Как сказал Киналь, индекс ассоциативного массива нужно заключать всегда в одинарные кавычки (или в двойные). Индексы численного массива можно и не заключать (т.е. можно писать echo $array[0] ) | |
|
|
|
|
|
|
|
для: isset
(16.08.2005 в 16:24)
| | Вот спасибо всем огромное!! Так тяжко в PHP въезжать ;-(. Много ньюансов. | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 16:29)
| | Все нюансы легко постигаются путем запуска скрипта и внимательного чтения сообщения об ошибках и нотисов=) | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 16:29)
| | а как долго живут в PHP переменные?
Если к примеру я в HTML странице объявлю
И перейду по ссылке на другую страницу HTML и в ней запрошу вывести
<?
echo ($cena);
?>
[/code]
Я получу ожидаемое значение 234? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(16.08.2005 в 16:40)
| | Переменная живет. пока выполняется скрипт. То есть в данном случае ответ "нет". Придется прибегать либо к кукам, либо к сессиям. либо к массиву $_GLOBALS. Впрочем, есть еще register_globals, но этого лучше избегать.
ЗЫ Не echo($cena), а либо echo $cena, либо print($cena) =) | |
|
|
|
|
|
|
|
для: Киналь
(16.08.2005 в 16:44)
| | я понял. Спасибо. | |
|
|
|