Пара вопросиков созрела...

Статус
Закрыто для дальнейших ответов.

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
'<!-- Часть №1 Лирическая (кому не интересно можно сразу перейти к части №2 :) ) -->'

Мдаа... вот по опыту вёрстки html уже знаю, что чем опытней кодер, тем код проще, логичнее... и т.д. и т.п... на своей шкуре, как говориться, испытал...
Ну так вот изучаешь, скажем, php... лезешь в глубь... пытаешься докапаться до секретов Гуру... всякие толстые и умные книжки изучаешь... и тут неожиданно в голову начинают приходить мысли - нужно сделать в общем-то простую обще принятую вещь, а как её сделать по проще и не перемудрить?

'<!-- Часть №2 -->'

Народ подскажите плиз пара вопросиков накопилась:

1. Как лучше сохранять уже заполненные данные в форме? Ну там бывает человек накосячил чего-то не так ввёл... в общем чтоб при перезагрузке страницы или возвращении к ней введённые данные не пропадали...

2. Как лучше при выводе на экран цены товара преобразовать число? В базе цены храняться просто набором цифр типа - 1348, а вывести хотелось бы так - 1'348 или 1.348... в общем чтоб понятно было что цена тысячу триста сорок восемь у.е... а не одна целая триста сорок восемь тысячных у.е...

P.S.: Заранее всем спасибо! :)
 

Nick

Well-Known Member
Регистрация
03.10.2006
Сообщения
87
По первому вопросу:
Храните данные в сессии

По второму:
Используйте
либо number_format
либо money_format
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Спасибо :)
А про сессии конкретней поясните плиз, если не сложно... ну кодик там для примера... а то я с ними не сталкивался ещё...
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Файл обработки данных(file_check.php)
Код:
<?
ob_start();
/*Если не праильные данные*/
session_start()
foreach($_POST as $key=>$value)
{
   $_SESSION[$key] = $value;
}

Header("location: file.php");

?>
file.php:
Код:
<?
session_start();
?>
<html>
<head>
</head>
<body>
   <form method="POST" action="file_check.php">
	  <input type="text" name="name" value="<?=@$_SESSION['name']?>">
	  <input type="password" name="pass" value="<?=@$_SESSION['pass']?>">
	  <input type="text" name="fio" value="<?=@$_SESSION['fio']?>">
	  ...........................................................................
...................
	  <input type="text" name="n" value="<?=@$_SESSION['n']?>">

	  <input type="submit" value="Отправить">
   </form>
</body>
</html>
Не привёл комменты, времени нет, сами разбирайтесь... :biggrin:
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
$_SESSION[$key] =htmlentities($value, ENT_QUOTES) ;
!!!!!!не забываем
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Оо Medwoodu! Ну это да, мона и addslashes($value) ))
Маладец что заметил ))))))
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Спасибо! Постараюсь разобраться...
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Вроде работает... но всплыли две проблемы:

1. При возвращении обратно к форме возникает проблема с кодировкой если в поле было введено что-то по-русски...
2. При возвращении обратно к форме не изменяются данные полей, прошедшие проверку, если их изменить при повторной отправке данных...

как быть? :blush:
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
1. header("content-type: text/html; charset: windows-1251"); или как-то так, либо meta тег в странице с формой
2. Вроде всё должно работать нормально... Тогда удаляйте сессию session_destroy() Это уже после вставки в поля ))

Удачи, возможно неправильног написал, не пробовал...
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Ок... попробую, хотя meta тег в странице с формой я вставил сразу... мож с хедером прокатит...
Вот только не совсем ясно куда поставить session_destroy(), чтоб данные удалялись после повторного обращения к форме для исправлений, а не после первой отправки данных?
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Типа так
Код:
<?
session_start();
?>
<html>
<head>
</head>
<body>
   <form method="POST" action="file_check.php">
	  <input type="text" name="name" value="<?=@$_SESSION['name']?>">
	  <input type="password" name="pass" value="<?=@$_SESSION['pass']?>">
	  <input type="text" name="fio" value="<?=@$_SESSION['fio']?>">
	  ...........................................................................
...................
	  <input type="text" name="n" value="<?=@$_SESSION['n']?>">

	  <input type="submit" value="Отправить">
   </form>
</body>
</html>
<?
if(isset($_SESSION)) session_destroy();
?>
Что-то на подобие ))))
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Оке... большое спасибо! :biggrin:
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Кстати, кому интересно - кодировка русского шрифта не работала из-за htmlentities($value, ENT_QUOTES) ;
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Medwoodu, просто надо было кодировку указать )))
Код:
htmlentities($value, ENT_QUOTES, "cp1251");
Enso, не за что... :tongue:
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Да точно, но с гореча поставил на её место addslashes() :rolleyes:
А про кодировку я узнал, когда залез в мануал по htmlentities(); что и подтвердил Alex
 
Статус
Закрыто для дальнейших ответов.
Верх Низ