Главная » Скрипты для uCoz » PHP Скрипты для ucoz » Хранение дополнительных полей

Хранение дополнительных полей

7.2 Kb ·
В этом примере демонстрируется как с помощью php-скриптов хранить какую-либо дополнительную информацию о пользователе. Скрипт создает на странице форму с дополнительными полями для текушего пользователя, которые он заполняет и нажимает кнопку "Обновить". Переданные данные сохраняются в файле и при повторном посещении страницы выводятся сверху до дополнительных полей. Таким образом, для каждого посетителя сайта хранятся введеные им дополнительные сведения. Данный скрипт можно использовать для хранения какой-либо информации о пользователе, на основании которой в дальнейшем создавать политику доступа данного пользователя к страницам сайта, группировать пользователей по интересам и т.п. Исходный код данного примера приведен ниже.
В шаблоне страницы:
Code
<?IF($USER_ID$)?>
  <div align="center">
  


  <b>Данный пример демонстрирует использование скрипта для хранения дополнительных полей текущего пользователя</b>
  </p>
  </div>
  <hr>
  <?$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php?uid=",$USER_ID$)?>
<?ELSE?>
  <div id="phpdiv">
  


  Вы не зарегистрированны. Пожалуйста, зарегистрируйтесь или войдите своей учетной записью
  </p>
  </div>
<?ENDIF?>

PHP скрипт примера:
Code
<?php
  if(count($_POST)>0)
  {
  $___notjson=1;
  $lines = file('additiondata.dat');
  if ($_POST['f0'] && $_POST['f1'] && $_POST['f2'] && $_POST['f3'] && $_POST['f4'])
  {
  foreach ($lines as $line_num => $line) {
  trim($line);
  list ($id, $data) = split("\t",$line,2);
  if ($id==$_POST['userid'])
  {
  unset($lines[$line_num]);
  file_put_contents('additiondata.dat', $lines);
  break;
  }
  }
  file_put_contents('additiondata.dat', $_POST['userid']. "\t". $_POST['f0']. "|". $_POST['f1']. "|". $_POST['f2']. "|". $_POST['f3']. "|". $_POST['f4']."\n", FILE_APPEND);
  echo "$('#adddata').html('

Ваш автомобиль: ".$_POST['f0']." ".$_POST['f1']."<\p>

Ваш телефон: ".$_POST['f2']." ".$_POST['f3']."<\p>

Ваш любимый день недели: ".$_POST['f4']."<\p>')";
  }
  else echo "$('#adddata').html('Неверно введены данные')";
  exit;
  }
  $lines = file('additiondata.dat');
  $status_ok=0;
  foreach ($lines as $line_num => $line) {
  trim($line);
  list ($id, $data) = split("\t",$line,2);
  if ($id==$_GET['uid'])
  {
  list ($a,$b,$c,$d,$e) = split("\|",$data,5);
  echo "<div id='adddata' align='center'>

Ваш автомобиль: $a $b</p>

Ваш телефон: $c $d</p>

Ваш любимый день недели: $e</p></div><hr>";
  $status_ok=1;
  break;
  }
  }
  if (!$status_ok) echo "<div id='adddata' align='center'>О вас еще нет дополнительных данных. Пожалуйста, введите их</div><hr>";
?>



Дополнительные данные</p>
<form action="/php/example001/example001.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">


<input type="hidden" name="userid" value="<?echo $_GET['uid']?>"></p>


Марка вашего авто: </p><input type="text" name="f0" />


Модель вашего авто: </p><input type="text" name="f1" />


Производитель вашего мобильного телефона: </p><input type="text" name="f2" />


Модель вашего мобильного телефона: </p><input type="text" name="f3" />


Любимый день недели: </p><input type="text" name="f4" />


<input type="submit" value="Обновить"></p>
</form>

ВАЖНО!
Использование отправленного скрипту идентификатора пользователя $USER_ID$ методом GET (со страницы сайта) или POST(из формы на странице) не является надежным и безопасным, т.к. он может быть подделан. Для безопасного получения реального идентификатора пользователя, который просматривает страницу с исполняемым скриптом, используйте в php скрипте функцию ucoz_getinfo("SITEUSERID"). В данном примере для этого необходимо изменить следующие строки:
1. C
Code
$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php?uid=",$USER_ID$)?>

на
Code
<?$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php)?>

2. C
Code
if ($id==$_POST['userid'])

на
Code
if ($id==ucoz_getinfo("SITEUSERID")

3. C
Code
file_put_contents('additiondata.dat', $_POST['userid']. "\t". $_POST['f0']. "|". $_POST['f1']. "|". $_POST['f2']. "|". $_POST['f3']. "|". $_POST['f4']."\n", FILE_APPEND);

на
Code
file_put_contents('additiondata.dat', ucoz_getinfo("SITEUSERID"). "\t". $_POST['f0']. "|". $_POST['f1']. "|". $_POST['f2']. "|". $_POST['f3']. "|". $_POST['f4']."\n", FILE_APPEND);

4. C
Code
if ($id==$_GET['uid'])

на
Code
if ($id==ucoz_getinfo("SITEUSERID"))

5. Удалить
Code


<input type="hidden" name="userid" value="<?echo $_GET['uid']?>"></p>

Источник


Последние темы на форуме:
 Почтовые акки с паролями
 Общение "часть 2 "
 Обмен регистрациями (Бесплатная раскрутка вашего сайта)
 Требуются Модераторы и Журналисты
 Оцените HD - кинотеатр



Теги: PHP Скрипты для ucoz, дополнительных, полей, Хранение
  • Добавил: Андрюха
  • Просмотров : 1493
  • Загрузок : 538
  • Добавлено: 24.10.2019
  • Категория: PHP Скрипты для ucoz






Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]