Problem z formularzem kwestionariusza w php

Forum poświęcone skryptom, językom programowania, serwerom i hostingowi, domenom itp.
andrewn
Posty: 1
Rejestracja: 02 lipca 2013, 08:30

Problem z formularzem kwestionariusza w php

Post autor: andrewn » 02 lipca 2013, 08:33

Problem jest taki:
Chcę zrobić formularz testowy. Plik pobiera pytanie i odpowiedzi z bazy. Osoba po zalogowaniu się trafia na taką stronę.

Jeżeli jest zalogowany (if ($_SESSION['login'] <>""), to program ładuje pytanie, które pojawia się w formularzu.

Kod: Zaznacz cały

<?php
session_start();


require 'header.php';

if ($_SESSION['login'] <>"") {

$MyQuest['db_server'] = ***;
$MyQuest['db_user'] = ***;
$MyQuest['db_pass'] = ***; // 10
$MyQuest['db_name'] = ***;


// POŁĄCZ Z BAZĄ DANYCH
$conn2 = @mysql_connect ($MyQuest['db_server'], $MyQuest['db_user'], $MyQuest['db_pass']);
$select2 = @mysql_select_db ($MyQuest['db_name'], $conn2);

if (!$conn2) {
    die ('<p class="error">Nie udało się połączyć z bazą danych.</p>');
} //20

if (!$select2) {
    die ('<p class="error">Nie udało się wybrać bazy danych.</p>');
}

$query = "SELECT `nr` FROM quest";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$ilosc_wierszy = mysql_num_rows($result); //30

if ($_POST['send'] == ($_SESSION['ogolem_odp']+1)) {
	if ($_POST['odp']=$_POST['odppop']) {
        echo '<p class="success">Poprawna odpowiedź. Możesz przejść do pytania '.($_SESSION['ogolem_odp']+1).'.</p>';
	$_SESSION['ogolem_odp']=($_SESSION['ogolem_odp']+1);
        echo $_POST['koment'];
}
else
{
        echo '<p class="error">Błędna odpowiedź. </p>';
	echo 'Poprawna odowiedź to '.($_POST['odppop']);
	$_SESSION['ogolem_odp']=($_SESSION['ogolem_odp']+1);
        echo $_POST['koment'];
	echo '<p> Możesz przejść do pytania '.($_SESSION['ogolem_odp']+1).'.</p>';

}
}
$start=1;
$test=rand($start, $ilosc_wierszy);
$query = "SELECT * FROM quest WHERE nr='$test'";
$result2=mysql_query($query);

while ($zadanie = mysql_fetch_array($result2)) {

	echo '<form method="post" action="">';
	echo '<p>'.$zadanie[1].'</p>';
	echo '<input type=radio name="odp" value=1>'.$zadanie[2].'<br>';
	echo '<input type=radio name="odp" value=2>'.$zadanie[3].'<br>';
	echo '<input type=radio name="odp" value=3>'.$zadanie[4].'<br>';
if ($zadanie[5] <> ""){
	echo '<input type=radio name="odp" value=4>'.$zadanie[5].'<br>';
}
if ($zadanie[6] <> ""){
	echo '<input type=radio name="odp" value=5>'.$zadanie[6].'<br>';
}
if ($zadanie[7] <> ""){
	echo '<input type=radio name="odp" value=6>'.$zadanie[7].'<br>';
}
	echo '<input type="hidden" name="send" value='.($_SESSION['ogolem_odp']+1).'>';
	echo '<input type="hidden" name="odppop" value='.($zadanie[8]).'>';
	echo '<input type="hidden" name="koment" value='.$zadanie[9].'>';
	echo '<input type="submit" value="Zatwierdź">';
 	echo '</form>';

}
mysql_close($conn2);

	}
else 
	{
	echo '<p><a href="index.php">Zaloguj się!</a></p>';
	}


require 'footer.php';

?>
Problem zaczyna się od momentu, kiedy odpowiadam na pytanie. Program nie łapie wyniku! Proszę o pomoc. Nie znam się na PHP. Proszę więc o pomoc fachowców. Mam nadzieję, że mi pomożecie!

Z góry dzięki!
Andrzej

Awatar użytkownika
stormfly
Posty: 17
Rejestracja: 28 marca 2013, 15:24
Lokalizacja: Katowice
Kontakt:

Re: Problem z formularzem kwestionariusza w php

Post autor: stormfly » 02 lipca 2013, 09:57

Najprostszy sposób to po prostu dawać w kolejnych if, które tam posiadasz funckję die('jestem tutaj') i sprawdzać gdzie wchodzi, a gdzie nie. Jeśli gdzieś nie wchodzi, a powinien to dajesz var_dump($nazwa_zmiennej) i patrzysz co tam jest. Ogólnie musisz jednak znać podstawy PHP.
tworzenie katowice, "Jak ktoś mówi: 'Chciałbym języka programowania, w którym trzeba tylko powiedzieć, co się chce osiągnąć' dajcie mu lizaka."

ODPOWIEDZ

Wróć do „Webmastering”