Autor | Zpráva | ||
---|---|---|---|
mardon Profil |
#1 · Zasláno: 15. 4. 2009, 13:50:50
Mám skript.index.php, který mi provádí výpis certifikátů z db
pak mám skript addcert,php ve kterém si zobrazju formulář pro zadání údajů do db dokáže mi někdo poradit jak ošetřit formulář, aby kontroloval zda uživatel zadal všechny vstupní údaje správně 1require_once ('dibi/dibi.php'); require_once ('dibi/dibi.php');
require_once ('init.php');
$cert = new certificat;
if (empty ($_REQUEST["Name"]))
{
$tpl = new cert_Smarty;
$tpl->assign('data',$result);
$tpl->assign('title', "Přidat certifikát");
$tpl->display('addcert.tpl');
}
else
{
$result = $cert->insert_cert($_REQUEST["ser"],$_REQUEST["Name"],$_REQUEST["email"],$_REQUEST["od"],$_REQUEST["do"]);
}
|
||
kajaman Profil |
#2 · Zasláno: 15. 4. 2009, 14:01:38
tohle moc nechápu, třeba vidím, že umíš použít fci empty(), takže co konkrétně nevíš?
|
||
mardon Profil |
#3 · Zasláno: 15. 4. 2009, 14:09:52
ano testuji to pouze na prázdné Name, ale chtěla bych aby uživatel musel vyplnit všechny položky a pokud je nevyplní, aby se opět zobrazil formulář s údaji, které už zadal a teprve potom se údaje vložili do db, trochu mě totiž pletou ty smarty šablony
|
||
kajaman Profil |
#4 · Zasláno: 15. 4. 2009, 14:28:18 · Upravil/a: kajaman
no tak na prázdnou hodnotu otestuj všechny položky, jakože:
jestli je prázdné 'name' nebo je prázdný 'email'... jestli je prázdné 'name' nebo je prázdný 'email'...
takto: |
||
mardon Profil |
#5 · Zasláno: 15. 4. 2009, 14:47:08 · Upravil/a: mardon
|
||
tiso Profil |
#6 · Zasláno: 15. 4. 2009, 14:55:55
|
||
imploder Profil |
#7 · Zasláno: 15. 4. 2009, 15:02:15
mardon
„ano to sice funguje, ale pokud neodeslu vyplnený formulář objeví se mi znova prázdný, bez těch hodnot, které jsem již zadala“ Dej ty hodnoty, které byly už vyplněny, do formuláře vypsat. Takhle nějak: <input type="text" name="Name" value="<?php if(isset($_REQUEST["Name"]) echo $_REQUEST["Name"]; ?>"> <input type="text" name="Name" value="<?php if(isset($_REQUEST["Name"]) echo $_REQUEST["Name"]; ?>">
<input type="text" name="email" value="<?php if(isset($_REQUEST["email"]) echo $_REQUEST["email"]; ?>">
(...atd.) |
||
kajaman Profil |
#8 · Zasláno: 15. 4. 2009, 15:04:56
imploder
no ale ona tam má Smarty mardon asi takhle: if (nejake udaje nejsou vyplneny) { vrat se na formular, tj. vytvor objekt Smary a nacpi do nej hodnoty z $_REQUEST, $tpl->assign('jmeno',$_REQUEST['jmeno']); $tpl->assign('jmeno',$_REQUEST['jmeno']); kter mas a zobraz tu sablonu } else { //vsechny jsou vyplneny uloz data do databaze a vypis databazi) //nebo presmeruj header() } |
||
mardon Profil |
#9 · Zasláno: 15. 4. 2009, 15:17:05
ted jeste koukam do te smarty sablony a nemelo by to nahodou fungovat s tim $post.Name ?
1{include file='header.tpl'} {include file='header.tpl'}
<form action="addcert.php" action="submit" method = "post">
Jméno: <input type="text" name="Name" value="{$post.Name|escape}" size="40"><br />
sériové číslo: <input type="text" name="ser" value="{$post.ser|escape}" size="40"><br />
email: <input type="text" name="email" value="{$post.email|escape}" size="40"><br />
Platnost od: <input type="text" name="od" value="{$post.od|escape}" size="40"><br />
Paltnost do: <input type="text" name="do" value="{$post.do|escape}" size="40"><br />
<input type="submit" value="Přidat">
</form>
</body>
</html> |
||
Časová prodleva: 16 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0