Master
Гость
|
|
« : 13-10-2004 13:58 » |
|
Изучаю php по книге, вот одно из заданий книги... Вроде всё сделал как написано в книге символ в символ... Но когда загружаю на сервак этот скрипт просто не работает... По идеи после того как пользыватель вводит данные этот скрипт должен подтвердить выбор пользователя... а он выводит пустые переменные как будто пользователь не вводил свои числа. Помогите не могу разобраться....
файл were HTML Document
<form action="processorder.php" method=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>Товар</td> <td width=15>Количество</td> </tr> <tr> <td>пиво</td> <td align="center"><input type="text" name="tireqty" size= "3" maxlength="3"></td> </tr> <tr> <td>пепси</td> <td align= "center"><input type="text" name="oilqty" size="3" maxlength="3"></td> </tr> <tr> <td>водка</td> <td align="center"><input type="text" name="sparkqty" size= "3" maxlength="3"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value= "Отправить заказ"></td> </tr> </table> </form>
файл processorder.php <?php
$tireqty = $HTTP_POST_VARS['tireqty']; $oilqty = $HTTP_POST_VARS['oilqty']; $sparkqty = $HTTP_POST_VARS['sparkqty']; ?> <html> <head> <title>Магазин</title> </head> <body> <h1>магазин</h1> <h2>Результаты заказа</h2> <?php echo '<p>Заказ обработан в '; echo date('H:i, jS F'); echo '</p>';
echo '<p>Список вашего заказа: </p>'; echo $tireqty . ' пиво</br>'; echo $oilqty . ' пепси</br>'; echo $sparkqty . ' водка</br>'; ?>
</body> </html>
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #1 : 13-10-2004 17:08 » |
|
Master, попробуй $_POST вместо $HTTP_POST_VARS.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Master
Гость
|
|
« Ответ #2 : 13-10-2004 19:34 » |
|
Пробовал уже... Я все варианты пробовал... Хотя последний в любом случае должен был работать... Что самое интересное скрипт работает но только на половину, он не выводит в итоге переменные которые вводит юзер, за место них вообще нечего нет... :new_shot:
Может это с севрером проблемы... Может кто попробует, протестирует этот код у себя...
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #3 : 14-10-2004 05:35 » |
|
Master, всё нормально работает с $_POST. Сделай так : в файле processorder.php в самом начале напиши и посмотри есть ли в массиве твои переменные. Ещё, вот это : $tireqty = $HTTP_POST_VARS['tireqty'(; echo $tireqty . ' пиво</br>'; перепмши так : echo $_POST['tireqty'(. ' пиво</br>'; ЗЫ. Если я не ошибаюсь, то в последних версиях ПХП вот это $HTTP_POST_VARS не работает, или работает не так как надо. В любом случае, уже давно рекомендуют писать так : $_POST['variable'( $_GET['variable'( $_SERVER['PHP_SELF'(
и так далее.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #4 : 14-10-2004 09:30 » |
|
Всё перепробовал ... не прёт... :new_shot:
Мне кажется это всё register_globals в php.ini если его включить всё должно работать , а он видимо отключён по умолчанию так как это PHP 4.3.2 .
КАК ВКЛЮЧИТЬ register_globals :new_shot:
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 14-10-2004 09:48 » |
|
Master, если включить register_globals, то php будет создавать глобальные переменные, а так он создает массывы типа $_POST. Настраивается все это в конфиге. Если у тебя винда, то он, быстрее всего, находится тут: C:\WINDOWS\php.ini
Т.е. ты хочешь сказать, что да же print_r($_POST); в самом начале скрипта не показывает твоих параметров? Попробуй такую вешь: поставь перед print_r() строчку global $_POST; и проверь еще раз.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Master
Гость
|
|
« Ответ #6 : 14-10-2004 10:06 » |
|
Если я вставляю print_r($_POST) в начало скрипта мне выдают ошибку Parse error: parse error in /home/httpd/vhosts/*****.ru/httpdocs/processorder.php on line 4
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #7 : 14-10-2004 11:02 » |
|
Если я вставляю print_r($_POST) в начало скрипта мне выдают ошибку Parse error: parse error in /home/httpd/vhosts/*****.ru/httpdocs/processorder.php on line 4 Массивы являются суперглобальными, и работают с Давай сюда свой processorder.php, посмотрим в чём там грабли. ЗЫ А ты случайно не забыл точку с запятои поставить после print_r($_POST) ? Надо так : print_r($_POST);
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #8 : 14-10-2004 11:33 » |
|
MOPO3 так я и говорю что всё должно работать с выключеным register_globals ... :new_shot: Оно работает но на половину. ($_POST); - это я не забыл...
ПОМОГИТЕ
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #9 : 14-10-2004 11:43 » |
|
Master, что значит наполовину ? Либо работает либо нет! Я уже тебе выше писал, давай сюда весь код полностью и укажи конкретно в каком месте у тебя что то не выходит. Вот я тебе сейчас дам пример, 100% рабочий, проверь его у себя и напиши что получаеш : <?php if)!isset)$_POST: || empty)$_POST['beer'(:: | print "<form name=\"lalala\" action=\"".$_SERVER['PHP_SELF'(."\" method=\"POST\">"; print "<input type=\"text\" name=\"beer\" value=\"\">"; print "<input type=\"submit\" name=\"knopka\" value=\"GO!\"></form>"; " else | print "Beer is { " . $_POST['beer'(; " ?>
ЗЫ. И ещё, $_POST - суперглобальный массив, $HTTP_POST_VARS - не суперглобальный
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #10 : 14-10-2004 12:26 » |
|
MOPO3 Это полностью код к двум страницам 1 HTML, 2 php. Человек попадая на первую страницу HTML здесь ему предлогается ввести число покупок, он вводит, далее нажимает на кнопку "отправить заказ". Тем самым переходит на страницу 2 php где должен формироваться заказ человека. То есть тут появляется следущее: Резултат заказа в 13:20 3 августа 5 пиво 8 пепси 10 подки
============= Подведём итог человек попадает на страницу 2.. но вместо 5 пиво 8 пепси мы видим просто _ пепси , _ пиво.. то есть в местах где должна стоять цыфра пусто... А остольное всё работает.
На счёт того кода что ты мне дал... Я совсем чайник в этом... Как его проверить что с ним сделать... Сохранить как рhр а за тем слитть на сервер и включить его???
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #11 : 14-10-2004 12:37 » |
|
На счёт того кода что ты мне дал... Я совсем чайник в этом... Как его проверить что с ним сделать... Сохранить как рhр а за тем слитть на сервер и включить его??? Да, сохрани как ПХП файл, закинь на сервер и запусти. MOPO3 Это полностью код к двум страницам 1 HTML, 2 php. Человек попадая на первую страницу HTML здесь ему предлогается ввести число покупок, он вводит, далее нажимает на кнопку "отправить заказ". Тем самым переходит на страницу 2 php где должен формироваться заказ человека. Я же говорю тебе, дай код посмотреть, а то так гадать нету смысла. Ты говориш - Не работает! А я говорю - Должно работать! Так мы ничего не решим. Мне надо видеть код, чтобы понять и увидеть где и что не так.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #12 : 14-10-2004 12:56 » |
|
MOPO3 Вот код index.html <form action="processorder.php" method=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>Товар</td> <td width=15>Количество</td> </tr> <tr> <td>пиво</td> <td align="center"><input type="text" name="tireqty" size= "3" maxlength="3"></td> </tr> <tr> <td>пепси</td> <td align= "center"><input type="text" name="oilqty" size="3" maxlength="3"></td> </tr> <tr> <td>водка</td> <td align="center"><input type="text" name="sparkqty" size= "3" maxlength="3"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value= "Отправить заказ"></td> </tr> </table> </form>
а вот код processorder.php <?php
$tireqty = $HTTP_POST_VARS['tireqty']; $oilqty = $HTTP_POST_VARS['oilqty']; $sparkqty = $HTTP_POST_VARS['sparkqty']; ?> <html> <head> <title>Магазин</title> </head> <body> <h1>магазин</h1> <h2>Результаты заказа</h2> <?php echo '<p>Заказ обработан в '; echo date('H:i, jS F'); echo '</p>';
echo '<p>Список вашего заказа: </p>'; echo $tireqty . ' пиво</br>'; echo $oilqty . ' пепси</br>'; echo $sparkqty . ' водка</br>'; ?>
</body> </html>
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #13 : 14-10-2004 13:02 » |
|
Master, ну мля! тебе же сказали заменить $HTTP_POST_VARS на $_POST . Щас у себя запущу и скажу пашет или нет.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #14 : 14-10-2004 13:07 » |
|
Я и так и так пробовал... Должно работать и так и так... Уже проверели на двех сервеках Apache 1.3.20 + Php 4.3 и Apache/2.0.52 (Win32) PHP/5.0.1 у людей всё пашет... У меня Apache2 Php 4.3 не пашет. Попробуй у себя пожалуйста.... может что новое выесница... Это писец.... я сейчас сойду с ума Вписал в начала кода phpinfo(); просмотрел почти нечего не понял , а потом Ctrl+F и поиск по странице искал свои переменные "tireqty" "oilqty" "sparkqty" но нечего не нашол... В графе error_log пишут no value no value это чё вообще такое???
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #15 : 14-10-2004 13:21 » |
|
Вот : <html> <head> <title>Магазин</title> </head> <body> <?php if)!isset)$_POST: || empty)$_POST:: | ?> <form action="<?php print $_SERVER['PHP_SELF'(;?>" method=post> <table border=0><tr bgcolor=#cccccc><td width=150>Товар</td><td width=15>Количество</td></tr> <tr><td>пиво</td><td align="center"><input type="text" name="tireqty" size= "3" maxlength="3"></td></tr> <tr><td>пепси</td><td align= "center"><input type="text" name="oilqty" size="3" maxlength="3"></td></tr> <tr><td>водка</td><td align="center"><input type="text" name="sparkqty" size= "3" maxlength="3"></td></tr> <tr><td colspan="2" align="center"><input type="submit" value= "Отправить заказ"></td></tr> </table></form> <?php " else | ?> <h1>магазин</h1> <h2>Результаты заказа</h2> <?php echo '<p>Заказ обработан в '; echo date)'H{i, jS F':; echo '</p>'; echo '<p>Список вашего заказа{ </p>'; echo $_POST['tireqty'( . ' пиво</br>'; echo $_POST['oilqty'( . ' пепси</br>'; echo $_POST['sparkqty'( . ' водка</br>'; " ?> </body> </html>
Всё прекрасно работает! Ты у себя на локалке запускаеш пхп скрипты ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #16 : 14-10-2004 13:37 » |
|
Я только купил сервер, он поддерживает php... Решил заняться изучением php сделал всё как в книге... а скрипт не работает...
У тебя это работает??? Ты сделал из 2 файлов один... какое разшпрение html или рhp?
Короче слил я это на сайт файл index.php после нажатия кнопки отправить заказ появляется сообщение что "невозможно найти страницу"... http://***.**.***.***/index.php
Может это всё из за того что доменное имя ещё не присвоили и эксперементирую я на физическом хосте???
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #17 : 14-10-2004 13:53 » |
|
Master, у тебя проблема 99,(9)% в настройках Апача.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #18 : 14-10-2004 13:54 » |
|
У тебя это работает??? Ты сделал из 2 файлов один... какое разшпрение html или рhp? работает как в песне. расширение у файла естественно рhp
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #19 : 14-10-2004 14:01 » |
|
Master, у тебя проблема 99,(9)% в настройках Апача. Эти настройки должна настраивать организация предоставляющая хост???
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #20 : 14-10-2004 14:05 » |
|
Master, если у тебя свой собственный сервер, то ты и должен его настраивать А если хостишся у кого то, то там админы должны настраивть Пошли им последний напечатаный мной код, и пусть попробуют запустить и получить результаты. Скрипт рабочий на 1000(0) % , пусть разбираются с настройками.
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Master
Гость
|
|
« Ответ #21 : 14-10-2004 15:36 » |
|
Всё заработало , это всё голимый хост со своими настройками и админами палачами... Всем спасибо особенно MOPO3у. тему можно закрыть..
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #22 : 15-10-2004 05:11 » |
|
Всё заработало , это всё голимый хост со своими настройками и админами палачами... Ну вот и славненько
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
|