Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Вывод данных формы на другой странице или в форме
ТвойWeb » WebMaster класс » PHP/Perl » Вывод данных формы на другой странице или в форме

Страниц (2): [1] 2 »
 

1. chiv - 06 Ноября, 2005 - 09:32:26 - перейти к сообщению
А как сделать так, чтобы пользователь после сообщения "Заполните все поля" попал на страницу с заполненной им формой - чтоб не приходилось повторно заполнять уже заполненные поля?Закатив глазки

И ещё вопрос: как с помощью ПХП проще сделать запрос подтверждения введённых данных (типа: вы уверены, что хотите внести такие-то данные - да , нет)?
2. TvoyWeb - 06 Ноября, 2005 - 18:19:38 - перейти к сообщению
chiv пишет:
А как сделать так, чтобы пользователь после сообщения "Заполните все поля" попал на страницу с заполненной им формой - чтоб не приходилось повторно заполнять уже заполненные поля?

Ну например в гестах такую вещь делают используя куки.
То есть во время отправки отправляй эти данные в куки или в сессию. или в какой нибудь временный файл, а при генерации формы, подставляй эти значения в соответсвующие поля.
2 вопрос не совсем понял.
3. chiv - 07 Ноября, 2005 - 01:48:15 - перейти к сообщению
TvoyWeb
Поясню:
Пользователь вводит данные в форму, нажимает кнопочку "ввод" и ему "выскакивает окошко" - "Вы ввели то-то и то-то. Если данные верны нажмите "ОК", если нет - "Отмена""
Соответственно при нажатии "ОК" данные загружаются в базу, при нажатии "Отмена" происходит возврат на страницу с формой.
Для возврата, вроде, можно использовать:
CODE:
<a href="javascript:history.go(-1)">

А, вот, как лучше организовать выскакивающее окно:
Обязательно передавать параметры с помощью скрытых полей, или можно как-то по другому?
4. Maverick - 07 Ноября, 2005 - 04:06:54 - перейти к сообщению
CODE:

<?php
echo 'test';
$vars = parsed_vars();

echo $vars['action'];
$text=chr(13);
if (is_array($vars)) {
foreach ($vars as $k => $v) {
$text .= $v.chr(13);
}}

echo <<<DATA
<html>
<body>
<script languge="Javascript">
if confirm ('Правильноли введены данные:'+$text) { /*то что нужно делать дальше*/ } else {history.go(-1);}
</script></body></html>
DATA;


function parsed_vars() {

$return = array();

if ( is_array($_GET) ) {

while( list($k, $v) = each($_GET) ) {
if ( is_array($_GET[$k]) ) {
while( list($k2, $v2) = each($_GET[$k]) ) {
$return[$k][ clean_key($k2) ] = clean_value($v2);
}
}
else { $return[$k] = clean_value($v); }
}
}

if ( is_array($_POST) ) {

while( list($k, $v) = each($_POST) ) {
if ( is_array($_POST[$k]) ) {
while( list($k2, $v2) = each($_POST[$k]) ) {
$return[$k][ clean_key($k2) ] = clean_value($v2);
}
}
else { $return[$k] = clean_value($v); }
}
}}


function clean_value($val) {

if ($val == '') { return ''; }
$val = str_replace( " " , ' ' , $val );
$val = str_replace( "&" , '&amp;' , $val );
$val = str_replace( "<!--" , '<!--' , $val );
$val = str_replace( "-->" , '-->' , $val );
$val = preg_replace( "/<script/i" , '<script' , $val );
$val = str_replace( ">" , '>' , $val );
$val = str_replace( "<" , '<' , $val );
$val = str_replace( "\"" , '"' , $val );
$val = preg_replace( "/\n\n/" , '<p>' , $val );
$val = preg_replace( "/\n/" , '<BR>' , $val );
$val = preg_replace( "/\\\$/" , '$' , $val );
$val = preg_replace( "/\r/" , '' , $val );
$val = stripslashes($val);
$val = preg_replace( "/\\\/" , '\' , $val );
return $val;
}


?>
5. chiv - 07 Ноября, 2005 - 05:08:34 - перейти к сообщению
Maverick
Спасибо, буду разбираться (скрипт сразу не работает)Улыбка
6. Maverick - 07 Ноября, 2005 - 07:04:36 - перейти к сообщению
chiv

А где это нужно сделать??? На движке форума или отдельно???
7. Ray Wen - 07 Ноября, 2005 - 07:22:15 - перейти к сообщению
chiv
Вот несколько упрощенный вариант того как я делал...
CODE:
function form($ar=array()){
return "<form name=form1 method=post action=><table width=100%>
<tr><td colspan=2><b>Добавить в черный список работника:</b></td></tr>
<tr><td width=200>Организация:</td><td><input name=name type=text id=name size=20 maxlength=20 value=\"".htmlspecialchars(@$ar['name'])."\"></td></tr>
<tr><td>Директор:</td><td><input name=director type=text id=director size=20 maxlength=60 value=\"".htmlspecialchars(@$ar['director'])."\"></td></tr>
<tr><td valign=top>Вид деятельности:<BR>(максимум 800 знаков)</td><td><textarea name=comment cols=60 rows=5 id=comment>".htmlspecialchars(@$ar['comment'])."</textarea></td></tr>
<tr><td colspan=2 align=center><input type=submit name=Submit value=".(($ar)?'Сохранить':'Добавить')."></td></tr>
</table></form>";
}

Ну и потом ставиш проверку, есть ли данные переданные по POST и подставляеш form($_POST);
8. chiv - 07 Ноября, 2005 - 08:13:58 - перейти к сообщению
Maverick
Отдельно.

Ray Wen
Спасибо!
На первый взгляд то, что нужно... Как дойду до этой части проекта проверюУлыбка
9. Maverick - 07 Ноября, 2005 - 10:08:44 - перейти к сообщению
или так:
CODE:

<script language="JavaScript">

function confirm_dan ()
{
text = 'Правильно ли введены данные? \n\n';
text = text + document.forma.in1.value+'\n\n';
text = text + document.forma.in2.value+'\n\n';

if confirm(text) {return true} else {return false};
}


</script>

<form name="forma">
<input name="in1">
<input name="in2">
<input type=Submit value='Отправить' onclick="return confirm_dan();">
</form>
10. chiv - 09 Ноября, 2005 - 03:06:35 - перейти к сообщению
Можно поподробнее про form($_POST)?
А то выяснильсь, что данные в форме это ссылки на поля базы. Следовательно придётся производить обработку данных и предложенные методы не подходят.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0415]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33