Autor | Zpráva | ||
---|---|---|---|
kozusnik Profil |
#1 · Zasláno: 10. 3. 2012, 15:17:30
Dobrý den, na webu si dělám vlastní administraci...zrovna pracuji na tvorbě článku - vložení záznamu do DB.... jenže mi nefunguje kontrola pomocí podmínek, mohli byste to zkouknout a říct, kde je problém, popř. poradit nějaké lepší řešení?
<?php if(isset($_POST['vytvorit']) && isset($_POST['nazev']) && isset($_POST['text'])) { $autor = "hanis"; $timezone = new DateTimeZone( "Europe/Prague" ); $date = new DateTime(); $date->setTimezone( $timezone ); $datum = $date->format( 'd.m.Y H:i' ); $nazev = $_POST['nazev']; $text = $_POST['text']; echo $autor." ".$datum." ".$nazev." ".$text." "; $sql="insert into clanky (nazev, datum, autor, text) values ('$nazev', '$datum', '$autor', '$text')"; $res = mysql_query($sql); } elseif (!isset($_POST['nazev']) && !isset($_POST['text'])) { echo' <form method="post" name="tvorba"> <table> <tr><td>Nazev</td><td><input type="text" name="nazev" ></td></tr> <tr><td>Text</td><td><textarea name="text" ></textarea></td></tr> <tr><td>Odeslat</td><td><input type="submit" name="vytvorit" value="Vytvorit clanek"></td></tr> </table> </form>'; if(isset($_POST['vytvorit'])) { echo "Něco jste nevyplnili!"; } } ?> |
||
Someone Profil |
#2 · Zasláno: 10. 3. 2012, 15:24:40 · Upravil/a: Someone
kozusnik:
„jenže mi nefunguje kontrola pomocí podmínek“ Co přesně nefunguje? řádek 14: elseif (!isset($_POST['nazev']) && !isset($_POST['text'])) { zde by nemělo být AND, ale ORAle jinak celkově, je to takové zmatené. |
||
kozusnik Profil |
#3 · Zasláno: 10. 3. 2012, 15:39:58 · Upravil/a: kozusnik
Má to fungovat na principu, že zkontroluje, jestli jsou vyplněna všechna pole, a formulář je odeslán, pokud není vyplněno jedno z polí (je jedno, jestli byl nebo nebyl formulář odeslán), tak to vypíše formulář; v té podmínce je ještě vnořena podmínka, ať můžu rozlišit, zda byl nebo nebyl formulář odeslán - pokud ano, tak to vypíše "Něco jste nevyplnili"...
Pokud vám to příjde zmatené, mohl byste mi navrhnout nějaký jiný model kontroly? Moc díky Nefunguje to, že i když je nějaké pole nevyplněné, tak to udělá to samé, co když je pole vyplněné |
||
Bertram Profil |
#4 · Zasláno: 10. 3. 2012, 16:58:20
kozusnik:
Ahoj, máš na mysli toto funkčnost? <?php header('Content-Type: text/html; charset=utf-8'); if (isset($_POST['vytvorit'])) { if (trim($_POST['nazev']) == "") { $errors[] = "Název je povinný údaj"; } if (trim($_POST['text']) == "") { $errors[] = "Text je povinný údaj"; } if (!isset ($errors)) { $autor = "hanis"; $timezone = new DateTimeZone("Europe/Prague"); $date = new DateTime(); $date->setTimezone($timezone); $datum = $date->format('d.m.Y H:i'); $nazev = $_POST['nazev']; $text = $_POST['text']; echo $autor . " " . $datum . " " . $nazev . " " . $text . " "; $sql = "insert into clanky (nazev, datum, autor, text) values ('$nazev', '$datum', '$autor', '$text')"; $res = mysql_query($sql); } else { foreach ($errors as $error){ echo $error."<br />"; } } } ?> <form method="post" name="tvorba" action=""> <table> <tr><td>Nazev</td><td><input type="text" name="nazev" ></td></tr> <tr><td>Text</td><td><textarea name="text" ></textarea></td></tr> <tr><td>Odeslat</td><td><input type="submit" name="vytvorit" value="Vytvorit clanek"></td></tr> </table> </form> |
||
kozusnik Profil |
#5 · Zasláno: 10. 3. 2012, 17:00:20
Bertram:
Ano. Zkusím ten tvůj způsob a pak dám vědět.... zatím díky |
||
kozusnik Profil |
#6 · Zasláno: 11. 3. 2012, 10:46:00
Bertram:
Přesně tohle... Moc děkuju |
||
Časová prodleva: 12 let
|
0