Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd w pliku. :P:roszę o pomoc.
Forum PHP.pl > Forum > Przedszkole
krysob
Witam,

Jestem nowy na forum i prosiłbym o pomoc.

Ściągnąłem skrypt z internetu, zainstalowałem bazę, było wszystko dobrze dopóki odpaliłem moduł i wyskoczył błąd:

Parse error: syntax error, unexpected T_STRING in /home/krysob/domains/local/public_html/modules/start_quiz.php on line 29
Czytałem na phppedia ale to jest temat za trudny (instrukcja której się nie spodziewał)
Z góry dziękuje za odpowiedz. Skrypt podzieliłem na dwie części.

Plik:

<?php if(!isset($RUN)) { exit(); } ?>
<?php

require "grid.php";
require "db/questions_db.php";
require "db/asg_db.php";
require "qst_viewer.php";

$app_display = "";
$msg_display = "none";
$timer_display ="";
$msg_text = "";
$qst_html ="";
$timer_script = "";
$timer_display = "none";
$pager_html="";
$pager_display="";


$user_id = $_SESSION['user_id'];
$asg_id = util::GetID("?module=active_assignments");
$_SESSION['asg_id']=$asg_id;

$active_asg = asgDB::GetActAsgByUserID($user_id, $asg_id);
$asg_num = db::num_rows($active_asg);
if($asg_num==0)
{
DisplayMsg("error","You don't have access to this quiz/survey",false);
goto end_this;
}

$asg_row = db::fetch($active_asg);
$status = intval($asg_row['user_quiz_status']);
$user_quiz_id = $asg_row['user_quiz_id'];
$_SESSION['user_quiz_id']=$user_quiz_id;
$quiz_type = $asg_row['quiz_type'];

if($status==0)
{
$date = util::Now();
$user_quiz_id=db::exec_insert(orm::GetInsertQuery("user_quizzes", array("assignment_id"=>$asg_id,
"user_id"=>$user_id,
"status"=>"1",
"added_date"=>$date,
"success"=>"0"
)));
}
else if($status>=2)
{
DisplayMsg("error"," You have already finished this quiz/survey",false);
goto end_this;
}

if($quiz_type=="1") // if survey
{
$timer_display= "";
$ended=ShowTimer($status,$asg_row);
if($ended==true) goto end_this;
}

$page = "?module=start_quiz&id=".$asg_id ;
$qst_viewer = new qst_viewer($page);
$qst_viewer->user_quiz_id=$user_quiz_id;
$priority = $qst_viewer->GetPriority();

if(isset($_POST['btnNext']))
{
UpdateValues();
if($_POST['finish_quiz']=="1") goto end_this;
$priority =$qst_viewer->GetNextPriority();
}
if(isset($_POST['btnPrev']))
{
$priority =$qst_viewer->GetPrevPriority();
}

if(isset($_POST['load_question']))
{
$priority = $_POST['load_priority'];
}

$qst_query = questions_db::GetQuestionsByPriority($priority, $asg_id, $user_id);
$row_qst = db::fetch(db::exec_sql($qst_query));

//echo $qst_query;

if($priority==1)
{
$qst_viewer->show_prev=false;
}
else if($row_qst['next_priority']==-1)
{
$qst_viewer->show_next=false;
$qst_viewer->show_finish=true;
}
//echo $qst_query;
$qst_viewer->BuildQuestionWithResultset($row_qst);
$qst_html = $qst_viewer->html;


// $row_num = db::num_rows($qst_results);

// if($row_num==0)
//{
// DisplayError("You don't have access to this quiz/survey");
//}





$pager_html = GetPager();

function UpdateValues()
{
global $user_quiz_id;

$db = new db();
$db->connect();
$db->begin();

try
{
$db->query(orm::GetDeleteQuery("user_answers", array("user_quiz_id"=>$user_quiz_id , "question_id"=>intval($_POST['qstID']))));
$date = date('Y-m-d H:i:s');
switch ($_POST['qst_type']) {

case 0 : // if checkbox
$chks = explode(";|",$_POST['post_data']);
for($i=0;$i<sizeof($chks);$i++)
{
$chk_value=trim($chks[$i]);
if($chk_value=="") continue;

$chk_value = intval($chk_value);
$query = orm::GetInsertQuery("user_answers", array("user_quiz_id"=>$user_quiz_id,
"question_id"=>intval($_POST["qstID"]),
"answer_id"=>$chk_value,
"user_answer_id"=>$chk_value,
"added_date"=>$date
));
$db->query($query);
}
break;
case 1 : //if radio button
$chk_value=trim($_POST['post_data']);
if($chk_value!="")
{
$chk_value = intval($chk_value);
$query = orm::GetInsertQuery("user_answers", array("user_quiz_id"=>$user_quiz_id,
"question_id"=>intval($_POST["qstID"]),
"answer_id"=>$chk_value,
"user_answer_id"=>$chk_value,
"added_date"=>$date
));
$db->query($query);
}
break ;
case 3 : // if free text area
$free_vals = explode(";|",$_POST['post_data']);
$answer_id=$free_vals[0];
$answer_text=$free_vals[1];
//if($chk_value!="")
//{
$query = orm::GetInsertQuery("user_answers", array("user_quiz_id"=>$user_quiz_id,
"question_id"=>intval($_POST["qstID"]),
"answer_id"=>$answer_id,
"user_answer_text"=>$answer_text,
"added_date"=>$date
));
$db->query($query);
// }
break ;
case 4 : // if muti text
$txts = explode(";|",$_POST['post_data']);
for($i=0;$i<sizeof($txts);$i++)
{
$txt_key_value=trim($txts[$i]);
if($txt_key_value=="") continue;

$txt_exp=explode(":|",$txt_key_value);
$txt_key = intval($txt_exp[0]);
$txt_value = $txt_exp[1];

if(trim($txt_key)=="" || trim($txt_value)=="") continue ;

$query = orm::GetInsertQuery("user_answers", array("user_quiz_id"=>$user_quiz_id,
"question_id"=>intval($_POST["qstID"]),
"answer_id"=>$txt_key,
"user_answer_text"=>$txt_value,
"added_date"=>$date
));
$db->query($query);
}

break;

}


if($_POST['finish_quiz']=="1")
{
$row=asgDB::UpdateUserQuiz($user_quiz_id,2);
$msg = GetQuizResults($row);
DisplayMsg("warning",$msg,true);
}

$db->commit();

}
catch(Exception $e)
{
echo $e->getMessage();
$db->rollback();
}
$db->close_connection();

}



function GetQuizResults($row)
{
global $quiz_type;

$msg = "Finished . Thank you . <br>";
if($row['show_results']=="1" && $quiz_type=="1")
{
$total = $row['total_point'];
if($row['results_mode']=="2") $results_mode = $row['total_perc']." %";

$msg.="Your total point: $total . Success point: ".$row['pass_score']." .";
$msg.="<br>";

if($row['quiz_success']=="1")
{
$msg.="You passed exam successfully!";
}
else
{
$msg.="Sorry, you didn't pass exam successfully";
}
}
return $msg;
}

function DisplayMsg($type,$msg,$isajax)
{
if(isset($_POST['ajax'])) $isajax=true;

if($isajax==true)
{
if($type=="error")
{
echo "error:".$msg;
}
else if($type=="warning")
{
echo "warni:".$msg;
}
else
{
echo $msg;
}
}
else
{
global $app_display,$msg_display,$msg_text,$timer_display,$pager_display;
$app_display="none";
$msg_display = "";
$msg_text=$msg;
$timer_display="none";
$pager_display="none";
}

// echo $msg;

}

function ShowTimer($status,$row)
{
$ended = false;
$start_date =$row['uq_added_date'];
if($status=="0") $start_date = util::Now();

$diff = abs(strtotime(util::Now()) - strtotime($start_date));

$total_minutes = intval($diff/60);

$minuets = intval($row['quiz_time']) - $total_minutes -1;
$seconds = 60-($diff%60);

if($total_minutes>=intval($row['quiz_time']))
{
global $user_quiz_id;
$row_results=asgDB::UpdateUserQuiz($user_quiz_id,3);
$msg="Time ended <br>";
$msg.=GetQuizResults($row_results);
DisplayMsg("message",$msg,false);
$ended=true;
}
else
{
global $timer_script;
$timer_script="<script language=javascript>Init_Timer($minuets,$seconds)</script>";
}
return $ended;

}

function GetPager()
{
global $priority,$asg_id,$page;
$res_qst=db::exec_sql(questions_db::GetQuestionsByAsgIdQuery($asg_id));
if(db::num_rows($res_qst)==0) return "";
$i=0;
$pager_html = "";
$finish = 0;
while($row=db::fetch($res_qst))
{
$i++;
$bgcolor="white";
if($priority==$row['priority'])
{
$bgcolor = "green";
}
$pager_html.= "<u><a style='cursor:pointer;background-color:$bgcolor' onmouseout='HideObject(\"tblTip\")' ".
" onmouseover='ShowQst(event.pageX, event.pageY ,".$row['priority'].")' onclick='LoadQst(\"$page\",$row[question_type_id],$row[priority],$row[id],$finish)'>".$i."</a></u>&nbsp;";
}

return $pager_html."&nbsp;&nbsp;";
}

if(isset($_POST['data_post']))
{
echo $qst_html."[{sep}]".$pager_html;
}

function desc_func()
{
return "Quiz / Survey";
}

end_this:

?>
wookieb
1) Błędna nazwa tematu
2) Brak bbcode
3) Forum nie parser

3X nie - dziękujemy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.