Autor | Zpráva | ||
---|---|---|---|
ondra.prenek Profil |
Ahoj chci zadat do databáze z formuláře select fci. Dal jsem name selectu a když ho potom chci v phpku vypsat, tak se mi vypíše jen nula...
ve formuláři mám tedy jeden řádek <select name="inzstav"><option value="nove">Nové</option><option value="pouzite">Použité</option></select> a potom na to odkazuji if($_POST['inzvloz']) { if($_POST['inztyp'] && $_POST['inzstav'] && $_POST['inztitulek'] && $_POST['inzcena'] && $_POST['inztext']) { pak to pokračuje klasicky... (include "config.php" a blablala......, prostě zbytek funguje, jen mi nejde uložit v tomto případě "nové" nebo "použité" jako hodnotu do řádku do databáze... Vypíše to jen 0 Mohli byste mi pomoci? Díky moc za radu |
||
Fisir Profil |
#2 · Zasláno: 11. 12. 2014, 19:47:51
Reaguji na ondra.prenka:
Zkontroluj, jestli sloupec, do kterého to ukládáš, nemá nastavený datový typ číslo. Jestli ne, ukaž přímo kód se SELECT em.
|
||
ondra.prenek Profil |
#3 · Zasláno: 11. 12. 2014, 20:33:17 · Upravil/a: ondra.prenek
jo měl jsem zrovna u tohohle chybu v mysql, zapoměl jsem to tam změnit z int na varchar... tak když už jsem to změnil tak se mi nezoobrazuje nic :D
každopádně posílám celou tu tabulku a pak celý to phpko <form method="POST" id="inzform"> <table id="inztab"> <tr><th>Vložení inzerátu <tr><td><select name="inztyp"><option value="prodam">Prodám</option><option value="koupim">Koupím</option> <option value="vymenim">Vyměním</option> <option value="ostatni">Ostatní</option> </select> <select name="inzstav"><option value="nove">Nové</option><option value="pouzite">Použité</option></select> <tr><td>Titulek inzerátu: <input type="text" name="inztitulek"> <tr id="cena"><td>Cena: <input type="number" name="inzcena"><span id="kc">Kč</span> <tr><td>Podrobnější informace<textarea name="inztext"></textarea> <tr><td><input type="submit" name="inzvloz" value="Vložit inzerát"> </table> </form> <br> <?php if($_POST['inzvloz']) { if($_POST['inztyp'] && $_POST['inzstav'] && $_POST['inztitulek'] && $_POST['inzcena'] && $_POST['inztext']) { include "config.php"; mysql_connect($server, $user, $pass); mysql_select_db($db); $query = mysql_query("SELECT * FROM inzeraty WHERE titulek ='".$_POST['inztitulek']."'"); if(mysql_num_rows($query) == 0) { mysql_query("INSERT INTO inzeraty VALUES(NULL,'".$_POST['inzttyp']."','".$_POST['inzstav']."','".$_POST['inztitulek']."','".$_POST['inzcena']."','".$_POST['inztext']."')"); echo "Vložení inzerátu proběhlo úspěšně.<br> Budete přesměrováni na hlavní stránku<meta http-equiv='refresh' content='2;url=index.php'>"; } else echo "Titulek existuje"; } else echo "Vyskytla se chyba. Nejsou vyplněna všechna pole"; } ?> </table> </form> Fisir: #3 |
||
Fisir Profil |
#4 · Zasláno: 13. 12. 2014, 17:52:24
Reaguji na ondra.prenka:
Zkontroluj, jestli je v tabulce třetí sloupec v pořadí opravdu určen pro inzstav . Jestli ano, vlož před mysql_query s INSERT em tohle:
echo('<xmp>'); var_dump($_POST['inzstav']); die('</xmp>'); Kromě toho, že používáš zastaralé PHP rozšíření mysql_* vstupní data ani neescapuješ, takže ti kdokoliv může rozhodit celou databázi.
|
||
Časová prodleva: 9 let
|
0