Witam. Napisałem pewien skrypt do dodawania wyników i cały czas było dobrze, a tu nagle nie mogę dodać wyników. Ale zacznijmy od początku a więc pokażę wam kawałek skryptu:
Najpierw jest funkcja która przeprowadza dodawanie wyników. Ona się dobrze wyświetla. Globalna zmienna 'wybor' ma wartość 1 (czyli tak ma być):
function PrzeprowadzKonkurs ($tab_konkurs, $wybor, $nazwa_konkursu, $hs, $nr)
{
require("./includes/lang/" . $_SESSION['lang'] . "/napisy.txt");
$query = "SELECT skrot FROM dsj_sezony ORDER BY id DESC";
$result = mysql_query($query);
require("sezony/config_turniej_" . mysql_result($result, 0, 0) . ".php");
if ($wybor == 3)
{
// nieważne co tu jest bo zmienna 'wybor' ma wartość 1
}
else if ($wybor == 6)
{
// to samo co wyżej
}
else // INDYWIDUALNE
{
$query = "SELECT id, nick FROM dsj_jumpers ORDER BY nick";
$result = mysql_query($query);
$liczba_osob = mysql_num_rows($result);
?>
<form method="POST" action="">
<table width="100%">
<tr><td align="center" colspan=5><b>
<?echo $nazwa_konkursu?></b></td></tr>
<tr>
<td><b>
<?echo $lng['nick'];?></b></td>
<td><b>
<?echo $lng['odleglosc'];?> 1</b></td>
<td><b>
<?echo $lng['nota'];?> 1</b></td>
<td><b>
<?echo $lng['odleglosc'];?> 2</b></td>
<td><b>
<?echo $lng['nota'];?> 2</b></td>
</tr>
<?
for ($i=0; $i<$liczba_osob; $i++)
{
?>
<tr>
<td><input size=10 type="text" name="osoba[
<?echo $i;?>][1]"></td>
<td><input size=10 type="text" name="osoba[
<?echo $i;?>][2]"></td>
<td><input size=10 type="text" name="osoba[
<?echo $i;?>][3]"></td>
<td><input size=10 type="text" name="osoba[
<?echo $i;?>][4]"></td>
</tr>
<?
}
?>
<tr>
<td colspan="5">
<input type="hidden" name="wybor" value="
<?echo $wybor;?>">
<input type="hidden" name="nr" value="
<?echo $nr;?>">
<input type="hidden" name="konkurs" value="
<?echo $tab_konkurs;?>">
<input type="hidden" name="il_osob" value="
<?echo $liczba_osob;?>">
<input type="hidden" name="hs" value="
<?echo $hs;?>">
<input type="submit" name="wprowadzono" value="
<?echo $lng['gotowe'];?>!">
</td>
</tr>
</table>
</form>
<?
}
}
A teraz główne wywołanie programu:
<?php
if ($_POST['wprowadzono'])
{
// tutaj jest dodający wyniki do bazy danych
}
else
{
if ($aktualny != 0)
{
$skrot = 'skrot'.$aktualny;
$kon = 'kon'.$aktualny;
$typ = 'typ'.$aktualny;
$nr = $aktualny;
$tabela = $prefix . $skrot;
$typ_konkursu = OkreslTypKonkursu($typ);
$hs = OkreslHS($kon);
PrzeprowadzKonkurs($tabela, $typ_konkursu, $tekst, $hs, $nr);
}
else Blad($lng['blad'], $lng['admin_konkurs_stworzcie']);
}
?>
No i właśnie.. o co mi chodzi. Otóż funkcja PrzeprowadzKonkurs jest wywoływana z dobrymi parametrami (czyli takimi jakie powinny tam być), bo sprawdzałem to. Funkcja ta tworzy formularz i po zatwierdzeniu wyników program powinien wejść w następującą instrukcję, a nie wchodzi (uprzedzam pytania... wcześniej to wszystko chodziło):
<?php
if ($_POST['wprowadzono'])
{
// tutaj jest dodający wyniki do bazy danych
}
?>
Ten post edytował Kojak 20.10.2007, 13:40:18