Thanks a lot Krishna Srikanth. You are doing great jobs. Thanks & Regards Udayakumar Sarangapani Sr. PHP Developer CompIndia Infotech Pvt. Ltd. Chennai. "Science is nothing but logic..." ----- Original Message ---- From: Krishna Srikanth <krishna.srikanth@xxxxxxx> To: php-objects@xxxxxxxxxxxxxxx Sent: Wednesday, 26 March, 2008 3:53:07 PM Subject: Tips on programming (in PHP) Hi, Some suggestions for new php programmers (newbies). DO NOT treat company websites like personal websites. They have more than just a blog, three four static pages and a contact form. Ofcourse many of the sites have onlythese, but I am talking about "PHP applications" which are database and task oriented. Develop the application in some standard. If you don't know any standard, do some research on google. Follow consistent variable namings and write comments on what the code block will do. Validate all inputs and before sending the data to databases, properly escape the strings. SQL injection is the biggest attack. Know about it. Send least important data in cookies and place everything else in Sessions or in database, but not in text files, because they will be accessible through a browser. After developing your application, give it to your competitors to crack your site. If they are successful, you have to learn how to avoid the attacks. If they fail, go and have a party. It is all set. Documentation is a crucial thing in PHP applications or websites developed for companies. There will be another person maintaining the site developed by you and he SHOULD understand what the site is. Three kinds of basic documents are needed. 1. Requirements document: Which says why they need a website. and what is expected out of the site. No technical stuff here. 2. Prototype document: The document explaining the site functionally, It is a rough layout with dummy data plus some reasons why the content is placed on particular page. 3. Coding document: Completely technical. A list of classes, their properties or methods, etc. Functions or frameworks used. Database tables and their descriptions etc. While preparing a manual include as many screenshots as possible by naming them sequentially, because a picture is worth a hundred words. I strongly recommend reading "PROFESSIONAL PHP" book by Wrox Publications Regards, Manda Krishna Srikanth http://www.krishnas rikanth.com =====-----== ===-----= ==== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you [Non-text portions of this message have been removed] <!-- #ygrp-mkp{ border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;} #ygrp-mkp hr{ border:1px solid #d8d8d8;} #ygrp-mkp #hd{ color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;} #ygrp-mkp #ads{ margin-bottom:10px;} #ygrp-mkp .ad{ padding:0 0;} #ygrp-mkp .ad a{ color:#0000ff;text-decoration:none;} --> <!-- #ygrp-sponsor #ygrp-lc{ font-family:Arial;} #ygrp-sponsor #ygrp-lc #hd{ margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;} #ygrp-sponsor #ygrp-lc .ad{ margin-bottom:10px;padding:0 0;} --> <!-- #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family:Georgia; } #ygrp-text p{ margin:0 0 1em 0;} #ygrp-tpmsgs{ font-family:Arial; clear:both;} #ygrp-vitnav{ padding-top:10px;font-family:Verdana;font-size:77%;margin:0;} #ygrp-vitnav a{ padding:0 1px;} #ygrp-actbar{ clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;} #ygrp-actbar .left{ float:left;white-space:nowrap;} .bld{font-weight:bold;} #ygrp-grft{ font-family:Verdana;font-size:77%;padding:15px 0;} #ygrp-ft{ font-family:verdana;font-size:77%;border-top:1px solid #666; padding:5px 0; } #ygrp-mlmsg #logo{ padding-bottom:10px;} #ygrp-reco { margin-bottom:20px;padding:0px;} #ygrp-reco #reco-head { font-weight:bold;color:#ff7900;} #reco-grpname{ font-weight:bold;margin-top:10px;} #reco-category{ font-size:77%;} #reco-desc{ font-size:77%;} #ygrp-vital{ background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;} #ygrp-vital #vithd{ font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;} #ygrp-vital ul{ padding:0;margin:2px 0;} #ygrp-vital ul li{ list-style-type:none;clear:both;border:1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;} #ygrp-vital ul li .cat{ font-weight:bold;} #ygrp-vital a{ text-decoration:none;} #ygrp-vital a:hover{ text-decoration:underline;} #ygrp-sponsor #hd{ color:#999;font-size:77%;} #ygrp-sponsor #ov{ padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;} #ygrp-sponsor #ov ul{ padding:0 0 0 8px;margin:0;} #ygrp-sponsor #ov li{ list-style-type:square;padding:6px 0;font-size:77%;} #ygrp-sponsor #ov li a{ text-decoration:none;font-size:130%;} #ygrp-sponsor #nc{ background-color:#eee;margin-bottom:20px;padding:0 8px;} #ygrp-sponsor .ad{ padding:8px 0;} #ygrp-sponsor .ad #hd1{ font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;} #ygrp-sponsor .ad a{ text-decoration:none;} #ygrp-sponsor .ad a:hover{ text-decoration:underline;} #ygrp-sponsor .ad p{ margin:0;} o{font-size:0;} .MsoNormal{ margin:0 0 0 0;} #ygrp-text tt{ font-size:120%;} blockquote{margin:0 0 0 4px;} .replbq{margin:4;} --> 5, 50, 500, 5000 - Store N number of mails in your inbox. Go to http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html [Non-text portions of this message have been removed]