Maison > développement back-end > tutoriel php > PHP编程中有哪些常见的低级错误?

PHP编程中有哪些常见的低级错误?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-06 16:43:06
original
920 Les gens l'ont consulté

回复内容:

  • isset
<span class="x">$a = null;</span>
<span class="x">var_dump(isset($a)); //false</span>
Copier après la connexion
涉及金钱时,使用浮点数进行计算,然后每月结算时会发现会有几块钱的偏差,但对账时却发现不了问题。

其实应该使用Integer来处理的。

更新,原来可以用bcmath库来专门解决这个问题,推荐packagist.org/packages/ 都怪我打字太快。。。
$result = $this->select();
return $reuslt;
Copier après la connexion
重复造轮子。比如PHP有提供函数来实现某个功能的,但是因为自己不知道,所以自己又写了一个函数出来实现相同的功能,不但浪费时间而且增加了代码的复杂度。
  1. 明文存取用户密码
  2. 硬编码并版本控制后台系统的口令
  3. 不加密cookie
  4. "SELECT * FROM users where id='{$_GET['uid']}'"
  5. 自己DDOS自己 foreach ($uids as $uid) { $service = ..connect...; $service ... }
  6. if (条件满足 ) { ... } 没else,两个月后发现神秘bug
  7. if流,if () { if () { if () { ... } } if () {} },不反向判断简化代码
  8. 在一个view里算半天逻辑输出一小段html
  9. 为传参方便设计Class
  10. 把SESSION当NOSQL数据库用, $_SESSION["post"]['title'] = ....
  11. $data流,$data = .. if (..) $data, $data, $data ... 一路$data
  12. 把Class当名字空间来用,method就是套了Class的function
  13. 这样 $a->b['c']['d']['e'] ... 还不用isset
  14. 把base64当加密算法
  15. throw exception但懒得catch,以至于错误信息出现在http响应里让用户去catch
没加分号 我来,我来这个问题亲身经历
曾经给客户上一个模板的时候,这个模板的错误让我无言以对
贴代码
<span class="cp"><?</span>
<span class="k">echo</span> <span class="s2">"</div></span><span class="se">\r\n\t\t</span><span class="s2"></div></span><span class="se">\r\n\t</span><span class="s2"></div></span><span class="se">\r\n\t\r\n\t</span><span class="s2">"</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span> <span class="nv">$sourceurl</span> <span class="o">!=</span> <span class="s2">"-1"</span> <span class="o">&&</span> <span class="nv">$sourceurl</span> <span class="o">!=</span> <span class="s2">""</span> <span class="o">&&</span> <span class="nv">$sourceurl</span> <span class="o">!=</span> <span class="s2">"0"</span> <span class="o">&&</span> <span class="nb">strstr</span><span class="p">(</span> <span class="nv">$sourceurl</span><span class="p">,</span> <span class="s2">"/"</span> <span class="p">)</span> <span class="p">)</span>
<span class="p">{</span>
		<span class="nv">$SourceArr</span> <span class="o">=</span> <span class="nb">explode</span><span class="p">(</span> <span class="s2">"/"</span><span class="p">,</span> <span class="nv">$sourceurl</span> <span class="p">);</span>
		<span class="nv">$sourcename</span> <span class="o">=</span> <span class="nv">$SourceArr</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
		<span class="nv">$sourcefolder</span> <span class="o">=</span> <span class="nv">$SourceArr</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>
		<span class="k">echo</span> <span class="s2">"</span><span class="se">\t</span><span class="s2"><div id=</span><span class="se">\"</span><span class="s2">setsource</span><span class="se">\"</span><span class="s2"> class=</span><span class="se">\"</span><span class="s2">pluszone</span><span class="se">\"</span><span class="s2">>"</span><span class="p">;</span>
		<span class="k">echo</span> <span class="nv">$strPlusZone4</span><span class="p">;</span>
		<span class="k">echo</span> <span class="s2">"</div></span><span class="se">\r\n\t</span><span class="s2"><div id=</span><span class="se">\"</span><span class="s2">s_setsource</span><span class="se">\"</span><span class="s2">  class=</span><span class="se">\"</span><span class="s2">pluszonex</span><span class="se">\"</span><span class="s2">></span><span class="se">\r\n\t</span><span class="s2"><div id=</span><span class="se">\"</span><span class="s2">sourcezone</span><span class="se">\"</span><span class="s2">></div></span><span class="se">\r\n\t</span><span class="s2"></div></span><span class="se">\r\n\t</span><span class="s2">"</span><span class="p">;</span>
		<span class="k">echo</span> <span class="s2">"<s"</span><span class="p">;</span>
		<span class="k">echo</span> <span class="s2">"cript></span><span class="se">\r\n\t\$</span><span class="s2">(document).ready(function(){\r</span><span class="se">\n\t\t\$</span><span class="s2">().getPicSource();</span><span class="se">\r\n\t</span><span class="s2">});</span><span class="se">\r\n\t</span><span class="s2"></script></span><span class="se">\r\n\t</span><span class="s2">"</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">echo</span> <span class="s2">"</span><span class="se">\t</span><span class="s2"><input name=</span><span class="se">\"</span><span class="s2">sourcename</span><span class="se">\"</span><span class="s2"> type=</span><span class="se">\"</span><span class="s2">hidden</span><span class="se">\"</span><span class="s2"> id=</span><span class="se">\"</span><span class="s2">sourcename</span><span class="se">\"</span><span class="s2"> value=</span><span class="se">\"</span><span class="s2">"</span><span class="p">;</span>
<span class="k">echo</span> <span class="nv">$sourcename</span><span class="p">;</span>
<span class="k">echo</span> <span class="s2">"</span><span class="se">\"</span><span class="s2"> size=</span><span class="se">\"</span><span class="s2">35</span><span class="se">\"</span><span class="s2"> /></span><span class="se">\r\n\t</span><span class="s2"><input name=</span><span class="se">\"</span><span class="s2">sourcefolder</span><span class="se">\"</span><span class="s2"> type=</span><span class="se">\"</span><span class="s2">hidden</span><span class="se">\"</span><span class="s2"> id=</span><span class="se">\"</span><span class="s2">sourcefolder</span><span class="se">\"</span><span class="s2"> value=</span><span class="se">\"</span><span class="s2">"</span><span class="p">;</span>
<span class="k">echo</span> <span class="nv">$sourcefolder</span><span class="p">;</span>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal