<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sun, 12 Feb 2012 19:23:44 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Tracking Upload Progress with PHP and JavaScript]]></title>
      <guid>http://www.phpdeveloper.org/news/17503</guid>
      <link>http://www.phpdeveloper.org/news/17503</link>
      <description><![CDATA[<p>
In a new tutorial today from PHPMaster.com, they show you how to <a href="http://phpmaster.com/tracking-upload-progress-with-php-and-javascript/">combine Javascript and a PHP feature</a> to track the progress of an upload to your web application.
</p>
<blockquote>
A problem that has plagued web developers for years is how to add real-time information to their applications, such as a progress bar for file uploads. [...] JavaScript can access a file's name, type, and even the width and height of a local image, but it wasn't until <a href="http://stackoverflow.com/q/4112575/322819">HTML5 that it could access a file's size</a>. [...] In this article I'll show you how [the session.upload_progress] feature can be used to create a simple upload progress bar without any external libraries or browser dependencies.
</blockquote>
<p>
The tutorial provides all the steps you'll need to get it working - defining the form with the extra required field, styling it and plugging the Javascript in to call a small script to get the progress of the upload. It returns the difference between the content-length of the file and the current size (as a percentage of 100).
</p>]]></description>
      <pubDate>Mon, 06 Feb 2012 13:58:32 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Tracking User Activity in PHP with Cookies and Sessions]]></title>
      <guid>http://www.phpdeveloper.org/news/16380</guid>
      <link>http://www.phpdeveloper.org/news/16380</link>
      <description><![CDATA[<>
On PHPBuilder.com today there's a new tutorial from <i>Leidago Noabeb</i> showing how you can track your website's users with the help of <a href="http://www.phpbuilder.com/columns/tracking-cookies-sessions/Leidago_Noabeb05242011.php3">sessions and cookies</a>, the handling for which are already included in PHP.
</p>
<blockquote>
So, why can't you maintain state with HTTP? The main reason is because HTTP is a stateless protocol, meaning that it has no built-in way of maintaining state between transactions. For example, when a user requests one page followed by another, HTTP does not provide a way for us to tell which user made the second request. In this article we will look at what maintaining state in PHP applications entails.
</blockquote>
<p>
They introduce cookies and how they can be used to store information about the user's session on their client for a certain amount of time. This makes it much simpler for the cross-page or cross-session details to persist. There's a bit of code showing how to set and get a cookie and how to do the same with a session.
</p>]]></description>
      <pubDate>Wed, 25 May 2011 08:53:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Implementing User Authentication and Session Management with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16352</guid>
      <link>http://www.phpdeveloper.org/news/16352</link>
      <description><![CDATA[<p>
On PHPBuilder.com there's a new tutorial posted showing you how to create a <a href="http://www.phpbuilder.com/columns//user-authentication/Jason_Gilmore05172011.php3">user authentication system</a> that uses sessions to handle the logged in user's information.
</p>
<blockquote>
Outside of installation and configuration issues, reader questions pertaining to user authentication and session management almost certainly rank among the most common I receive on an ongoing basis. The logic itself is pretty straightforward; however, even a simple implementation involves a number of small but important details which aren't always so easy to figure out the first time around. This tutorial serves to dispel much of the confusion by guiding you through the implementation of a simple user authentication feature which will subsequently keep the user logged in via a <a href="http://www.php.net/manual/en/intro.session.php">session</a>.
</blockquote>
<p>
He helps you create the simple login form, a table in MySQL to store the user data in and the PHP script (complete with input filtering) to handle the login. The system also tracks the last login of each user by updating the table with a timestamp each time they successfully log in.
</p>]]></description>
      <pubDate>Wed, 18 May 2011 08:43:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel's Blog: Tracking PHP errors]]></title>
      <guid>http://www.phpdeveloper.org/news/15508</guid>
      <link>http://www.phpdeveloper.org/news/15508</link>
      <description><![CDATA[<p>
<i>Till Klampaeckel</i> has put together <a href="http://till.klampaeckel.de/blog/archives/120-Tracking-PHP-errors.html">this new post</a> looking at the <a href="http://us.php.net/manual/en/errorfunc.configuration.php#ini.track-errors">track_errors</a> ini option (that will always put the latest error message in <a href="http://us.php.net/manual/en/reserved.variables.phperrormsg.php">$phperrormsg</a>) and how it can help you more efficiently handle the errors your application throws.
</p>
<blockquote>
track_errors provides the means to catch an error message emitted from PHP. It's something I like to use during the development of various applications, or to get a handle on legacy code. Here are a few examples why!
</blockquote>
<p>
He gives the example of a failed <a href="http://php.net/file_get_contents">file_get_contents</a> that results in a warning. He suggests that, instead of suppressing the error, you set display_errors to "off" and throw an exception when on the failure. There's trade-offs though including the fact that it's in the global scope and additional work would have to be done to handle problems inside other scopes.
</p>]]></description>
      <pubDate>Mon, 29 Nov 2010 13:20:07 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kore Nordmann's Blog: PHP @ FrOSCon 2010]]></title>
      <guid>http://www.phpdeveloper.org/news/14896</guid>
      <link>http://www.phpdeveloper.org/news/14896</link>
      <description><![CDATA[<p>
<i>Kore Nordmann</i> has a new post to his blog about <a href="http://kore-nordmann.de/blog/0102_php_at_froscon_2010.html">this year's FrOSCon</a> and the PHP track they're organizing for it.
</p>
<blockquote>
This years FrOSCon - one of the most awesome open source software conferences - is right ahead and we are organizing a PHP track again this year. We want to thank all speakers who made it possible to publish this <a href="http://froscon.phpugdo.de/program.html">awesome program</a>`. And I want to especially thank <a href="http://www.muh-die-kuh.de/blog.html">Christian</a>, who helped a lot organizing this years PHP track.
</blockquote>
<p>
This year's <a href="http://www.froscon.org/">FrOSCon</a> will be happening August 21st and 22nd in the computer science department of the University of Applied Sciences Bonn-Rhein-Sieg.
</p>]]></description>
      <pubDate>Tue, 03 Aug 2010 13:58:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Dallas Techfest PHP Track]]></title>
      <guid>http://www.phpdeveloper.org/news/14837</guid>
      <link>http://www.phpdeveloper.org/news/14837</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today there's <a href="http://devzone.zend.com/article/12329-Dallas-Techfest-PHP-Track">a new post</a> about the PHP track at this year's <a href="http://dallastechfest.com">Dallas TechFest</a> (happening July 30th).
</p>
<blockquote>
On July 30th in DFW, take part in the Dallas TechFest!  It is a one day technical conference and we're happy to say that we have a good PHP track.  Let's blow out the attendance.  It's on a Friday so you won't be getting anything done anyway. 
</blockquote>
<p>
You can find the full list of speakers (cross-language and platform talks!) on <a href="http://www.dallastechfest.com/Agenda/tabid/88/Default.aspx">the TechFest site</a>. PHP-related topics include <a href="http://www.dallastechfest.com/Sessions/tabid/90/CodecampId/2/SessionId/66/Default.aspx">using the Zend Framework</a>, <a href="http://www.dallastechfest.com/Sessions/tabid/90/CodecampId/2/SessionId/64/Default.aspx">scalable applications</a> and <a href="http://www.dallastechfest.com/Sessions/tabid/90/CodecampId/2/SessionId/62/Default.aspx">application deployment</a>.
</p>]]></description>
      <pubDate>Thu, 22 Jul 2010 12:03:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage's Blog: Why Tracking Bugs In Personal Projects Matters]]></title>
      <guid>http://www.phpdeveloper.org/news/13649</guid>
      <link>http://www.phpdeveloper.org/news/13649</link>
      <description><![CDATA[<p>
Often times developers only think about tracking the bugs in the code for their "real jobs" and don't worry about issues that might pop up in their personal projects. <i>Brandon Savage</i> <a href="http://www.brandonsavage.net/why-tracking-bugs-in-personal-projects-matters/">suggests</a> that they should both be important and that not tracking bugs on your personal projects can be a bad thing for the quality of your code.
</p>
<blockquote>
Too often, it seems like these development practices are abandoned, especially with regards to the use of a bug tracker. I know I have personally been guilty of failing to use a bug tracker, even though I use things like Subversion and develop specifications. It's easy to forget, but important to remember.
</blockquote>
<p>
He lists five reasons why you should use a bug tracker for your personal development:
</p>
<ul>
<li>Our minds are imperfect repositories of information.
<li>Bad development practices can form.
<li>It makes it harder to force ourselves to use bug trackers for private paying clients.
<li>Predicting time to completion becomes more difficult.
<li>Seeing progress being made is that much more difficult.
</ul>]]></description>
      <pubDate>Wed, 09 Dec 2009 12:52:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: PHP and Adobe Air: Building a Time-tracking and Billing Application - Part II]]></title>
      <guid>http://www.phpdeveloper.org/news/12287</guid>
      <link>http://www.phpdeveloper.org/news/12287</link>
      <description><![CDATA[<p>
PHPBuilder.com has posted the <a href="http://www.phpbuilder.com/columns/bates/richard_bates040609.php3">second part</a> of their series on creating a sample application - a time tracking app - with PHP and Adobe Air.
</p>
<blockquote>
Welcome back. In part 1 of this series, you created some PHP remote services and the Clocked! widget application. Part 2 covers PHP administration and completion of the timer widget.
</blockquote>
<p>
They're developing a Flex-based application (rather than the HTML/Javascript combo that can also be used with Air) so they'll be doing their work in Flex Builder. They set up a few placeholder functions like getClients, getProjects and getProjectsResult as well as support for the ticket and timer objects. Add in a few interface items like dropdowns for client and project selection and a start/stop button and you have the basic app laid out. The PHP interface to all of this Flex code comes in the next article of the series.
</p>]]></description>
      <pubDate>Tue, 07 Apr 2009 07:54:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Building a time-tracking and billing application with Adobe AIR and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/12166</guid>
      <link>http://www.phpdeveloper.org/news/12166</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a <a href="http://www.phpbuilder.com/columns/bates/richard_bates031809.php">new tutorial</a> by <i>Richard Bates</i> that will walk you through the creation of a simple time tracking application that combines the <a href="http://www.adobe.com/products/air/">Adobe Air</a> and PHP technologies to make a simple desktop client.
</p>
<blockquote>
The scenario calls for a lightweight, cross-platform desktop application that does its job and stays out of the users' way. It also needs a powerful management interface that can be accessed from anywhere. To address both needs, you first create a desktop application for AIR that leverages PHP back-end services for persistent storage and extra horsepower. Then, you create a simple and quick PHP/Hypertext Markup Language (HTML) browser-based interface for management and output applications. 
</blockquote>
<p>
The Air client is really just a frontend to the PHP backend located on the server (so there's no need to install PHP locally too). The system is based around a few objects - the Client, a Project, a time-tracking Ticket and an Invoice for the time spent. To make things simpler, he uses an instance of the <a href="http://framework.zend.com">Zend Framework</a> to do most of the heavy lifting on the backend.
</p>
<p>
The rest of <a href="http://www.phpbuilder.com/columns/bates/richard_bates031809.php?page=6">this article</a> sets up the backend scripts - creating the service interface and making some of the initial methods (like getClients and logIn). The next part in the series will get into the actual Air application.
</p>]]></description>
      <pubDate>Thu, 19 Mar 2009 07:58:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Tracking a Stack of Function Calls with the Xdebug Extension ]]></title>
      <guid>http://www.phpdeveloper.org/news/12144</guid>
      <link>http://www.phpdeveloper.org/news/12144</link>
      <description><![CDATA[<p>
On DevShed today the <a href="http://www.devshed.com/c/a/PHP/Tracking-a-Stack-of-Function-Calls-with-the-Xdebug-Extension/">latest article</a> in their XDebug series has been posted, a look at tracking the function call stack with help from functionality the extension provides.
</p>
<blockquote>
Despite this inconvenience [pf not being able to get more in-depth], in this final part of the series, I'm going to show you how to work with a function of the library called "xdebug_get_function_stack()." This function can be used to keep track of the stack of function calls generated by a PHP script, in this manner completing this starting guide on this helpful extension.
</blockquote>
<p>
After reviewing the script from the previous part (using xdebug_time_index) they get into this new function and what sort of output it provides. The stack is the trace of what functions and values were passed around in the script including information like the function name, parameters and the file it was in.
</p>]]></description>
      <pubDate>Mon, 16 Mar 2009 13:14:19 -0500</pubDate>
    </item>
  </channel>
</rss>

