Category Archives: programming

Inserting recaptcha to your form

Captcha is good to reduce spam. One of most popular captcha used is recaptcha.

This is how it looks like. Familiar?

captcha

To implement it is very easy. Will take less than 10 minutes of your time.

1. Get your public and private key

https://www.google.com/recaptcha/admin/create

2. Include class file

Download recaptcha library file for PHP (with some sample files)

3. Insert code in form page

1
2
3
4
5
6
7
8
<form method="post" action="verify.php">
        <?php
          require_once('recaptchalib.php');
          $publickey = "your_public_key"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
        <input type="submit" />
</form>

4. Insert code to validate code in process page

1
2
3
4
5
6
7
8
9
10
11
12
13
14
require_once('recaptchalib.php');
  $privatekey = "your_private_key";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);
 
  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }

PHP code protection

I’m looking for PHP encoding application to encrypt some of my PHP code. Reasons – to avoid it from being accidently altered and to avoid from people looking into the code (especially those with some important db and system config in it)

Here are some solutions for PHP encoding

  1. PHP Obfuscator – free (native windows, open source)
  2. zend guard
  3. ioncube (usd199)
  4. SourceGuardian (usd199)
  5. PHPshadow (EUR50 per domain)
  6. more..

Some other related discussion on license/code protection:

  1. stackoverflow
  2. webmasterworld
  3. PADL (a php class) – PHP Application Distribution License System

Export as .csv with jQuery

This is so simple and very useful for reporting purpose. You can easily export your html table to .csv format with this jquery scripts.

Step 1: Html File

<form action="getCSV.php" method="post">
<input id="csv_text" name="csv_text" type="hidden" />
<input onclick="getCSVData()" type="submit" value="Get CSV File" />
 
<script type="text/javascript"><!--mce:0--></script>
</form>

Step 2: PHP File ( getCSV.php )

<!--?php
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"my-data.csv\"");
$data=stripcslashes($_REQUEST['csv_text']);
echo $data;
?-->

Thanks to the code writer
source: http://www.kunalbabre.com/projects/table2CSV.php

Run PHP file with cron

This is the script to paste in cron to run a PHP file

php -f /home/username/public_html/cron-daily.php

Anyway I haven’t tried to put the script outside public_html directory. Logically PHP cannot run outside web root folder unless you set it to run outside web root folder in apache.

And you can use this script to run PHP by full URL. Even script on other server

lynx -dump http://yourdomain.com/yourscript.php >/dev/null 2>&1

Add xx month or xx day to a date

To add xx day or xx month to a date using this method.

1
2
3
4
5
6
7
8
9
10
11
12
$mktime = explode("-",$rs_loan['datestart']);
 
$x = 5;
 
//to add $x to day
$newdate = date("Y-m-d",mktime(0,0,0,$mktime[1],$mktime[2]+$x,$mktime[0]));
 
//to add $x to month
$newdate = date("Y-m-d",mktime(0,0,0,$mktime[1]+$x,$mktime[2],$mktime[0]));
 
//to add $x to year
$newdate = date("Y-m-d",mktime(0,0,0,$mktime[1],$mktime[2],$mktime[0]+$x));

Append 0’s in front of a running number

Sometimes we need to fix a number to say 5 digits. e.g. 00012. Here’s the code to append the 0’s in front of the numbers so that you can just save the number without 0’s in front in your database.

1
2
$anum = 123;
echo str_pad($anum, 5, '0', STR_PAD_LEFT);

Result will be displayed as 00123