Autor Zpráva
Niesom.iny
Profil *
Prosim Vás, kde mám chybu..??

<?php
MySQL_select_db('skuska');
$data_db=MySQL_Query("SELECT * FROM platenie");
$uzivatel=MySQL_Fetch_Array(MySQL_Query("SELECT * FROM platenie"));

if(isset($_POST['zaplatene']))
{
    MySQL_Query("UPDATE platenie SET $uzivatel_sel=$mesiac_sel");
}
?>
<html>
<head>
<title>
Platenie
</title>
</head>
<body>
<p align="center">
Platenie:<br><br>

<form method="post">
Užívateľ:
<select name="uzivatel_sel">
    <option value="uzivatel">Užívateľ</option>
    <option value="uzivatel2">Užívateľ2</option>
    <option value="uzivatel3">Užívateľ3</option>
</select>
Mesiac:
<select name="mesiac_sel">
    <option value="1">Január</option>
    <option value="2">Február</option>
    <option value="3">Marec</option>
    <option value="4">Apríl</option>
    <option value="5">Máj</option>
    <option value="6">Jún</option>
    <option value="7">Júl</option>
    <option value="8">August</option>
    <option value="9">Septrember</option>
    <option value="10">Október</option>
    <option value="11">November</option>
    <option value="12">December</option>
</select>
<input type="submit" value="Zaplatené">
<input type="hidden" name="zaplatene" value="y">
</form>
</html>


Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Niesom.iny
Profil *
to, ze tam nemam pripojenie do databazy viem, ide hlavne o tu podmienku.. nechce to prepisovat data v databaze..
mattyZEM
Profil
MySQL_Query("UPDATE platenie SET $uzivatel_sel=$mesiac_sel");

Chyba by měla být v proměnné $uzivatel_sel
Joker
Profil
Niesom.iny:
Prosim Vás, kde mám chybu..??
Co to píše za chybu? Případně jakou chybu vrátí databáze?

to, ze tam nemam pripojenie do databazy viem
No, ale to je docela problém, ne?

Jinak tedy věci viditelné na první pohled:
- Nejsou definované proměnné $uzivatel_sel a $mesiac_sel, takže výsledkem výrazu "UPDATE platenie SET $uzivatel_sel=$mesiac_sel" asi bude: "UPDATE platenie SET =", což databáze neskousne.
- Skript se nestará o to, jestli ty dotazy do databáze prošly úspěšně.
- Když si představím, jak by to mělo fungovat, tak to má poslat například: UPDATE platenie SET uzivatel2=1 - není ten dotaz nesmyslný? Nebo snad máte jména uživatelů jako názvy sloupců tabulky?!
Niesom.iny
Profil *
ja tam mam pouzite skutocne mena podla a v databaze to mam zadefinovane podla mien.. kvoli anonymite tychto ludi, so tu prepisal mena na uzivatel1 atd.. ano ma to tak fungovat "UPDATE platenie SET uzivatel2=1". lenze nic nezapise do databazy. pripojenie na databazu mam rieseny cez maincore.php ( redakcny system ) preto tam nieje.. php nevracia ziadnu chybu, proste to nezapise a refreshne stranku. ako mam zadefinovat tie premenne $uzivatel_sel a $mesiac_sel..? som Vam vdacny za vase reakcie..
Joker
Profil
Niesom.iny:
ja tam mam pouzite skutocne mena podla a v databaze to mam zadefinovane podla mien
To nehraje roli, pokud jde o můj příspěvek.

no ma to tak fungovat "UPDATE platenie SET uzivatel2=1"
Tenhle dotaz udělá: Všem záznamům v tabulce nastaví sloupec uzivatel2 na hodnotu 1
Formálně to je správně (pokud tabulka platenie má sloupec uzivatel2 číselného typu), ale logicky to vůbec nedává smysl.
Respektive takovýhle dotaz by byl potřeba jen při úplně zcestném návrhu databáze.

pripojenie na databazu mam rieseny cez maincore.php
Čili tohle je jen kousek, který se vkládá do nějakého velkého skriptu?

ako mam zadefinovat tie premenne $uzivatel_sel a $mesiac_sel
My máme vědět, co v těch proměnných má být? Pravděpodobně $_POST["uzivatel_sel"] a $_POST["mesiac_sel"]
Jestli to tak je, připomínám, že se vstup od uživatele posílá do databáze, takže by to chtělo nějakou kontrolu proti SQL injection

php nevracia ziadnu chybu, proste to nezapise a refreshne stranku.
A databáze (mysql_error())?
Niesom.iny
Profil *
Asi si nerozumieme tak ešte raz.

Tie selecty su rolovacie ponuky a ked si vyberiem uzivatela a potom mesiac a kliknem na tlacitko Zaplatené tak sa do premennej $uzivatel_sel zapise vybraty uzivatel a do $mesiac_sel zapise vybraty mesiac a vtedy sa zapise aj ze zaplatene = y cize bude platit podmienka hore a malo by zapisat do databazy co nerobi. A tie kody na pripojenie do databazy a ukoncenie mysql tu nemam lebo toto je len jedna cast zo skriptov ktora nejde.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0