Autor | Zpráva | ||
---|---|---|---|
Syntey Profil |
Zdravím. Mám problém s textarea. Kontroluju, zda se už odeslalo a poté se má obsah textarea zapsat do databáze, akorát dříve než to odešlu mi to už píše hlášky, že zápis do databáze se nezdařil aniž bych něco odeslal.
Zde je kód formuláře: <form action="zadejnovinku.php" method="post"> Nadpis:<input type="text" name="nadpis" rows="10" cols="120"></textarea><br> Text:<textarea name="text" rows="10" cols="120"></textarea> <input name="submit" type="submit" value="Odeslat"> </form> if(isset($_POST['submit'])); { if(!empty($_POST['nadpis'])) $nadpis = $_POST['nadpis']; else echo "Chyba! Nadpis novinky není vyplněn."; if(!empty($_POST['text'])) $obsah = $_POST['text']; else echo "Chyba! Text novinky není vyplněn."; $datum = date(); mysql_query("insert into novinky (nadpis, obsah, datum) values ('".$nadpis."', '".$obsah."', '".$datum."');", $GLOBALS["link"]); $chyba = mysql_error($GLOBALS["link"]); if ($chyba==='') { $BudemeZobrazovat=false; echo "Novinka byla přidána."; $path=SubStr($_SERVER["SCRIPT_NAME"], 0, StrRPos($_SERVER["SCRIPT_NAME"],"/"))."/index.php?clanek=news"; header("Location: .":".$_SERVER["SERVER_PORT"].$path]http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$path); } else { echo "Novinka NEBYLA přidána. Databáze vrátila chybu<BR>"; echo $chyba; } } |
||
Kolemjdouci Profil * |
#2 · Zasláno: 20. 2. 2013, 19:30:52
Na druhém řádku máš </textarea> ale začátek máš jako input. Dále využívat $global není moc vhodné.
|
||
Camo Profil |
Za prvou podmienkou máš bodkočiarku,
Funkcia strrpos sa píše malými písmenami.... Vo funkcii header máš blbo spojené reťazce |
||
Syntey Profil |
Děkuji, vše opraveno a funguje. Měl jsem chybu fakt v tom $GLOBALS, nahradil jsem to samotným myslq_error().
Ještě bych měl otázku, co je na té funkci header špatně ? Inspiroval jsem se od Linuxsoftu.. EDIT: Zjistil jsem, že tady se to zobrazuje trochu špatně, akorát to nemůžu nějak předělat.. |
||
peta Profil |
#5 · Zasláno: 21. 2. 2013, 12:34:20 · Upravil/a: Moderátor (editace znemožněna) 23. 2. 2013, 17:51:52
Tak si to rozepis, ne?
$str = "Location: .":".$_SERVER["SERVER_PORT"].$path].":".$_SERVER["SERVER_PORT"].$path]http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$path; echo $str; // co to vypise? header($str); "tady se to zobrazuje trochu špatně" Nezobrazuje, vsimni si, jak obarvil kod a z toho plyne, ze ty to mas spatne zapsane a ne, ze to zobrazuje forum spatne. Kdyz si neveris ve spojovani retezcu, muzes pouzit sprintf() nebo vsprintf(). $str = sprintf("Location: http://%s:%s%s", $_SERVER["SERVER_NAME"], $_SERVER["SERVER_PORT"], $path); Koukam>mm, ze forum si z toho zapisu ($str = "Location:...) dela, co chce, pri kazde uprave to klonuje cast textu :) Moderátor Chamurappi: V sandboxu je to opravené.
|
||
Časová prodleva: 11 let
|
0