Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
Ahoj, napsal jsem si tento script pomocí kterého chci upravit tabulku v DB a chtěl bych vás poprosit o menší kontrolu zda je script správně, případně jaké jsou tam chyby a jak by bylo možné je odstranit.
Nepotřebuji komentáře týkající se nepodpory mysql v php 7
<? /* test #{}*/ /* Úprava telefonu */ if(isset($_POST["OK"])) { if(strlen($_POST["telefon"])<9) { echo "Telefon je příliš krátký!"; } else { $telefon = mysql_real_escape_string($_POST["telefon"]); if(preg_match('/^([0-9]+)$/', $telefon)) { mysql_query("UPDATE kontakt SET telefon = '$telefon'"); } else { echo "Telefon může obsahovat pouze číslice!"; } } } /* Výpis */ $mysql = mysql_query("SELECT * FROM kontakt"); $kontakt = (mysql_fetch_assoc($mysql)); echo "<table> <tr> <td>".htmlspecialchars($kontakt["telefon"])."</td> </tr> </table>"; ?> <form action="#" method="post"> <input placeholder="Telefon..." name="telefon" type="text"> <input type="submit" name="OK" value="Send"/> </form> Připojení k DB mám zvlášť, samozřejmě bude soubor zabezpečen proti příchodu bez přihlášení a také pomocí .htaccess. Podmínku pro vyhledání příslušného řádku v DB si později nastavím sám, bavím se zde o úpravě již existujícího záznamu telefonního čísla v tabulce kontakt. Děkuji za pomoc |
||
Alphard Profil |
Měl bych nějaké výhrady ke stylu, kterým je to napsané, ale jinak je to ze strany PHP v pořádku.
Z pohledu použitelnosti tam je chybně použit placeholder. Ten má obsahovat ukázkovou hodnotu, ne popis. A ta validace je docela přísná, aspoň mezery by se mohly v rámci normalizace čísla smazat automaticky. |
||
leorond Profil |
#3 · Zasláno: 8. 11. 2015, 16:00:41
Alphard:
Děkuji, placeholder samozřejmě upravím později jen jsem chtěl mít jistotu zda jsem to napsal správně. Co se týká toho automatického odstranění mezer tak bych tam spíše chtěl dosadit automatické vkládání "-" za každé třetí číslo ale to udělám až ve výpisu za pomoci funkce substr kde budu vypisovat určité části řetězce a mezi ně vkládat "-".
|
||
blaaablaaa Profil |
#4 · Zasláno: 9. 11. 2015, 14:30:02
leorond:
Nejlepsi reseni je umoznit zadat vstup, jaky chce on. Na nas je pak z toho dostat to, co chceme my :D Tzn. at si telefon zada ve formatu +420 777 123 456, 777 123 456 nebo 00420777123456, meli bychom vse umet prijmout a zpracovat. Ale jak pise Alphard, minimalne dovol zadat 777 123 456, takze treba odstran veskere nenumericke znaky a zjistuj, jestli ma tel. alespon 9 cislic. |
||
Časová prodleva: 9 let
|
0