Welcome to Virtual Pet List

Wanting to the biggest Virtual Pet forum on then net? Feel free to sign up today.

Sign Up to VPL
  1. online virtual  pet site with mmorpg elements join a spooky virtual pet game! VigLink badge

    Find virtual pet sites, sim games or role playing games to play.
    Other websites that we own: virtual pets blog - Admin Forum
    New xenforo 1.5 version is coming soon

Enclosing code in quotes.

Discussion in 'Programming General' started by SpotOnTech, Jun 28, 2012.

  1. SpotOnTech

    SpotOnTech Newish Member
    VPL Member

    Joined:
    Jun 21, 2012
    Messages:
    15
    Likes Received:
    2
    Trophy Points:
    0
    While working on my newest client's site I noticed that most (almost all) of the code I saw in the files was formatted like this:
    PHP:
    if($_POST[attribute]
    function();

    if(!
    $_POST[attribute]
    function();
    No braces, no quotes. Although somewhat functional, there were more errors when I set the ini to display all errors than I care to mention. As I closed tags, removed print and changed it to echo I noted that all the errors cleared out. This is truly a sign of not only a beginning programmer, but a lazy one as well. Quotes are your friend, as are braces (and include files). 153 files in the root with no include files. Quite frustrating to say the least.

    Secondary rant: indenting. Indent your code, people. It makes going back over your code at a later date and makes your (or the next programmer's) life much easier.

    Yet another rant: comments. Comments are your friend.

    Yep, one more: non-escaped $_GET and $_POST. $_GET is fine if you HAVE to make the URL show data (user profiles and search results are a good example), but $_POST is best. It's harder to hijack, looks nicer when the whole site isn't set with ?action and ?id tags on the end of the URL.

    Source: 16 years as a programmer in Python, RoR, PHP/MySQL/MySQLi, ASSEMBLY, PERL, HTML/XHTML, CSS, Java, Javascript and BASIC (yes, BASIC).
     
    #1 SpotOnTech, Jun 28, 2012
    Last edited: Jun 28, 2012
    Avalanche likes this.
    support our sponsor and join today
  2. Avalanche

    Avalanche Supporter
    VPL Member

    Joined:
    May 30, 2011
    Messages:
    428
    Likes Received:
    82
    Trophy Points:
    0
    Location:
    USA
    I've only been programming for a little over four years. And I'll admit I'm self taught. But it was interesting to see the turning point where I felt as though I was no longer a newbie at programming. When I started fixing code that was terrible. I not only could recognize it, I could fix it. When I first realized that it was a big deal and I was so proud that I was better at someone else in programming.

    Now, I wish all programmer's were perfect gods so I wouldn't have to fix all their dumbass mistakes. >.> Amazing how the times change.
     
  3. ThomasMosey

    ThomasMosey Active Member
    VPL Member

    Joined:
    Feb 5, 2012
    Messages:
    252
    Likes Received:
    34
    Trophy Points:
    0
    Gender:
    Male
    Location:
    Coventry, UK
    I've been programming a little over 6 years now, and to all the people who code like the example given in the OP:

    [​IMG]

    It just simply should not be done, especially if it's for commercial purposes.
     
  4. SpotOnTech

    SpotOnTech Newish Member
    VPL Member

    Joined:
    Jun 21, 2012
    Messages:
    15
    Likes Received:
    2
    Trophy Points:
    0
    Here's a snippet of code from the contact form that I haven't gone over yet. By the time you read this, it'll be fixed since it's open in Notepad++, but this is as it stands as of posting:

    PHP:
    <?php
    $loggedin
    =notnecessary;
    include 
    "header.php";

    if(isset(
    $_GET['email'])){
    $name=$_POST['name'];
    $subject=$_POST['subject'];
    $emailaddy=$_POST['emailaddy'];
    $email=$_POST['email'];

    $to="[REDACTED]";
    $subject "Contact Form";
    $body "From: $name\nSubject: $subject\nEmail Address: $emailaddy\n\n

    $email";
    $from_header="From: [REDACTED]";
    mail($to,$subject,$body,$from_header);

    print 
    "Email successfully sent.";
    include 
    "footer.php";
    exit;
    }

    print 
    "<form method=post action=contact.php?email=yes>
    Your Name: <input type=text name=name><br>
    Your Email: <input type=text name=emailaddy><br>
    Subject: <input type=text name=subject><br>
    <textarea rows=20 cols=30 name=email>Email content here.</textarea><br>
    <input type=submit name=submit value='Send Email'></form>"
    ;

    include 
    "footer.php";
    ?>
    Oh, and no, it was not indented. Personally I enclose all my functions with parentheses to make it explicit. aka: echo("foo"); include("foo"); and I don't use print for anything.
     
  5. judda

    judda Bringer of Awesome
    Pet Game Owner VPL Member

    Joined:
    Jan 23, 2011
    Messages:
    1,562
    Likes Received:
    440
    Trophy Points:
    557
    Not only will it throw warning, but it also executes a lot slower (approximately 4x).

    Speed test ... http://lnked.me/x9idd

    isset / empty should be used instead of forcing a hard read of the variable (i.e. isset($_POST['foo']) instead of $_POST['foo']). This is just wrong ...

    ~judda
     
  6. SpotOnTech

    SpotOnTech Newish Member
    VPL Member

    Joined:
    Jun 21, 2012
    Messages:
    15
    Likes Received:
    2
    Trophy Points:
    0
    ...and that's exactly what I'm running into with over 20k lines of code in this site. I should have charged my per/hr rate instead of a flat fee.

    Edit: Also, since there are multiple arrays being passed, I usually cross-check it since say, if(isset($_GET['foo']) && $_GET['foo'] == "bar"). I'm not sure who the coders were of this site, but I'd like to hit them with my old Windows 3.11 manual.
     
    #6 SpotOnTech, Jun 28, 2012
    Last edited: Jun 28, 2012

Share This Page