| 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 SELECTem.
|
||
| 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 INSERTem 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: 12 let
|
|||
0