Autor Zpráva
Dranel
Profil
Tohle vlákno nezakládám jen pro sebe, zakládám ho pro všechny, kteří chtějí zkrátit nějaký kód!

Na úvod vložím své přání: Jak lze prosím zkrátit následující kód?

if (($username == 'admin') or ($username == 'administrator') or ($username == 'moderator') or ($username == 'redaktor') or ($username == 'vip')) {
$chyba = 1;
echo 'Zadali jste chráněný a/nebo blokovaný nick! Zvolte si prosím jiný<br>';
}
Timy
Profil
Co dát ta chráněná jména do pole a pak testovat, jestli je to jméno obsaženo v tom poli?
DDD
Profil
$chraneni=array('admin',...);
if(in_array($username,$chraneni)){$chyba=1;echo'...'}
Měsíček
Profil
Taky by mě zajímalo jak tohle zkrátit :

====================================================================== ===

<?php
mysql_connect("localhost","root","");
mysql_select_db("spidernet");

if(isset($_POST["OK"]) && !empty($_POST["zprava"]) && !empty($_POST["jmeno"]) && !empty($_POST["email"]) && ereg("^[a-zA-Z0-9]{1,25}@[a-zA-Z0-9]{1,20}\.[a-zA-Z]{2,4}$", $_POST["email"]) && $_POST["antispam"] == "BBB" && !eregi("p[iíyý][cč][aoeiy]|hovn|hovad|[cč]ur[aá]n?[kce][yiku]?|zmrd|ch uj|[vw]o?le|gr[aá]zl|hajzl|blbe[cč]?|mago[rř]|deb[ao]?([iy][Ll])?|zasr an|po[sš]u[kc]|kure?v|s[vf][iy][nň]|kret[eé]n|pak[oa]|idiot|imbecil|sh it|pobu(ch|s|š)|ps[iy]chopat[eik]|[iy]cht[iy]l|kr[iy]pl|smra[dď]o(ch|s |š)|fuck", $_POST["zprava"])){
$_POST["email"] = "<a href=\"mailto:".$_POST['email']."\"> E-mail </a>";
$_POST["www"] = "<a href=\"Http://".$_POST['www']."\"> WWW </a>";
$_POST['jmeno'] = htmlspecialchars($_POST['jmeno']);
$_POST['zprava'] = htmlspecialchars($_POST['zprava']);

$smajlici = array(

"*1*"=>"<img src='Smajly/1.gif'>",
"*2*"=>"<img src='Smajly/2.gif'>",
"*3*"=>"<img src='Smajly/3.gif'>",
"*4*"=>"<img src='Smajly/4.gif'>",
"*5*"=>"<img src='Smajly/5.gif'>",
"*6*"=>"<img src='Smajly/6.gif'>",
"*7*"=>"<img src='Smajly/7.gif'>",
"*8*"=>"<img src='Smajly/8.gif'>",
"*9*"=>"<img src='Smajly/9.gif'>",
"*10*"=>"<img src='Smajly/10.gif'>",

""=>"<b>",""=>"</b>",
""=>"<i>",""=>"</i>",
"[u]"=>"<u>","[/u]"=>"</u>",

"[url]"=>"<a href=Http://","[/url]"=>">Odkaz</a>"

);


$_POST['zprava'] = strtr($_POST['zprava'], $smajlici);

mysql_query("INSERT INTO `kniha_navstev` (`id`,`zprava`,`jmeno`,`email`,`www`,`datum`,`ip`) VALUES ('','".addslashes($_POST['zprava'])."','".addslashes($_POST['jmeno']). "','".$_POST['email']."','".$_POST['www']."','".date("H:i:s d.m.Y")."','".$_SERVER['REMOTE_ADDR']."')");

}

else{

echo("Špatně zadané hodnoty<br><br>");

}

====================================================================== ===

Krapet jsem se s tím babral a rád bych si to ještě vylepšil :D tak jestli máte někdo nějáké rady sem s nimi :-)
Kcko
Profil
udelej si balik funkci a nepis proceduralne
Měsíček
Profil
ale to bude ten kód ještě větší :D proto jsem se schválně snažil vše naházet do jednoho ifka.
BetaCam
Profil
ale to bude ten kód ještě větší :D

No to sice možná bude. Jenže taky bude 3x přehlednější a znovupoužitelnější.

proto jsem se schválně snažil vše naházet do jednoho ifka.

Šetříš na špatném místě. Podmínka je zapsána strašně nepřehledně, když už to chceš psát takhle hodili by se tam nějaké komentáře co se v té "obrovské" podmínce všechno testuje.
Měsíček
Profil
BetaCam : ještě jsem se chtěl zeptat když mám funkci empty(); tak ji používám pro každou kategorii zvlášť nedalo by se to něják udělat, aby tam to empty(); bylo jen jednou a vše do něj nastrkal?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0