[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простой тест на PHP
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
waldicom
<input type="submit"

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
AllesKlar
Цитата (maruo @ 3.01.2016 - 20:06)
Цитата
ты еще про "myform" и "input:submit" сразу объясни, а то все равно спрашивать будет


А что про них спрашивать он же написал myform это id формы, т.е перед формой мне надо сделать типо так <div id="myform"><form action......?</div>
input:submit ( тут я так понимаю мне надо submit заменить на button т.к у меня
$input 	.= '<button name="answer" value ="'.$row['a_id'].'"> '.$row['a_answer'].' </button>'.$end_line;	

Я так понимаю?

ой пля... я нечайно сюда зашел, извините smile.gif

<form id='myform' ....

А вообще, по-хорошему, тебе курсы нужны какие-нидь.
Пусть без живого педагога, хотябы книга, но чтобы не перепрыгивая главы, начиная с html и т.д. и т.п.

Иначе никак.

_____________
[продано копирайтерам]
redreem
Цитата
или жутко повезет и нечайно попадешь под Oracle

попасть под оракл - это благо smile.gif разве что чуть покостылить с limit smile.gif
maruo
Цитата
А вообще, по-хорошему, тебе курсы нужны какие-нидь.
Пусть без живого педагога, хотябы книга, но чтобы не перепрыгивая главы, начиная с html и т.д. и т.п.


От СПЕЦИАЛИСТ проходил курсы по php , сейчас на 3м уровне где они затрагивают ООП и sqlite
maruo
а какая версия все таки jquery?
А вроде бы подключил но не работает
Что не так?

<!DOCTYPE html>
<html>
<head>
<script
type="text/javascript" src="jquery-1.7.2.js"></script>

<meta
charset="utf-8" />
</head>
<body>
<script>
$(document).ready(function(){
$('#myform').on('submit', function(){ // myform - id формы
$('#myform input:submit').remove(); // убить кнопку нафиг
})
});</script>
<h4><?php
echo 'score'.$end_line.$_SESSION['count'];?></h4>
<h2><?php
echo $quest;?></h2>
<form
id="myform" action = "answer.php" method = "POST">
<?php
echo $hidden.$input;?>
</form>
</body>
</html>
maruo
$res = mysql_query($query) or die(mysql_error());
if($res){
if(mysql_num_rows($res) > 0){
while($row=mysql_fetch_assoc($res)){
$_SESSION['data'][] = $row['q_id'];
break ;
}
}
}



Таким способом помещаю ID вопросов которые вывелись. Не могу достроить логически, как мне исключить ID этих вопросов из запроса, что бы больше не выводились пока сессия существует.
Помогите пожалуйста.
Пробовал через функцию in_array делать , но там не корректно работает.
И по возможности Код постом выше Я все перепробовал что мог, не получается запретить многократное нажатие на кнопку.
AllesKlar
Цитата (maruo @ 4.01.2016 - 12:15)
а какая версия все таки jquery?
А вроде бы подключил но не работает
Что не так?

Свернутый текст
<!DOCTYPE html>
<html>
<head>
<meta
charset="utf-8" />
<script
type='text/javascript' src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>

$(document).ready(function(){
$('#myform').on('submit', function(){ // myform - id формы
$('#myform input:submit').remove(); // убить кнопку нафиг
})
});
</script>
</head>

<body>
<form
id="myform" action = "answer.php" method = "POST">
<input
type='submit' value='Ответ'>
</form>
</body>
</html>



_____________
[продано копирайтерам]
maruo
Не работает.

Мб проблема в этом обратите внимание на этот код.

if($res){
if(mysql_num_rows($res) > 0){
while($row=mysql_fetch_assoc($res)){

$quest = $row['q_quest'];
$hidden = ' <input type="hidden" name="quest" value="'.$row['q_id'].'">'.$end_line;
$input .= '<button name="answer" value ="'.$row['a_id'].'"> '.$row['a_answer'].' </button>'.$end_line;

}

}

}


У меня используются не сабмиты а ботоны и hidden)
neadekvat
AllesKlar, я бы испытал легкий приступ паники, если бы кнопка после нажатия исчезала. Может, достаточно задизейблить?
maruo
Цитата
AllesKlar, я бы испытал легкий приступ паники, если бы кнопка после нажатия исчезала. Может, достаточно задизейблить?


Да работало хотябы это а то ни то ни другое а я никак не могу понять в чем проблема.
AllesKlar
Цитата (neadekvat @ 4.01.2016 - 18:32)
AllesKlar, я бы испытал легкий приступ паники, если бы кнопка после нажатия исчезала. Может, достаточно задизейблить?

Это было от бессилия. Нельзя такое слово говорить в этой теме. Потому что рискуешь нарваться еще на 84 вопроса сопутсвующих, хоть и описанных подробно в документации.


Цитата (maruo @ 4.01.2016 - 18:33)
Да работало хотябы это а то ни то ни другое а я никак не могу понять в чем проблема.

Просто скопируй то, что я тебе написал в файл, сохрани его с расширением html, положи его на десктоп и открой в браузере.
Будет работать, поверь.

_____________
[продано копирайтерам]
maruo
Цитата
Просто скопируй то, что я тебе написал в файл, сохрани его с расширением html, положи его на десктоп и открой в браузере.
Будет работать, поверь.

а он у меня расширения php) в этом проблема?
А хотя он у меня же в блоке HTML
maruo
Не работает ни в HTML ни в каком расширении
arbuzmaster
в src добавь http:

<script type='text/javascript' src="//code.jquery.com/jquery-1.11.3.min.js"></script>

чтобы было так

<script type='text/javascript' src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

может в этом проблема, что jquery не подключена? И посмотри что в консоли браузер пишет!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
maruo
Проблему мне подсказали на киберфоруме, я думаю они правы.

Цитата
Некорректно ставите задачу.

Что происходит при отправке формы? Браузер посылает запрос серверу, сервер возвращает html-страницу, которую браузер отображает. Т.е. после отправки формы вы переходите на новую страницу, даже если её содержимое не отличается от старой.

Разумеется, никакие блокировки на повторное нажатие работать не будут, поскольку вы не совершаете повторных нажатий - после каждого нажатия страница перезагружается.

На мой взгляд, самое простое - хранить верные ответы в сессиях/куках, об этом я писал ранее.

Можно ещё придумать что-нибудь с AJAX (отправка формы без перезагрузки страницы, после чего блок кнопки), но это будет значительно сложней, и опытный юзер легко обойдёт эту защиту.

И получается я зря день провел , в поисках проблемы Js

А это собственно код
Свернутый текст
<? 
error_reporting(E_ALL);
header('content-type: text/html; charset=utf-8');
include_once("bd.php");
include("answer.php");



$end_line = "\n";
$difficulty = 1;

if($_SESSION['count'] == 5){
$_SESSION['count'] = 0;
$difficulty++ ;
}

$query = mysql_query("SELECT q_id FROM question WHERE difficulty=$difficulty ORDER BY RAND() LIMIT 1",$db);

$qrand1 = mysql_fetch_assoc($query);
foreach ($qrand1 as $qrand) {
$qrand = (int)$qrand;
}


$query = "(SELECT q.q_id, q.q_quest, a.a_id, a.a_answer, a.a_correct
FROM answer a
INNER JOIN question q USING(q_id) WHERE a.a_correct=1 AND q_id=
$qrand LIMIT 1)
UNION
(SELECT q.q_id, q.q_quest, a.a_id, a.a_answer, a.a_correct
FROM answer a
INNER JOIN question q USING(q_id) WHERE a.a_correct=0 AND q_id=
$qrand ORDER BY RAND() LIMIT 3)
ORDER BY RAND()
"
;

$input = null;
$res = mysql_query($query) or die(mysql_error());
if($res){
if(mysql_num_rows($res) > 0){
while($row=mysql_fetch_assoc($res)){
$_SESSION['data'][] = $row['q_id'];
break ;
}
}
}


if (in_array($row['q_id'],$_SESSION['data'])) {
//echo "Этот вопрос уже выводился ранее</br>";
}
$res = mysql_query($query) or die(mysql_error());
if($res){
if(mysql_num_rows($res) > 0){
while($row=mysql_fetch_assoc($res)){

$quest = $row['q_quest'];
$hidden = ' <input type="hidden" id="submit" name="quest" value="'.$row['q_id'].'">'.$end_line;
$input .= '<button name="answer" value ="'.$row['a_id'].'"> '.$row['a_answer'].' </button>'.$end_line;

}

}

}




//var_dump ($_SESSION['data']);
//unset($_SESSION['data']);
//echo '</br>'.$_SESSION['data']['16'];



?>
<!DOCTYPE html>
<
html>
<
head>

<
meta charset="utf-8" />
</
head>
<
body>
<
script>


</
script>
<
h4><?php echo 'score'.$end_line.$_SESSION['count'];?></h4>
<
h2><?php echo $quest;?></h2>
<
form action="answer.php" method = "POST">
<?php echo $hidden.$input;?>

</form>
</
body>
</
html>


Свернутый текст
<?
include_once('bd.php');
error_reporting(E_ALL);
session_start();

$difficulty = 1;

if($_SESSION['count'] == 5){
$_SESSION['count'] = 0;
$difficulty++ ;
}

$q_id = isset($_POST['quest'])?(int)$_POST['quest']:0;
$a_id = isset($_POST['answer'])?(int)$_POST['answer']:false;
if($q_id && $a_id){
$query = "SELECT a_correct, q_quest, (SELECT MAX(q_id) FROM question) m_id
FROM answer
LEFT JOIN question USING(q_id)
WHERE q_id=
$q_id
AND a_id=$a_id";

$res = mysql_query($query) or die(mysql_error());
if($res){
$row = mysql_fetch_assoc($res);

if($row['a_correct']==1){
$_SESSION['count'] ++;

header("Location: quest.php");
}else{
$_SESSION['count'] = 0;
$difficulty = 1;
header("Location: index.php");
}


$submit = '<input type="submit" value="Еще раз">';
if($q_id >= $row['m_id']){
$q_id = '0';
$submit = '<input type="submit" value="Пройти тест ещё раз">';
}
?>
<!DOCTYPE html>
<
html>
<
head>
<
meta charset="utf-8" />

</
head>
<
body>

<
h2><?php echo $message;?></h2>

</
form>
</
body>
</
html>
<?php
}
}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.