Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться с PHP скриптом...  (Прочитано 19760 раз)
0 Пользователей и 1 Гость смотрят эту тему.
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 Offline
Пол: Мужской

WWW
« Ответ #1 : 13-10-2004 17:08 » 

Master, попробуй $_POST вместо $HTTP_POST_VARS.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Master
Гость
« Ответ #2 : 13-10-2004 19:34 » 

Пробовал уже... Я все варианты пробовал... Хотя последний в любом случае должен был работать... Что самое интересное скрипт работает но только на половину, он не выводит в итоге переменные которые вводит юзер, за место них вообще нечего нет... :new_shot:

Может это с севрером проблемы... Может кто попробует, протестирует этот код у себя...
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 14-10-2004 05:35 » 

Master,  всё нормально работает с $_POST.
Сделай так :
в файле processorder.php в самом начале напиши
Код:
print_r)$_POST:

и посмотри есть ли в массиве твои переменные.

Ещё, вот это :
Код:
$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 Offline
Пол: Мужской

WWW
« Ответ #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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 14-10-2004 11:02 » 

Цитата: Master
Если я вставляю print_r($_POST) в начало скрипта мне выдают ошибку Parse error: parse error in /home/httpd/vhosts/*****.ru/httpdocs/processorder.php on line 4


Массивы
Код:
$_POST, $_GET, $_SERVER

являются суперглобальными, и работают с
Код:
register_globals = off


Давай сюда свой 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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #11 : 14-10-2004 12:37 » 

Цитата: Master
На счёт того кода что ты мне дал... Я совсем чайник в этом... Как его проверить что с ним сделать... Сохранить как рhр а за тем слитть на сервер и включить его???


Да, сохрани как ПХП файл, закинь на сервер и запусти.

Цитата: Master
MOPO3 Это полностью код к двум страницам 1 HTML, 2 php. Человек попадая на первую страницу HTML здесь ему предлогается ввести число покупок, он вводит, далее нажимает на кнопку "отправить заказ".  Тем самым переходит на страницу 2 php где должен формироваться заказ человека.


Я же говорю тебе, дай код посмотреть, а то так гадать нету смысла. Ты говориш - Не работает! А я говорю - Должно работать! Так мы ничего не решим. Мне надо видеть код, чтобы понять и увидеть где и что не так.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Master
Гость
« Ответ #12 : 14-10-2004 12:56 » new

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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #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
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #17 : 14-10-2004 13:53 » 

Master, у тебя проблема 99,(9)% в настройках Апача.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #18 : 14-10-2004 13:54 » 

Цитата: Master
У тебя это работает??? Ты сделал из 2 файлов один... какое разшпрение html или рhp?


работает как в песне. расширение у файла естественно рhp
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Master
Гость
« Ответ #19 : 14-10-2004 14:01 » 

Цитата: MOPO3
Master, у тебя проблема 99,(9)% в настройках Апача.


Эти настройки должна настраивать организация предоставляющая хост???
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #20 : 14-10-2004 14:05 » 

Master, если у тебя свой собственный сервер, то ты и должен его настраивать Улыбаюсь А если хостишся у кого то, то там  админы должны настраивть Улыбаюсь Пошли им последний напечатаный мной код, и пусть попробуют запустить и получить результаты. Скрипт рабочий на 1000(0) % , пусть разбираются с настройками.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Master
Гость
« Ответ #21 : 14-10-2004 15:36 » 

Всё заработало   Улыбаюсь  Улыбаюсь  Улыбаюсь   , это всё голимый хост со своими настройками и админами палачами... Всем спасибо особенно MOPO3у. тему можно закрыть..
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #22 : 15-10-2004 05:11 » 

Цитата: Master
Всё заработало   Улыбаюсь  Улыбаюсь  Улыбаюсь   , это всё голимый хост со своими настройками и админами палачами...


Ну вот и славненько Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines