Witam. Mój problem polega na tym, iż mimo, że wysyłam dane formularza metodą POST to w jakiś sposób są one wysyłane jednak przez GET.
Po wypełnieniu i wysłaniu formularza adres strony WWW przybiera następujący format: dodaj_monety.php?nick_gracza=BrK&liczba_monet=5000
Część kodu znajdująca się za warunkiem sprawdzającym zawartość zmiennych POST się nie wykonuje, co świadczy o tym, że są one puste, mimo iż być nie powinny.
Co może być tego przyczyną?
Cały kod poniżej.
<?php
include_once("config_monety.php");
//polaczenie z baza danych i wczytanie
if(!$db_lnk=mysql_connect($serwer_db, $login_db, $haslo_db))
{
echo ('Wystąpił błąd połączenia z bazą danych. Spróbuj ponownie za jakiś czas lub skontakuj się z administratorem');
}
if (!mysql_select_db($nazwa_db,$db_lnk))
{
echo ('Wystąpił problem z wyborem bazy danych. Skontaktuj się z administratorem');
mysql_close();
exit;
}
//pobranie nicku zrodlowego
echo '<form>';
echo '<form action="dodaj_monety.php" method="post">';
echo '<fieldset>';
echo '<legend>Nick gracza<br></legend>';
// wprowadzenie zapytania tworzacego liste rozwijana
$zapytanie = mysql_query ("SELECT nick FROM monety ORDER BY nick ASC");
echo '<label for="nick_gracza">Wybierz nick gracza<br></label>';
echo '<select name="nick_gracza">';
echo '<option value="">Wybierz nick</option>';
while($option = mysql_fetch_assoc($zapytanie))
{
echo '<option value="'.$option['nick'].'">'.$option['nick'].'</option>';
}
echo '</select>';
echo '<br>';
echo '<br>';
//pobranie nicku docelowego
echo '</fieldset>';
echo '<fieldset>';
echo '<legend>Liczba monet do dodania<br></legend>';
echo '<label for="liczba_monet">Liczba monet do dodania</label>';
echo '<input id="liczba_monet" name="liczba_monet"/><br>';
echo '<br>';
echo '<input type="submit" value="Zatwierdź" />';
echo '</fieldset>';
echo '</form>';
//ustawienie monet graczowi (ilosc z formularza) + sprawdzenie warunku wypelnienia formulara
if(isSet($_POST['liczba_monet'])&&isSet($_POST['nick_gracza']))
{
$liczba_monet=$_POST['liczba_monet'];
$nick_gracza=$_POST['nick_gracza'];
$pobierz_stare=mysql_query("SELECT coins FROM monety WHERE nick='$nick_gracza'");
$row=mysql_fetch_row($pobierz_stare);
$stare_monety=$row[0];
$do_ustawienia=$stare_monety+$liczba_monet;
$ustaw_monety=mysql_query("UPDATE monety SET coins='$do_ustawienia' WHERE nick='$nick_gracza'")or die(mysql_error());
if($ustaw_monety)
{
echo "Pomyślnie ustawiono monety graczowi '$nick_gracza'";
}
else
{
echo "Wystąpił błąd przy ustawianiu monet graczowi '$nick_gracza'";
}
}
?>