Не могу найти с помощью какой функции можно присвоить значение переменной с экрана. Подскажите пожалуйста.
Хочу сделать небольшой калькулятор для расчёта стоимости материалов. Т.е. на экран выводятся несколько полей, клиент в них проставляет цифры - и вуаля. С помощью какой функции значение введённой поле цифры присвоить переменной?
Я прошу реальной помощи, а не сообщений типа "примитив", "надо так" и тд и тп, это нас вполне устраивало. Вообщем мне один студент установил на сайт вот это: (Движок DLE 8.5 лицензионный) 1. Создал в админке новость (типа шаблона калькуляции) вот такого плана: Расчёт стоимости.<br /><br /><br /> Введите параметры:<br /> <p><span class="стиль3">Ширина :</span><input type="text" name="Val1" size="3" /> метров.</p> <p><span class="стиль3">Длина:</span><input type="text" name="Val2" size="3" /> метров.</p> <p><span class="стиль3">Количество комнат на этаже:</span><input type="text" name="Val3" size="3" /></p> <p><span class="стиль3">Количество этажей:</span><input type="text" name="Val4" size="3" /></p><br /> <p><input type="submit" class="стиль5" value="Рассчитать" /></p> 2. Создал calculate.php по адресу mysite.ru/engine/modules/: <? $Cen164="1500"; $Cen104="1400"; $Visota="2.8"; $Val9="2"; $Val32="1"; $Val31=$Val3-$Val32; if (($Val1=="") || ($Val2=="") || ($Val3=="") || ($Val4=="")) {echo "ОШИБКА!!!!! Введите полные данные";exit;}//$Val1,$Val2- длина ширина,$Val3-кол.комнат,$Val4-кол.этажей if ($Val4>$Val9) {echo "ТАКИЕ МЫ НЕ СТРОИМ, ПОДРОБНОСТИ НА САЙТЕ"; exit;} ?> <? if ($ValS=$Val1*$Val2) if ($Plsten=($Val1+$Val2+$Val1+$Val2)*$Visota) if ($Perd=$Val1*$Val31) if ($Pers=$Perd*$Visota) if ($Ststen=$Plsten*$Cen164) if ($Stper=$Pers*$Cen104) if ($Stob=$Ststen+$Stper) if ($Stpol=$ValS*$Cen164) if ($Stpot=$ValS*$Cen104) If ($Val4==$Val9) {$result=($Stob*$Val4)+($Stpot*$Val4)+$Stpol;} else {$result=$Stob+$Stpot+$Stpol;} ?> <p> <class="стиль2 стиль7"><strong><strong><span class="стиль12">Стоимость комплекта составляет:<br/> <? print "$result"; ?>рублей.</span></p> <form method="post" action="http:______________/"> <input name="submit" type="submit" class="стиль4" value="Вернуться на страницу калькуляции"/> </form> <br/><br/> <form method="post" action="http:______________/"> <input name="submit" type="submit" class="стиль4" value="Вернуться на главную страницу"/> </form> Вообщем после небольших неполадок с сайтом, при вводе данных всех полей выдаётся ошибка "ОШИБКА!!!!! Введите полные данные" Короче данные ($Val1=="") || ($Val2=="") || ($Val3=="") || ($Val4=="") с экрана не вводятся.
Apple практически угадал ответ barvad PHP: <?php $val1 = $_REQUEST['val1']; $val2 = $_REQUEST['val2']; // ну и так далее для всех переменных переданных от клиента серверу
Вставил в calculate.php <? $val1 = $_REQUEST['val1']; $val2 = $_REQUEST['val2']; $val3 = $_REQUEST['val3']; $val4 = $_REQUEST['val4']; $Cen164="1500"; $Cen104="1400"; $Visota="2.8"; $Val9="2"; $Val32="1"; $Val31=$Val3-$Val32; if (($Val1=="") || ($Val2=="") || ($Val3=="") || ($Val4=="")) {echo "ОШИБКА!!!!! Введите полные данные";exit;} ?> Но также выдаётся ошибка. Я вообще в этом мало, но всё же понимающий. Каким образом происходит переход от новостной страницы(шаблона) к скрипту calculate.php. Ни одной ссылки не нашёл.
barvad ну тогда в начале скрипта калькуляции вставляем следующее: PHP: <?php echo "<h1>POST</h1><pre>"; print_r($_POST); echo "</pre><h1>GET</h1><pre>"; print_r($_GET); die; .... что выдаёт при расчете калькуляции? Либо <form action="URL"> ... </form> Либо JavaScript: window.location = "URL"
Такой переход <form action="URL"> ... </form> я ставил в новостях (типа шаблоне). После ввода данных, и нажатия Enter строка "URL" исчезает.
ну тогда вы правите совершенно не тот php-файл. <form action="URL" method="GET"> строка URL отображается </form> <form action="URL" method="POST"> URL пустой </form>
igordata PHP: <?php echo "<h1>POST</h1><pre>"; print_r($_POST); echo "</pre><h1>GET</h1><pre>"; print_r($_GET); die; ....
$val1 = $_REQUEST['val1']; if (($Val1=="") || ($Val2=="") || ($Val3=="") || ($Val4=="")) {echo "ОШИБКА!!!!! Введите полные данные";exit;}