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

Форум PHP

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

 

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

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

тема: Сформировать web-форму только с не пустыми параметрами.
 
 автор: Loneliness   (17.11.2007 в 02:34)   письмо автору
 
 

На скрипт могут быть переданы от 1 до 5 параметров. Далее надо создать форму. Для наглядности:

<?php 
          $id_part 
stripslashes($_GET['id_part']);
          
$id_city stripslashes($_GET['id_city']);
          
$id_country stripslashes($_GET['id_country']);
          
$id_sticker stripslashes($_GET['id_sticker']);
          
$get stripslashes($_GET['get']);

          
$form_aut '<form action="stickers.php" method="get">Тикет:<br/>
<input type="text" name="acc" size="3" format="*N"/>
<input type="hidden" name="id_city" value="'
.$id_city.'"/>
<input type="hidden" name="id_part" value="'
.$id_part.'"/>
<input type="hidden" name="id_country" value="'
.$id_country.'"/>
<input type="hidden" name="id_sticker" value="'
.$id_sticker.'"/>
 &#160;<input class="button" type="submit" value="Ok"/>
</form>'
;

echo 
iconv('windows-1251','utf-8',$form_aut);
?>

Проблема в том, что в таком виде форма передает все параметры, даже если они пустые, и получается запрос вроде ?id_country=66&id_city=55555&id_part=&sid=&gid=&get=&id_sticker=33333
Вроде как ни к чему передавать пустые параметры обратно.
Можно, конечно, справиться с этим, задавая условия вроде
if(empty(ПАРАМЕТР)){$form_aut = 'Форма без <input type="hidden" name="ПАРАМЕТР" value="'.$ПАРАМЕТР.'"/> ';}
но это куча вариантов и до головы кода всего лишь из-за одной формы... Может, это можно решить проще? Буду искренне благодарен за советы.

   
 
 автор: mefestofel   (17.11.2007 в 03:43)   письмо автору
 
   для: Loneliness   (17.11.2007 в 02:34)
 

Напишите вспомогательную функцию для анализа переданных параметров...

   
 
 автор: exp   (17.11.2007 в 05:58)   письмо автору
 
   для: Loneliness   (17.11.2007 в 02:34)
 

непонятно эти параметры все как.бы id_... , зачем перекодировать в утф , там есть кирилица?

<?='<?xml version="1.0" encoding="utf-8"?>' ?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd" > 
<wml> 
<card title=""> stickers.php
<form action="stickers.php" method="get">Тикет:<br/>
<input type="text" name="acc" size="3" format="*N"/>
<?php

if (isset($_GET)) {
$array = array('id_part''id_city''id_country''id_sticker');
for(
$i=0$i<4$i++)
    {
        if (!empty( 
$_GET$array[$i] ] )) echo '<input type="hidden" name="' $array[$i] . '" value="'
        
htmlspecialcharsstripslashesiconv('windows-1251''utf-8'$_GET$array[$i] ] ))) . '"/>' "\n";
    }
$get = (isset($_GET['get'])) ? stripslashes($_GET['get']) : '';
}

?>
 &#160;<input class="button" type="submit" value="Ok"/>
</form>
</card></wml>

   
 
 автор: Loneliness   (17.11.2007 в 10:35)   письмо автору
 
   для: exp   (17.11.2007 в 05:58)
 

Генерируется wap 2.0 страница(xhtml), содержащая не только эту форму,потому и перекодирую в UTF-8. А заголовки не помогают, когда скажем, правлю в Kut-Ftp и пишу с компа просто кириллицей- выводит нечитаемый текст. Два варианта- или писать в скрипт текст в юникоде(тогда в скрипте текст нечитаемый) или перекодировать. Второй мной испытан и вполне приемлем. :)
За помощь благодарю. Самое то.:)

   
Rambler's Top100
вверх

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