Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2012, 13:50   #11
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию

Уважаемые программисты! ну хоть идеями поделитесь а? А то ваще как-то тихо стало на.....
bakhityar_s вне форума Ответить с цитированием
Старый 05.04.2012, 14:01   #12
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

да никто не будет скачивать архив.. разбираться.. кому это надо?
вы покажите конкретный кусок кода где что-то не работает - тогда подскажем, поможем..
иначе во фриланс - мол все не работает, а хочется.. денег дам стока...
ADSoft вне форума Ответить с цитированием
Старый 05.04.2012, 14:09   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от bakhityar_s Посмотреть сообщение
Нажимаю добавить, выдает форму. Вписываю вопрос, варианты ответа и отправить - выкидывает на главную форму. в БД ничего не добавляет.
Ищите, в каком скрипте происходит сам процесс добавления вопросов в БД.
При каких условиях этот скрипт вызывается?
Соблюдаются ли у вас эти условия?

Цитата:
Сообщение от bakhityar_s Посмотреть сообщение
Нажимаю начать тест. Выдает 1-й вопрос с вариантами. Выбираю вариант ответа нажимаю отправить также выкидывает на главную форму. в базу также ничего не добавляется!
Ищите, в каком скрипте происходит запрос и показ тестовых вопросов.
Где именно происходит обработка ответов и сам процесс добавления ответов в БД.
При каких условиях этот скрипт вызывается?
Соблюдаются ли у вас эти условия?
Andkorol вне форума Ответить с цитированием
Старый 05.04.2012, 14:19   #14
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию

Вывод вопросов из БД:

PHP код:
<?     mysql_connect("localhost","root","");
            
mysql_query("SET NAMES cp1251");
  
  
mysql_select_db("question");
       
            
$s_q_1="SELECT * FROM `question` ";
     
$r_q_1=mysql_query($s_q_1) or die("Ошибка выбора вопроса".mysql_error());
     
$col_v=mysql_num_rows($r_q_1);
     
  
$tmp_rec $_GET['tmp_rec'];
  echo 
$tmp_rec;
  
$ask $_GET['ask'];
  
$ask1 $_GET['ask1'];
  
$id_q $_GET['id_q'];
  
$col $_GET['col'];
   
$j = empty($_GET['j'])?0:$_GET['j'];    
   if(empty(
$col))
   {
     
$col=$col_v;
   } 
    echo 
$tmp_res;
       
//записываю предыдущий ответ  
    
if( $tmp_rec == 'yes' )
     {
       
         if(empty(
$ask1))
         {
       
$sql_int="INSERT INTO otvet VALUES(null,'$id_q','$ask','$host_')";
         }
         else
         {
       
$sql_int="INSERT INTO otvet VALUES(null,'$id_q','$ask1','$host_')";      
         }
       
$res_int=mysql_query($sql_int) or die("Ошибка записи в базу-".mysql_error());
     
     }
     
//записываю предыдущий ответ
          
    
if($j<=$col)
    { 
     if(empty(
$j) or $j==0)
     {
         
$j=1;
     }

     
     
//echo $j;
     
$s_q="SELECT * FROM `question` where id_q=$j ";
     
$r_q=mysql_query($s_q) or die("Ошибка выбора вопроса".mysql_error());
     
 
  
$row mysql_fetch_object($r_q);
//------ помещаем данные из записи в массив ответов ---------
    
$id_q=$row->id_q;
    
$question=$row->question;
    
$array_ask[0] = $row->num1;
    
$array_ask[1] = $row->num2;
    
$array_ask[2] = $row->num3;
    
$array_ask[3] = $row->num4;
    
$array_ask[4] = $row->num5;
    
$array_ask[5] = $row->other;  
    
//$array_ask[4] = $row->ask5;
    
$j++; // следуюший вопрос
        
    
echo("    <form name='questionform' method='get' action='#'>
              <input type='hidden' name='j' value='
$j'> 
              <input type='hidden' name='col' value='
$col_v'>
              <input type='hidden' name='tmp_rec' value='yes'> 
              <input type='hidden' name='id_q' value='
$id_q'>
              <input type='hidden' name='host_' value='
$host_'> 
              
                
            <table align='center' width='80%' border=0 cellspacing='0'>
                <tr> <td>Вопрос № <span id='cl' style='font-style:italic; font-size:24px;'>"
$a=$j-1  ."</sapn></td>
                <tr> <td STYLE='background:#ddddff; border-style: solid; border-width: 1px; border-top-color: blue; border-right-color: blue;border-bottom-color: blue; border-left-color: blue;'>
                     <font size=4><b>
$row->question</b> </font></td> </tr> 
        "
);
    for(
$iask=0$iask<=4$iask++){
            
$tmp $array_ask[$iask];
            if(
$array_ask[$iask] != '')
            {
            
                echo(
"\n\t <tr>    <td style='border-style: solid; border-width: 1px; border-right-color: blue; border-left-color: blue;'>
                <input type='radio' name='ask' value='
$iask'><font size=2> <b> $array_ask[$iask] </b></font> </td></tr>");
            }
           
        } 
// end_for($iask=0; $iask<=4; $iask++){
          
echo("\n\t <tr>    <td style='border-style: solid; border-width: 1px; border-right-color: blue; border-left-color: blue;'>
               <font size=2> <b> другое 
$array_ask[5] </b></font></td></tr>");
    echo(
"    <tr>    <td align='center' style='border-style: solid; border-width: 1px; border-top-color: blue; border-right-color: blue;border-bottom-color: blue; border-left-color: blue;'>
            <input type='submit' name='submitbutton' value='Отправить'>  </td> </tr>
            </table>
            </form>
         "
);  
    }
    else
    {
      
$j=0;
        echo(
"    <form name='questionform' method='post' action='#'> ");
      echo 
'<input type="hidden" name="j" value="$j">
        <input type="hidden" name="ques" value="1">  '
;
    
      
//echo '<input type="submit" name="next" value="Результат"> </form>'; 
                                              
echo "<font size=4 color='green'><b>Спасибо за участие в опросе!</b></font>";
    } 
// количество 
   
if(isset($next))        
   {
      
//header("Location: index.php?ques=1");
       
   
}
 
?>
bakhityar_s вне форума Ответить с цитированием
Старый 05.04.2012, 14:20   #15
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию

Ввод новых вопросов и вариантов ответа:
PHP код:
<?php

if(isset($_GET['btn_add']))
{

$question $_GET['text'];
$answer1  $_GET['answer1']; 
$answer2  $_GET['answer2'];
$answer3  $_GET['answer3'];
$answer4  $_GET['answer4'];
 
$answer5  $_GET['answer5'];    
$answer6  $_GET['answer6'];
  include 
"function.php";
 echo 
ans($question$answer1$answer2$answer3$answer4$answer5,$other);
 
 } 
   
?>
<html>
<head>
<style type= "text/css">
<!--
table
{
text align: left;
 width:60%;
 border:0;
 cellspacing:0;}
tr 
 {
 font-style:italic;
 font-size: 20px;
  border-style: solid;
 border-width: 1px;
 border-color: blue;
 }
 td 
 
 {
 border-style: solid;
 border-width: 1px;
 border-top-color: blue; 
 border-right-color: blue;
 border-bottom-color: blue;
 border-left-color: blue;}
 }
 th 
 
 {border-width: 1px;
 border-style: solid;
 border-top-color: blue; 
 border-right-color: blue;
 border-bottom-color: blue;
 border-left-color: blue;}
 }
 
 thead {
 font-size:20px;
 background:#ddddff;}
 
-->

</style>
</head>
<body>
<table id="table">
<col id="question"/>
<thead>
<form action="" method="get">
<tr>
<th>
<p>
<b>Вопрос №</b><br/>
<textarea cols="80" rows="5" name="text">
</textarea>
</p>
</th>
</tr>
</thead>
<tr>
<td>
<p>
<label for="choice1">
<textarea cols="80" rows="2" name="answer1">
</textarea>
</label>
</p>
</td>
</tr>

<tr>
<td>
<p> 
<label for="choice2">
<textarea cols="80" rows="2" name="answer2">
</textarea>
</label>
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for="choice3">
<textarea cols="80" rows="2" name="answer3">
</textarea>
</label>
</p>
</td>
</tr>

<tr>
<td>
<p>
<label for="choice4">
<textarea cols="80" rows="2" name="answer4">
</textarea>
</label>
</p>
</td>
</tr>

<tr>
<td>
<p>
<label for="choice5">
<textarea cols="80" rows="2" name="answer5">
</textarea>
</label>
</p>
</td></tr>
<tr><td><p>Другое <input type="checkbox" name="answer6" > </p></td></tr>
<tr><td><p><input type="submit" value="Отправить" name="btn_add"/>
</p></td>
</tr>
</form>
</table>
</body>
</html>
Вот функция которая забивает данные:
PHP код:
<?
function ans($question$answer1$answer2$answer3$answer4$answer5,$other)


mysql_connect("localhost","root","");
       
mysql_query("SET NAMES cp1251");
         
mysql_select_db("question");

            if(
$_GET['answer6'] == 'on')
            {
     
               
$other ="<input type='text' name='ask1' >";
              
$other mysql_escape_string($other);
            }else
                {
                    
$other "";
                }
      
      
$sql="insert into question value(null, '$question', '$answer1', '$answer2', '$answer3', '$answer4', '$answer5','$other')";
      
$res mysql_query($sql) or die("Не могу записать данные"mysql_error()) ;
       if(
$res)
      {
      return 
$all "Данные записаны";
      }else
      {
      return 
$all "Данные НЕ записаны";
      }

?>
bakhityar_s вне форума Ответить с цитированием
Старый 05.04.2012, 14:22   #16
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
да никто не будет скачивать архив.. разбираться.. кому это надо?
вы покажите конкретный кусок кода где что-то не работает - тогда подскажем, поможем..
иначе во фриланс - мол все не работает, а хочется.. денег дам стока...
Как теперь, Мистер ADSoft???
Просто я не часто пишу в форум и не знаю что нужно а что нет. Извините!
bakhityar_s вне форума Ответить с цитированием
Старый 05.04.2012, 14:29   #17
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от bakhityar_s Посмотреть сообщение
Ввод новых вопросов и вариантов ответа:
Ок - и при каких условиях происходит вызов этого скрипта?
Где в коде index.php это происходит?
Andkorol вне форума Ответить с цитированием
Старый 05.04.2012, 16:28   #18
Xenm
Пользователь
 
Регистрация: 15.09.2010
Сообщений: 38
По умолчанию

Нечем было заняться, решил глянуть код... Поначалу обрадовался увидев файл config.php, сменил там настройки подключения к БД, но как оказалось это не единственное место (таких мест оказалось как минимум 3), где заново вызывалась функция mysql_connect. Вообщем ладно по делу:
В файле index.php: $_GET['var'] == 'add'(нажатие кнопки добавить) -> include "question2.php"; здесь подключаеться файл question2.php, в котором есть форма, параметр action которой никуда не указывает (<form action="" method="get">), следовательно данные отправляются файлу index.php. А в файле index.php не происходит никакой обработки формы, т.е. надо указать action="question2.php". По идее добавление должно работать. И ещё $answer1 = $_GET['answer1'], хоть проверяй есть ли answer1, и не будет у тебя предупреждений.
PS: Код просто ужасен.

Последний раз редактировалось Xenm; 05.04.2012 в 16:39.
Xenm вне форума Ответить с цитированием
Старый 05.04.2012, 19:42   #19
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию Xenm!

Рахмет тебе большое!!!! Он реально стал добавлять данные в базу! сам я до этого не допёр! !!!!!!!!!!!!!!!!
А как быть с выводом информации??? Помоги плиз!!!!!

Согласен с тобой! код реально гавно (извините за выражение)! сам я больше в ооп программирую. и считаю чем писать такой код лучше ваще не писать. чисто мое мнение! =))))))))))))))
bakhityar_s вне форума Ответить с цитированием
Старый 05.04.2012, 19:45   #20
bakhityar_s
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Xenm Посмотреть сообщение
Нечем было заняться, решил глянуть код... Поначалу обрадовался увидев файл config.php, сменил там настройки подключения к БД, но как оказалось это не единственное место (таких мест оказалось как минимум 3), где заново вызывалась функция mysql_connect. Вообщем ладно по делу:
В файле index.php: $_GET['var'] == 'add'(нажатие кнопки добавить) -> include "question2.php"; здесь подключаеться файл question2.php, в котором есть форма, параметр action которой никуда не указывает (<form action="" method="get">), следовательно данные отправляются файлу index.php. А в файле index.php не происходит никакой обработки формы, т.е. надо указать action="question2.php". По идее добавление должно работать. И ещё $answer1 = $_GET['answer1'], хоть проверяй есть ли answer1, и не будет у тебя предупреждений.
PS: Код просто ужасен.
Xenm, спасибо тебе большое! я разобрался и с выводом вопросов! я твой должник реально!
bakhityar_s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
wodrpress и база данных MySQL deni1982 WordPress и другие CMS 2 01.02.2011 19:46
База данных на MySQL gessi Фриланс 1 29.09.2010 09:46
MYSQL база данных Rapala Фриланс 1 19.05.2010 21:57
База данных MySQL и кодировка! nikolai_P SQL, базы данных 3 17.11.2009 22:50
Необходимо дописать простой скрипт на PHP+Mysql kutt Фриланс 8 08.10.2009 13:09