| 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: 11 let
|
|||
0