Программа Анкетирование на PHP с возможностью создания и редактирования анкет

Автор работы: Пользователь скрыл имя, 26 Июня 2013 в 13:46, дипломная работа

Краткое описание

Таким образом, необходимо автоматизировать процесс создания различных анкет и опросов для проведения анкетирования среди учащихся, студентов, преподавателей и сбора информации для анализа.
Для достижения поставленной цели дипломного проекта необходимо решить следующие задачи:
-анализ решаемой задачи;
-выбор языка программирования, наиболее полно отвечающего требованиям поставленной задачи;
-разработка интерфейса программы;
-разработка алгоритма функционирования как программы в целом, так и отдельных ее элементов, представляющих собой логически законченные функциональные блоки;
-разработка программы на алгоритмическом языке и ее отладка;
-разработка документации – создание описания принципов работы программы, описание ее составных частей, принципов их взаимодействия, классов.

Вложенные файлы: 1 файл

Пояснительная записка.doc

— 923.00 Кб (Скачать файл)

print($a[0]."--".$count);

}

print("<br>");

}

}

}

 

if(isset($_REQUEST['list'])&&($_REQUEST['list']!='')&&($_REQUEST['num'])!=''):

{

//добавление  данных в таблицу опросов и  генерирование второго варианта  загрузки страницы

mysql_query("Insert into list (name) values('".$_REQUEST['list']."')") or die(mysql_error());//проверка на ошибки

$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']."' method='post'>

<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['create'])):

{

print("Введите ответы на все нижеперечисленные вопросы:<br>

<form action='".$_SERVER['PHP_SELF']."' method='post'>");

$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]."',".$opros_id.")") or die(mysql_error());

$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($data))

{

//вставка данных  в таблицу с ответами

$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].")") or die(mysql_error());

}

$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']."' method='post'>

Название опроса:<input type='text' name='list'>

<br>

Кол-во вопросов:<input type='text' name='num'>

<br>

<input type='submit' name='list_' value='Создать'>

</form>");

}

endif;

//выход из  режима администратора

if(isset($_REQUEST['do'])&&$_REQUEST['do']=='logout')

{

//очистка сессии

$_SESSION=array();

//очистка кукис

unset($_COOKIE[session_name()]);

//уничтожение  хранилища сессии

session_destroy();

}

}

else

{

print("Извините,но для доступа к данной странице вы должны быть администратором<br> вы можете <a href='../index.php?do=reg'>зарегистироваться</a>,

пожалуйста  вернитесь на <a href='../'>главную</a>");

}

Файл users.php:

<?php

if(!isset($_REQUEST['do'])||isset($_REQUEST['do'])&&$_REQUEST['do']!='logout')

{

//начало сессии

//session_start();

}

//проверка на  логинизацию

if(isset($_SESSION['logged']))

{

include_once './db/connect.php';

$opros=mysql_query("SELECT * FROM list");

print("Список всех опросов<br>");

//вывод всех опросов

while($mas=mysql_fetch_row($opros))

{

//проверка на  прохождения данного опроса пользователем

$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']."' method='post'>Название  опроса-".$mas[1]."

<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></table>");

}

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>,

пожалуйста  вернитесь на <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']."'") or die(mysql_error());

$mas=mysql_fetch_row($user);

if(!isset($_REQUEST['login'])||$_REQUEST['login']==''):

$Reg1="<strong style='color:red;'>Введите  логин</strong>";

elseif($mas[0]!=''):

$Reg1="<strong style='color:red;'>Данный  логин уже используется</strong>";

elseif($_REQUEST['pas1']!=$_REQUEST['pas2']):

$Reg2="<strong style='color:red;'>Пароли не совпадают</strong>";

else:

$flag=true;

mysql_query("INSERT INTO users (name,password)

VALUES('".$_REQUEST['login']."','".$_REQUEST['pas1']."')") or die("Ошибка регистрации");

print('Вы успешно зарегестировались, теперь вы можете перейти на <a href="./index.php">Главную</a> страницу сайта для входа');

endif;

}

if (!$flag)

{

print("<form action='".$_SERVER['REQUEST_URI']."' method='post'>

<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'])&&$_REQUEST['do']=='logout')

{

//очистка сессии

$_SESSION = array();

//очистка кукис

unset($_COOKIE[session_name()]);

//уничтожение  хранилища сессии

session_destroy();

}

if (isset($_SESSION['msg_log'])&&isset($_SESSION['logged']))

{

print($_SESSION['msg_log']);

print("<H1 align='center'>Анкетирование</H1></div>");

}

else

{

print("<form action='".$_SERVER['PHP_SELF']."' method='post'>

<input type='text' name='user'>

<input type='password' name='password'>

<input type='submit' name='login' value='Войти'>

</form>");

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение Б

Информация о работе Программа Анкетирование на PHP с возможностью создания и редактирования анкет