Автор работы: Пользователь скрыл имя, 26 Июня 2013 в 13:46, дипломная работа
Таким образом, необходимо автоматизировать процесс создания различных анкет и опросов для проведения анкетирования среди учащихся, студентов, преподавателей и сбора информации для анализа.
Для достижения поставленной цели дипломного проекта необходимо решить следующие задачи:
-анализ решаемой задачи;
-выбор языка программирования, наиболее полно отвечающего требованиям поставленной задачи;
-разработка интерфейса программы;
-разработка алгоритма функционирования как программы в целом, так и отдельных ее элементов, представляющих собой логически законченные функциональные блоки;
-разработка программы на алгоритмическом языке и ее отладка;
-разработка документации – создание описания принципов работы программы, описание ее составных частей, принципов их взаимодействия, классов.
print($a[0]."--".$count);
}
print("<br>");
}
}
}
if(isset($_REQUEST['list'])&&(
{
//добавление
данных в таблицу опросов и
генерирование второго
mysql_query("Insert into list (name) values('".$_REQUEST['list']."'
$res=mysql_query("SELECT
* FROM list where name='".$_REQUEST['list']."'")
$r=mysql_fetch_assoc($res);
$num=$_REQUEST['num'];
//создание второй формы ввода вопросов
print("Введите названия вопросов и количества ответов:<br>
<form action='".$_SERVER['PHP_SELF']
<input type='hidden' name='list_id' value='".$r['list_id']."'>
<input type='hidden' name='num' value='".$num."'>");
for($i=1;$i<=$num;$i++)
{
print("Вопрос:<textarea name='q_$i'>q_$i</textarea>
<br>
Кол-во ответов:<input type='text' name='num_$i' value='1'>
<br>");
}
print("<input type='submit' name='create' value='Создать'>
</form>");
}
elseif(isset($_REQUEST['
{
print("Введите ответы на все нижеперечисленные вопросы:<br>
<form action='".$_SERVER['PHP_SELF']
$opros_id=$_REQUEST['list_id']
$num=$_REQUEST['num'];
print("<input type='hidden' name='list_id' value='$opros_id'>");
//print_r($_REQUEST);
for($i=1;$i<=$num;$i++)
{
$str='q_'.$i;
print("Ответы на вопрос ' ".$_REQUEST[$str]." ':
<br>");
//ввод данных в таблицу вопросов
mysql_query("INSERT INTO questions (q_text,list_id)
VALUES('".$_REQUEST[$str]."',"
$res=mysql_query("SELECT
* FROM questions where q_text='".$_REQUEST[$str]."'")
$r=mysql_fetch_assoc($res);
$qid=$r['quest_id'];
$str='num_'.$i;
$kol=$_REQUEST[$str];
//формирование формы для ввода ответов на вопросы
for($j=1;$j<=$kol;$j++)
{
$str1='a_'.$i.'_'.$j;
print("Ответ №$j:<input type='text' name='$str1' value='a_$j'>
<br>");
}
print("<input type='hidden' name='num_$i' value='$kol'>");
}
print("<input type='submit' name='add' value='Ввести'>
</form>");
}
elseif(isset($_REQUEST['add'])
{
$opros_id=$_REQUEST['list_id']
$data=mysql_query("SELECT * FROM list where list_id=$opros_id");
$res=mysql_fetch_assoc($data);
$tbl_name=$res['name'];
$data=mysql_query("SELECT * FROM questions where list_id=$opros_id");
//print_r($_REQUEST);
$j=1;
while($res=mysql_fetch_row($
{
//вставка данных в таблицу с ответами
$str='num_'.$j;
$mas[]=$res[1];
//print_r($res);
$num=$_REQUEST[$str];
for($i=1;$i<=$num;$i++)
{
$str='a_'.$j.'_'.$i;
$ans=$_REQUEST[$str];
mysql_query("INSERT into
answers (a_text,quest_id) Values('".$ans."',".$res[0].")
}
$j++;
}
$sql="CREATE TABLE `list_$tbl_name` ( `id` INT(3) auto_increment primary key, `users` INT(6)";
for($i=0;$i<count($mas);$i++)
{
$sql=$sql.", `$mas[$i]` TEXT(200) NOT NULL";
}
$sql=$sql." )";
if(mysql_query($sql))
{
print("<br>Вы успешно создали новый опрос вернитесь на <a href='./'>главную</a>");
}
else
{
die(mysql_error());
}
}
else:
{
//вывод изначальной формы создания опроса
print("Созданание нового опроса:<br>
<form action='".$_SERVER['PHP_SELF']
Название опроса:<input type='text' name='list'>
<br>
Кол-во вопросов:<input type='text' name='num'>
<br>
<input type='submit' name='list_' value='Создать'>
</form>");
}
endif;
//выход из режима администратора
if(isset($_REQUEST['do'])&&$_
{
//очистка сессии
$_SESSION=array();
//очистка кукис
unset($_COOKIE[session_name()]
//уничтожение хранилища сессии
session_destroy();
}
}
else
{
print("Извините,но для доступа
к данной странице вы должны быть администратором<br>
вы можете <a href='../index.php?do=reg'>
пожалуйста вернитесь на <a href='../'>главную</a>");
}
Файл users.php:
<?php
if(!isset($_REQUEST['do'])||
{
//начало сессии
//session_start();
}
//проверка на логинизацию
if(isset($_SESSION['logged']))
{
include_once './db/connect.php';
$opros=mysql_query("SELECT * FROM list");
print("Список всех опросов<br>");
//вывод всех опросов
while($mas=mysql_fetch_row($
{
//проверка на
прохождения данного опроса
$id=$_SESSION['id'];
$ch=mysql_query("SELECT * FROM list_".$mas[1]." WHERE users=".$id);
if ($ch)
{
$proverka=mysql_fetch_row($ch)
}
if(empty($proverka))
{
print("<table><tr><td><form
action='".$_SERVER['PHP_SELF']
<input type='hidden' name='list' value='$mas[1]'></td></tr>");
$que=mysql_query("SELECT * FROM questions WHERE list_id=".$mas[0]);
//вывод всех вопросов
while($q=mysql_fetch_row($que)
{
print("<tr><td><input type='hidden' name='q_$q[0]' value='$q[1]'>$q[1]:</td>");
$ans=mysql_query("SELECT * FROM answers WHERE quest_id=".$q[0]);
//вывод всех ответов
print("<td>:");
while($a=mysql_fetch_row($ans)
{
print("<input type='radio' name='answer_$q[0]' value='$a[1]'>$a[1]");
}
print("<input type='radio' name='answer_$q[0]' value='var'>Свой вариант
<input type='text' name='typed_$q[0]' value=''>");
print("</td>");
}
print("<tr><td><input
type='submit' name='an_opr' value='Ответить'></form></td><
}
else
{
print('Вы уже участвовали в опросе -'.$mas[1].'<br>');
}
}
if(isset($_REQUEST['an_opr']))
{
$a=$_REQUEST;
$typed=false;
foreach($a as $k=>$v)
{
$key=explode('_',$k);
if($key[0]=='list'):
{
$tbl_name=$v;
}
elseif($key[0]=='q'):
{
$row[]=$v;
}
elseif($key[0]=='answer'):
{
if ($v!='var')
{
$answ[]=$v;
$typed=false;
}
else
{
$typed=true;
}
}
elseif($key[0]=='typed'):
{
if ($typed)
{
$answ[]=$v;
}
}
else:
{
//...
}
endif;
}
//print_r($answ);
//заполнение sql запроса,выбор таблицы для вставки и колонок таблицы
$sql='INSERT INTO `list_'.$tbl_name.'` (`users`,';
for($i=0;$i<count($row);$i++)
{
if($i==count($row)-1)
{
$sql=$sql.'`'.$row[$i].'`'.')'
}
else
{
$sql=$sql.'`'.$row[$i].'`'.', ';
}
}
//вставка значений в sql запрос
$sql=$sql." VALUES('".$_SESSION['id']."', ";
for($i=0;$i<count($answ);$i++)
{
if($i==count($answ)-1)
{
$sql=$sql."'".$answ[$i]."'".')
}
else
{
$sql=$sql."'".$answ[$i]."'".', ';
}
}
if(mysql_query($sql))
{
print("Спасибо за участие в опросе,ваши голоса будут учтены. Перейти на <a href='./'>главную</a><br>");
}
else
{
die(mysql_error());
}
}
}
else
{
print("Извините,но для участия
в опросе вам необходимо <a href='./index.php?do=reg'>
пожалуйста вернитесь на <a href='./'>главную</a>");
}
Файл reg.php:
<?php
include_once './db/connect.php';
print('<h1>Регистрация</h1>');
$flag=false;
$Red1="";
$Reg2="";
if(isset($_REQUEST['register']
{
$user=mysql_query("SELECT
* FROM users WHERE name='".$_REQUEST['login']."'"
$mas=mysql_fetch_row($user);
if(!isset($_REQUEST['login'])|
$Reg1="<strong style='color:red;'>Введите логин</strong>";
elseif($mas[0]!=''):
$Reg1="<strong style='color:red;'>Данный
логин уже используется</
elseif($_REQUEST['pas1']!=$_
$Reg2="<strong style='color:red;'>Пароли не совпадают</strong>";
else:
$flag=true;
mysql_query("INSERT INTO users (name,password)
VALUES('".$_REQUEST['login']."
print('Вы успешно зарегестировались, теперь вы можете перейти на <a href="./index.php">Главную</a> страницу сайта для входа');
endif;
}
if (!$flag)
{
print("<form action='".$_SERVER['REQUEST_
<table>
<tr>
<td>Имя пользователя:</td>
<td><input type='text' name='login' size='16'>");
if (isset($Reg1))
print($Reg1);
print("</td>
</tr>
<tr>
<td>Пароль:</td>
<td><input type='password' name='pas1' size='16'></td>
</tr>
<tr>
<td>Повторите пароль:</td>
<td><input type='password' name='pas2' size='16'>");
if (isset($Reg2))
print($Reg2);
print("</table>
<input type='submit' name='register' value='Регистрация' size='10'></form>");
}
?>
Файл top.php:
<?php
print("<html>
<body><div width='100%' height='10%' background='#CC00DD' align='left'>");
if(isset($_REQUEST['do'])&&$_
{
//очистка сессии
$_SESSION = array();
//очистка кукис
unset($_COOKIE[session_name()]
//уничтожение хранилища сессии
session_destroy();
}
if (isset($_SESSION['msg_log'])&&
{
print($_SESSION['msg_log']);
print("<H1 align='center'>Анкетирование</
}
else
{
print("<form action='".$_SERVER['PHP_SELF']
<input type='text' name='user'>
<input type='password' name='password'>
<input type='submit' name='login' value='Войти'>
</form>");
}
Приложение Б
Информация о работе Программа Анкетирование на PHP с возможностью создания и редактирования анкет