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

Форум PHP

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

 

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

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

тема: помогите не могу разобраться с gettype() плиз!!!!1
 
 автор: Mikael   (01.02.2006 в 17:07)   письмо автору
 
 

имеется html файл:
<html>
<head>
<title>Автозапчасти от Боба</title>
</head>
<body>

<h1>Автозапчасти от Боба</h1>
<h2>Форма заказа</h2>

<form action="processoder.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>Как вы нашли компанию "Автозапчасти от Боба?"</td>
<td><select name="find">
<option value = "a">Я регулярный клиент
<option value = "b">В телевизионной рекламе
<option value = "c">В телефонном справочнике
<option value = "d">Кто-то порекомендовал
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value= "Отправить заказ"></td>
</tr>
</table>
</form>

</body>
</html>

_______________________________________
i sootvedstvenno php

<html>
<head>
<title>Автозапчасти от Боба - Результаты заказа</title>
</head>
<body>
<h1>Автозапчасти от Боба</h1>
<h2>Результаты заказа</h2>
<?php
echo '<p>Заказ обработан в ';
echo date('H:i, jS F');
echo '</p>';



//создать короткие имена переменных
$tireqty = $HTTP_POST_VARS['tireqty'];
$oilqty = $HTTP_POST_VARS['oilqty'];
$sparkqty = $HTTP_POST_VARS['sparkqty'];

echo gettype($tireqty);

echo '<p>Список вашего заказа: </p>';
echo $tireqty . ' автопокрышек<br />';
echo $oilqty . ' бутылок с маслом<br />';
echo $sparkqty . ' свечей зажигания<br />';


$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
echo 'Заказано товаров: '.$totalqty.'<br />';

$totalamount = 0.00;

define('TIREPRICE',100);
define('OILPRICE',10);
define('SPARKPRICE',4);

$totalamount = $tireqty * TIREPRICE
+ $oilqty * OILPRICE
+ $sparkqty * SPARKPRICE;
echo 'Итого: $'.number_format($totalamount,3).'<br />';

$taxrate = 0.10; // местный налог с продаж составляет 10%
$totalamount = $totalamount * (1 + $taxrate);
echo 'Всего, включая налог с продаж: $'. number_format($totalamount,2).'<br />';
?>
</body>
</html>

ВОПРОССССССССССССССС почему чтобы я не вводи в своей форме первой которая "tireqty" мне на экран выводится string???? помогите что делать что не так.... я просто хочу научится предупреждать пользователя о том что он не коректтно вводит данные...

   
 
 автор: Киналь   (01.02.2006 в 17:13)   письмо автору
 
   для: Mikael   (01.02.2006 в 17:07)
 

Проверяйте лучше не gettype()'ом, а именно на то, что вам нужно: is_int(), is_float() и т.д. Одно и то же (например, 123) может быть как строкой, так и числом. РНР в этом плане весьма либерален=)

   
 
 автор: Mikael   (01.02.2006 в 17:22)   письмо автору
 
   для: Киналь   (01.02.2006 в 17:13)
 

поппробовал не помогло.....

вот что я написал

if (is_int($tireqty))
{
echo 'rabotaet';
}


---------------
вводил я число 1....

   
 
 автор: Mikael   (01.02.2006 в 17:24)   письмо автору
 
   для: Киналь   (01.02.2006 в 17:13)
 

народ помогите горю!...

   
 
 автор: cheops   (01.02.2006 в 17:44)   письмо автору
 
   для: Mikael   (01.02.2006 в 17:07)
 

PHP может осущетсвлять автоматичесое преобразование типа - у вас какая задача проверка ввода пользователя?

   
 
 автор: Mikael   (01.02.2006 в 17:50)   письмо автору
 
   для: cheops   (01.02.2006 в 17:44)
 

да пока на данном этапе я хочу чтобы при вводе чисел в ворму "imya" выходило сообшение об ошибке.... , я так понимаю что для этого нужно определить тип который при этом получит переменная в моем случае это $tireqty, но чтобы я не вводил типом этой переменной почему-то является string .... что я делаю не так не знаю...

   
 
 автор: cheops   (01.02.2006 в 18:28)   письмо автору
 
   для: Mikael   (01.02.2006 в 17:50)
 

Вы можете проверять это при помощи регулярных выражений
<?php
  
if(preg_match("[\d]",$_POST['imya']) exit("Ошибка - имя не должно содержать цифр");
?>

   
 
 автор: WebTech   (01.02.2006 в 18:02)   письмо автору
 
   для: Mikael   (01.02.2006 в 17:07)
 

При получении переменной из $HTTP_POST_VARS она будет строкового типа, чтобы вы не передали в форме. И зачем вам определять тип переменной? Вводимые пользователем данные можно проверить другим способом. Например, с помощью регулярного выражения.

P.S. А книжка хорошая. Я тоже с нее начинал :-)

   
 
 автор: Mikael   (01.02.2006 в 18:53)   письмо автору
 
   для: WebTech   (01.02.2006 в 18:02)
 

Спасибо друг разобрался!! ура !!!!!!!!!!

   
Rambler's Top100
вверх

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