Online Fan-Voting

<p>An online fan-voting process is going to be implemented, where only the email-address of the voter and the object-voted-for (person, band, subject,...) is given. It should not be possible for voters to vote more than one time. The system is implemented in PHP on a shared hosting service. Access to MySQL database and email sending component is possible.</p><p>To find a basic concept (workflow), how multiple votings by a single user can be prevented in this restricted environment, is the goal of this challenge.</p>


Easy access to MySQL data on shared hosting service

<p>MySQL databases are often the main data-source of web applications when it comes to shared hosting services with very limited possibilites (no system service support, no scheduling, no in-memory database, ...). Often, management or visualization of such databases is not easily done, since no admin utility is installed, no remote connections to the database are allowed, and access by the sql binary (via SSH) is not user-friendly. A better way to manage databases visually in such cases is the challenge.</p>

poor mans typo3 extensions

The typo3 extension "page_php_content" allows you to enter php -code as a part of a page and have it executed when building a page without writing an extension. If the code is more than a few lines it is advisable to write it in a file and just include it in the page content field. 


Extend Typo3 with custom functionality

Typo3 is a powerful content management system with a rich framework for extensions. However for simple tasks it can be too much work to write a fully-fledged extention. The goal is to integrate small server-side programs into a typo3 managed website with less work.

Search engine and user friendly CodeIgniter URLs

<p class="MsoNormal"><span lang="EN-US">CodeIgniter is a PHP based programming framework which implements the model-view-controller paradigm. All HTTP requests have to pass the central index.php file (provided by CI) which initiates the framework controllers to load the views and render a site. So it is not possible to directly call a specific site by entering its URL. To open a specific site the according controller has to be called by passing its name as HTTP-Get-Variable to the central index.php. As a consequence every HTTP request is redirected to one single file and the URLs always contain variables which make them search engine and user unfriendly.</span></p><p>&nbsp;</p>

Speeding up project using Zend_Db

<p>An existing project realized with the Zend Framework should be optimized in terms of performance. The use of Zend_Db slows down the database access because of its automatic table-scanning and overhead. The SQL-queries as well as the table structures are already optimized and should not be changed. The configuration on the server environment:</p><ul><li>PHP 5.2.6</li><li>MySQL Server Version: 5.0.75</li><li>Zend Framework 1.5</li><li>Apache 2.6.28-16</li><li>Suhosin-Patch</li></ul><p>The update to a newer version of Zend Framework is right now not possible because of some migration problems. The changes in the code should be measurable and viewable with XDEBUG/kcachegrind.</p>

Securing web pages written in PHP

<p>An existing web page with no special focus on safety should be secured against different kinds of attacks. The page is located on a shared web server on which no special privileges are granted. The versions of the software used in the environment are the following:</p><ul><li>PHP 5.2.6</li><li>MySQL Server Version: 5.0.75</li><li>Zend Framework 1.5</li><li>Apache 2.6.28-16</li><li>Suhosin-Patch</li></ul><p>PHP-Configuration:</p><ul><li>safe_mode off</li><li>magic_quotes_runtime off</li><li>magic_quotes_gpc off</li></ul><p>Especially the parameters should be checked against malicious contents.</p><p>GET-Parameters:</p><ul><li>site, string</li><li>nodeid, integer</li><li>action, string</li></ul><p>The POST-Parameters are variable and should just allow alphanumerical values and punctuation marks.</p><p>XSS, SQL Injection and directory traversal should be avoided. The Solution should be easy to understand, configurable and flexible. Already finished libraries and tools which are tested will be accepted.</p>

How to create a customized Yahoo Calendar within your PHP form

During the implementation of a project for my current employer i wanted to add some "glamour" to my web-forms. A big part of the project is to add a lot of data into a database. To make that a little bit easier i wanted a date picker, so that someone does not always have to switch between mouse and keyboard (which takes quite long for unexperienced users). There are a lot of calendar applications out in the web, and there are also some solutions how to implement such applications by your own, but who wants to invent the wheel a second time? I chose the Yahoo Calendar. It has great functionality and a huge potential to personalize the calendar. Luckily i attendet the lecture "Usabilty Engineering" at the same time, so i thought about "efficiency", how to make my calendar more easy to use, more comfortable than others. So i decided that my calendar should pop up, when the user clicks in the date-field within the web-form and it should disappear when the user enters something via the keyboard or clicks somewhere else on the webpage. In addition i wanted the calendar in german, which also needs quite a lot of typing, for all settings to be edited.

How to execute MySQL Statements within JavaScripts with AJAX

Currently i am developing an administration software for a physiotherapy center. Therefor i simply use PHP and MySQL, so XAMPP was a very comfortable solution. As the complexety of the system grows i had to broaden my horizon and find some tricky solutions to achieve the surreal requirements of my employer. People always want everyhing "flexibel", fast, "automatically",... properties which are very hard to reach within a software. So someday i encountered a very hard problem which took me a long time to solve it (although, afterwards it wasn't so difficult). I had to process some data within my database, which was generated and accessed via JavaScript. If someone has programmed a little bit with PHP before, its not that hard to get content of a PHP-Variable within JavaScript, but its not so easy to process some JavaScript-Variables within an MySQL Statement without reloading the page. So a solution had to be found. After hours of internet surfing and talking to some programmers i found it, my holy grail, AJAX.

Use Dolphin on Mac OSX

Dolphin 6.1 from BoonEx is a community builder written in PHP and uses a MySQL database to store data. The main concept of Dolphin is to provide features that are used in social networks, such as building groups, share videos… Setting up Dolphin (on Mac OSX) is quite easy with the provided installation scripts (only some additional settings like for example permissions and additional graphical libraries are necessary). But still after a successful installation the system under Mac OSX doesn’t work perfect. The graphical operations are not executed correctly (and also some Ajax requests).


Subscribe to php