PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 22
im-sanek Отправлено: 12 Апреля, 2014 - 08:14:53 • Тема: Система тестирования на PHP • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 55
может, пригодится? посмотри тут
im-sanek Отправлено: 12 Сентября, 2012 - 14:28:03 • Тема: Ошибка filesize() • Форум: Работа с файловой системой и файлами

Ответов: 4
Просмотров: 2166
Green пишет:
Ваш код можно сократить кстати, если использовать glob().
попробовал, как ни странно помогло - и код сократился, и все заработало!
спасибо, проблема решена.
(Добавление)
ПС: кнопку спасибо нажал, но сообщений моих недостаточно, извини. ;)
im-sanek Отправлено: 12 Сентября, 2012 - 13:27:57 • Тема: Ошибка filesize() • Форум: Работа с файловой системой и файлами

Ответов: 4
Просмотров: 2166
путь до файла нормальный. такое наблюдаю, если и полностью прописать путь до файла.
выложу полностью фрагмент.
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo '<b>Файлы:</b><br><br>';
  2. $dir = opendir ("./uploads/files/");
  3.  
  4. while ($files=readdir($dir))
  5. {
  6.  if (($files!=".")&&($files!=".."))
  7. {
  8.         $fsize=filesize($files);
  9.     $i=0;
  10.     $name=array("B","kB","MB");
  11.     while($fsize>=1024) { $fsize/=1024; $i++; }        
  12.     echo '<a href="./uploads/files/'.$files.'">'.$files.'</a> ('.round($fsize,2).' '.$name[$i]; echo ')<br>';
  13.  }
  14. }
  15.  
  16. closedir($dir);

(Добавление)
строка 16 теперь строка 8
im-sanek Отправлено: 12 Сентября, 2012 - 13:11:19 • Тема: Ошибка filesize() • Форум: Работа с файловой системой и файлами

Ответов: 4
Просмотров: 2166
Цитата:
filesize(): stat failed for 123.rar in /var/www/site/loads/index.php on line 16

вот такая вот ошибка выдается при определении размера файла
строка 16:
подскажите, как добиться нужного результата?
im-sanek Отправлено: 22 Апреля, 2011 - 08:48:49 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
значит, пишу еще один файл "print.php" например в корне сайта, и на него перенаправляю по ссылке и содержимое генерируемой страницы. так?
im-sanek Отправлено: 22 Апреля, 2011 - 08:38:48 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
хочется еще сделать систему печати страницы. попытался дело это провернуть с помощью javascript
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="javascript:window.print();"><img src="./images/print.png" border=0 title="Печать страницы" alt="Печать страницы"></a>
да печатает всю вэб-страницу, а надо-то только ее динамическую часть.
подскажите php-способ печати страницы, или лучше использовать готовые скрипты печати?
(Добавление)
ПС пока не могу нажать кнопку "спасибо" - сообщений не хватает, но потом воздам сполна )))
im-sanek Отправлено: 21 Апреля, 2011 - 14:01:40 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
EuGen пишет:
при подстановке в это самое имя.
вот в это самое и я воткнулся, и так его, и этак...
как же так можно сделать, чтобы имена переменных повторялись в формате $A$i, где $i и повторяется от 1 до n? а?
что-то я седня туплю, туго до меня доходит, погода наверное...
(Добавление)
все-таки решил проблему, цикл составил.
im-sanek Отправлено: 21 Апреля, 2011 - 13:38:34 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
EuGen пишет:
Конечно. Вот пример:
PHP:
скопировать код в буфер обмена

1.

2.
$test='This is value!';
3.
$x='test';
4.
echo($$x);
5.
я разобрался, как это работает. но не уяснил, как могу применить в своем примере. Огорчение
im-sanek Отправлено: 21 Апреля, 2011 - 08:27:04 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
Как организовать цикл с таким телом:
PHP:
скопировать код в буфер обмена
  1.  
  2. $A1=$_POST['A1']; if ($A1==$_SESSION['Ar1'] and $A1!="") {$s++; $a1="+";} else {$a1="-";}
  3.  

чтобы все единички менялись от 1 до n? это возможно?
im-sanek Отправлено: 14 Апреля, 2011 - 11:22:14 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
Zuldek пишет:
Хорошая практика написания тестов — не писать правильные ответы в поле hidden после вопроса
Jampire пишет:
im-sanek, Совет: вопросы выводи из базы. Hidden можно посмотреть любым браузером, нужно только включить исходный код.
исправился, теперь подглядеть не получится в исходном коде.

теперь система уже более менее похожа на систему. можете попробовать по этому же адресу Логины и пароли там есть, можете добавить даже свой вопрос, пополнить так сказать базу тестов.
im-sanek Отправлено: 01 Апреля, 2011 - 08:28:33 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
Zuldek пишет:
не писать правильные ответы в поле hidden после вопроса
Jampire пишет:
Совет: вопросы выводи из базы. Hidden можно посмотреть любым браузером, нужно только включить исходный код.
это я знаю, пока бьюсь над этим вопросом. никак не могу передать следующему сценарию верный ответ.
код вывода вопросов:
PHP:
скопировать код в буфер обмена
  1.  
  2.         echo '
  3.  
  4.                 <form action="./index.php?mod=phys&id=result" method=post>
  5.  
  6.                 ';
  7.  
  8.         for ($i=0; $i<$an; $i++)
  9.  
  10.         {
  11.  
  12.          $a=mysql_fetch_array($adata);
  13.  
  14.          if ($a[part]=="A")
  15.  
  16.          {
  17.  
  18.          $m++;
  19.  
  20.          if ($a[ris]=="")
  21.  
  22.          {echo '<div style="display:block; float:right; width:200"><img src="./uploads/phys/none.gif" border="0" /></div>';}
  23.  
  24.          else {echo '<div style="display:block; float:right; width:200"><img src="./'.$a[ris].'" border="0" /></div>';}
  25.  
  26.          echo '
  27.  
  28.                 <b>A-'.$m.'. '.$a[name].'</b>
  29.                 <div style="">
  30.  
  31.                 <input type="radio" name=A'.$m.' value="1"> '.$a[v1].'
  32.                 <input type="radio" name=A'.$m.' value="2"> '.$a[v2].'
  33.                 <input type="radio" name=A'.$m.' value="3"> '.$a[v3].'
  34.                 <input type="radio" name=A'.$m.' value="4"> '.$a[v4].'
  35.                 <input type=hidden name="Ar'.$m.'" value="'.$a[otv].'">
  36.  
  37.                 </div><br /><br /><br />
  38.                 ';
  39.  
  40.          if ($m>6) {break;}
  41.  
  42.          }
  43.  
  44.         }
  45.  
  46.  

а вот код проверки ответов:
PHP:
скопировать код в буфер обмена
  1.  
  2. case 'result':
  3.  
  4.         $s=0;
  5.  
  6.         $A1=$_POST['A1']; $Ar1=$_POST['Ar1']; if ($A1==$Ar1) {$s++; $a1="+";} else {$a1="-";}
  7.  
  8.         $A2=$_POST['A2']; $Ar2=$_POST['Ar2']; if ($A2==$Ar2) {$s++; $a2="+";} else {$a2="-";}
  9.  
  10.         $A3=$_POST['A3']; $Ar3=$_POST['Ar3']; if ($A3==$Ar3) {$s++; $a3="+";} else {$a3="-";}
  11.  
  12.         $A4=$_POST['A4']; $Ar4=$_POST['Ar4']; if ($A4==$Ar4) {$s++; $a4="+";} else {$a4="-";}
  13.  
  14.         $A5=$_POST['A5']; $Ar5=$_POST['Ar5']; if ($A5==$Ar5) {$s++; $a5="+";} else {$a5="-";}
  15.  
  16.         $A6=$_POST['A6']; $Ar6=$_POST['Ar6']; if ($A6==$Ar6) {$s++; $a6="+";} else {$a6="-";}
  17.  
  18.         $A7=$_POST['A7']; $Ar7=$_POST['Ar7']; if ($A7==$Ar7) {$s++; $a7="+";} else {$a7="-";}
  19.  
  20.         $B1=$_POST['B1']; $Br1=$_POST['Br1']; if ($B1==$Br1) {$s=$s+2; $b1="2";} else {$b1="0";}
  21.  
  22.         $B2=$_POST['B2']; $Br2=$_POST['Br2']; if ($B2==$Br2) {$s=$s+2; $b2="2";} else {$b2="0";}
  23.  
  24.         $B3=$_POST['B3']; $Br3=$_POST['Br3']; if ($B3==$Br3) {$s=$s+2; $b3="2";} else {$b3="0";}
  25.  
  26.          
  27.  
  28.           $perc=round($s*100/13);
  29.  
  30.           if ($s==0) {$oc="Не удалось определить оценку. Либо выполнены не все задания, либо Вы учились очень плохо.";}
  31.  
  32.           if ($perc>0 and $perc<60)
  33.  
  34.           { $oc="двойка. Учитесь и учитесь..."; }
  35.  
  36.           if ($perc>=60 and $perc<75)
  37.  
  38.           { $oc="тройка. Нормально, но надо еще подтянуться..."; }
  39.  
  40.           if ($perc>=75 and $perc<95)
  41.  
  42.           { $oc="четверка. Неплохо, но маловато..."; }
  43.  
  44.           if ($perc>=95 and $perc==100)
  45.  
  46.           { $oc="пятерка. Хорошо..."; }
  47.  
  48.         echo '
  49.  
  50.                 <b>Ваши результаты</b>
  51.                 Цепочка ответов: '.$a1.$a2.$a3.$a4.$a5.$a6.$a7.'('.$b1.')('.$b2.')('.$b3.')
  52.                 Первичный балл: '.$s.'
  53.                 Процент: '.$perc.'%
  54.                 Оценка: '.$oc.'<br />';
  55.  
  56. break;
  57.  
im-sanek Отправлено: 31 Марта, 2011 - 08:27:27 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
как ни странно, система работает. Не понял
конечно, системой трудно назвать то, что мы сделали, но в принципе работает. хотя и нет админки, поддержки авторизации - система просто тупо задает вопросы, и так же тупо их оценивает и все. но зато как в ЕГЭ выдает цепочку ответов(плюсики-минусики, ну точно ЕГЭ).
можно оценить и заругать систему по этой сцыльке.
im-sanek Отправлено: 14 Марта, 2011 - 10:48:30 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
OrmaJever, гуд. +1
im-sanek Отправлено: 14 Марта, 2011 - 09:09:42 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
ладно, делаю сам...
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = trim((isset($_GET['id'])) ? $_GET['id'] : 'default');
  3. $category=mysql_query("SELECT * FROM category");
  4. $tema=mysql_query("SELECT * FROM tema");
  5. $polls=mysql_query("SELECT * FROM poll");
  6. switch ($id)
  7. {
  8.  default:
  9.       echo '
  10.                        <div align="center"><b>Список категорий</b></div>
  11.                                    <form action="./index.php?mod=test&id=tema" method=post>
  12.                    ';
  13.       while ($i<mysql_num_rows($category))
  14.       {
  15.        $kc = mysql_fetch_array($category);
  16.        echo '
  17.              <input type=radio name=kat value="'.$kc[id_cat].'">'.$kc[name_cat].'               ';
  18.            $i++;
  19.           }
  20.           echo '
  21.                 <input type=submit value="Далее">
  22.                         </form>
  23.                ';
  24.       echo '<br />';
  25.  break 1;
  26.  case 'tema':
  27.       if (!empty($_POST['kat'])) {$kat=$_POST['kat'];} else {echo 'Выберите предмет'; break;}
  28.       echo '
  29.                        <div align="center"><b>Список тем категории</b></div>
  30.                                    <form action="./index.php?mod=test&id=go" method=post>
  31.                    ';
  32.       while ($t<mysql_num_rows($tema))
  33.       {
  34.        $kt = mysql_fetch_array($tema);
  35.       if ($kt[id_cat]!=$kat)
  36.             { echo 'В этой категории нет тем'; break;}
  37.           else
  38.                 { echo '
  39.                 <input type=radio name=tem value="'.$kt[id_tema].'">'.$kt[name_tema].'             ';
  40.                 }
  41.           $t++;
  42.           }
  43.       echo '
  44.                 <input type=submit value="Приступить">
  45.                         <input type=hidden name=kat value='.$kat.'>
  46.            </form>
  47.                                    ';
  48.  break 1;
  49.  case 'go':
  50.       if (!empty($_POST['kat'])) {$kat=$_POST['kat'];} else {echo 'Выберите предмет'; break;}
  51.       if (!empty($_POST['tem'])) {$tem=$_POST['tem'];} else {echo 'Выберите тему'; break;}
  52.           echo '<br />';
  53.           echo '<b>Ответьте на вопросы:</b>            <form action="./index.php?mod=test&id=result" method=post>
  54.                ';
  55.           $voteok=0;
  56.           $vsepolls=mysql_num_rows($polls);
  57.           while ($z<10)
  58.           {
  59.            $n=$z+1;
  60.            $kp=mysql_fetch_array($polls);
  61.            if ($kp[id_tema]!=$tem)
  62.            { echo 'Вопросов по этой теме в базе нет.'; break; }
  63.            else
  64.            {
  65.             echo '<br />'
  66.                           .$n.'. '.$kp[name_poll].'                       <div style="display:block;float:left;width:25%"><input type="radio" name=vote'.$n.' value="1"> '.$kp[vote1].'</div>
  67.                           <div style="display:block;float:left;width:25%"><input type="radio" name=vote'.$n.' value="2"> '.$kp[vote2].'</div>
  68.                           <div style="display:block;float:left;width:25%"><input type="radio" name=vote'.$n.' value="3"> '.$kp[vote3].'</div>
  69.                           <div style="display:block;float:left;width:25%"><input type="radio" name=vote'.$n.' value="4"> '.$kp[vote4].'</div>
  70.                           <br />                 ';
  71.                 if ($vote[$n]=$kp[r_vote])
  72.                 { $voteok=$voteok+1; }
  73.             }
  74.           $z++;
  75.           }
  76.           echo '
  77.                                 <input type=submit value="Ответить">
  78.                         <input type=hidden name=kat value='.$kat.'>
  79.                         <input type=hidden name=tem value='.$tem.'>
  80.                 </form>
  81.                                            ';
  82.  break 1;
  83.  case 'result';
  84.           if (!empty($_POST['kat'])) {$kat=$_POST['kat'];}
  85.       if (!empty($_POST['tem'])) {$tem=$_POST['tem'];}
  86.           echo '               Ваши результаты:            ';
  87.           echo 'Количество верных ответов: '.$voteok;
  88.  break;
  89. }
  90.  

по кейсу 'go': как выхватить из таблицы в БД 10 случайных записей? 10 случайных вопросов.
im-sanek Отправлено: 09 Марта, 2011 - 13:05:42 • Тема: Помогите с разработкой пректа • Форум: Напишите за меня, пожалуйста

Ответов: 21
Просмотров: 173
как организовать эту структуру?
PHP:
скопировать код в буфер обмена
  1.  
  2. $cat=mysql_query("SELECT * FROM category");
  3.  
  4. $tema = mysql_query("SELECT * FROM tema");
  5.  
  6. $poll=mysql_query("SELECT * FROM poll");
  7.  
  8.  
  9.  
  10. $id = trim((isset($_GET['id'])) ? $_GET['id'] : 'default');
  11.  
  12. switch ($id)
  13.  
  14. {
  15.  
  16.  default:
  17.  
  18. #выбор категории и темы из  этой категории
  19. #и кнопка "приступить"
  20. break 1;
  21.  
  22.  case 'go':
  23.  
  24. #проводим тестирование по выбранным категории и теме
  25. #попутно считаем кол-во верных ответов
  26. #кнопки "предыдущий", "следующий", "отмена"
  27. break 1;
  28.  
  29.  case 'result':
  30.  
  31. #выводим результаты тестов
  32. break 1;
  33.  
  34. }
  35.  
  36.  
  37.  
  38.  

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB