Header menu

_________________________________________________________________________________
Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Saturday, 9 August 2014

Ajax Simple Captcha on jquery Dialog form


 

Ajax  Simple Captcha on jquery Dialog form

CAPTCHA  is a type of challenge-response test used in computing to determine whether or not the user is human. Adding captcha to html/php page is simple task . But its not so easy in jquery dialog form for newbies . So lets implement a simple captcha for jquery dialog form.

I will use 4 files :
1. index.php ( Contains html form, javascript code to send ajax request)
2. captcha.php ( Create captcha image)
3. captcheck.php ( Check weather value entered for captcha is right or wrong)
4. post.php ( Page where form submits if captcha validation is fine)
index.php

Friday, 2 May 2014

PHP force file download method not working on android mobile when file path is passed from database


 

PHP force file download method not working on android mobile when file path is passed from database

When you use are using force download method of php to download some music/video on any android device ( I specifically performed for this ) . Then you might face two types of problems.

1.  You will get html page instead of media file.

2.  When you are passing file path from database, your file is not downloaded completely. It will show download complete after downloading some byte. In straight incomplete file is downloaded .

Below is the code that will work for solving these two problem. The points to remember are 

(a) Do not call download method from the loop where you are checking post or get request . Call download method out of GET/POST condition check loop. It is solve first problem of html pages download.

(b) Pass only file name from the database . Keep the file path static . I know this will make code hard coded but if you pass path from database then '/'  in path will create problem. And you will not be able to download file properly.



                                                I hope this will work for you too ..  :)

Wednesday, 2 April 2014

Pass parameter to post method of file_get_contents()


If you are looking for some alternative to php cURL then file_get_contents is the function you are looking for. File_get_contents() is the  way to read the contents of a file into a string. We are going to discuss this function  as simple one to request data from server and then with post method to parameters requesting for some specific content. It is same as like CURL requesting server/service for some data.

In simplest form we can just pass url to function to get content of webpage:


To do more you can pass parameter as string to post method



At last passing array as parameter to post method of file_get_contents()

Tuesday, 4 February 2014

Stop/Hold output before sending of header


ob_start()

Normally, the output  starts as soon as your first "echo" comes  or first non-PHP content. Once output starts, we cannot send headers . So to tackle this we use output buffering we is disabled by default.  

To create a new output buffer and start writing it, we call ob_start(). There are two ways to end a buffer :-

1.  ob_end_flush()
      It ends the buffer and sends all data to output

2.  ob_end_clean()
      It ends the buffer without sending it to output.

Consider the following script:

<?php
    ob_start();
    echo
"Hello One!\n";
    
ob_end_flush();

    
ob_start();
    echo
"Hello Two!\n";
    
ob_end_clean();

    
ob_start();
    echo
"Hello Three!\n";
?>

Output :  Hello One! Hello Three!

This script will output "Hello One" because the first text is placed into a buffer then flushed with ob_end_flush().

The "Hello Two" will not be printed out, although it is echoed, because it is placed into a buffer which is cleaned using ob_end_clean() and not sent to output.

Finally, the script will print out "Hello Three" because PHP automatically flushes  output buffers when it reaches at the end of a script.

Tuesday, 29 October 2013

Concatenate html tags to string in php

To add html tags to string in php ... You have to concatenate html tags with string using htmlentities()
as shown below
$newstring="<u>".htmlentities("test")."</u>";
Here i have added <u> tag to my string test which is passed to htmlentities() function for concatenation.

For more details see the example
Example:

<?php
$mystring="Hello ... This is my test string . I am testing it for htmlentities()";
echo "This is string before adding html tags"."</br>";
echo "</br>";
echo $mystring;
echo "</br>";
echo "</br>";
$newstring="<u>".htmlentities("test")."</u>";
$finalstring=str_replace("test",$newstring,$mystring);
echo "This is string after add html tags"."</br>";
echo "</br>";
echo $finalstring;
?>


htmlentities

Tuesday, 22 October 2013

PHP cURL simple tutorial

CURL is a reflective object-oriented programming language for interactive web applications whose goal is to provide a smoother transition between formatting and programming. It makes it possible to embed complex objects in simple documents without needing to switch between programming languages or development platforms.

The strong point of cURL is the number of data transfer protocols it supports. It supports FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE and LDAP.

PHP cURL allows you to read websites, upload files, upload data, fetch data and lots of more stuff ... Now its the time to see what we can do we PHP cURL...

PHP cURL example-1 :

<?php
$ch = curl_init ("http://www.alexa.com");             /** Initialise curl with url of alexa.com **/


curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);    /** Tell php curl that we want the data returned to us **/


$data = curl_exec ($ch);                            /** Execution of curl and result will be stored in $data **/

echo "<pre>";
print_r($data); /**preview result**/
?>


To understand more about cURL defination visit : PHP cURL

Tuesday, 15 October 2013

How cart details(product_id,prices,quantity etc) are stored by woocommerce ?

Various information about cart are stored by woocmmerce by two ways:
1. In $woocommerce object( About session , cart info, subtotal etc)
2. In database table named persistent_cart which is dynamic ... it will get destroyed as soon as checkout is done.

So , now how to access all this info ...
For the 1st kind just declare global $woocommerce object and use below code to see all details

global $woocommerce;
echo "<pre>";
print_r($woocommerce);
exit;

For the 2nd kind you have to  fetch data from table.. therefore first declare $wpdb wordpress object and write sql query to get result
one thing to note here is... data is stored in serialize manner in woocommerce_persistent_cart table so you have to unserialize it before using it
only then you can use it. Below is code to get cart information from table

global $wpdb;
$array = $wpdb->get_results("select meta_value from ".$wpdb->prefix."usermeta where meta_key='_woocommerce_persistent_cart'");
//print_r($array);
$data =$array[0]->meta_value;
$de=unserialize($data);

Monday, 7 October 2013

Upload and save image with thumbnail in php

upload - This is the directory where i will save my image
upload/thumbs - This is the directory where i will save my thumbnails


<?php
if($_POST){
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 200000000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0 && $_FILES["file"]["name"]!=' ')
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
    $dir="upload";
    if (!is_dir($dir)) {
            mkdir($dir);        
        }
   if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      echo"</br>";
      thumbs("upload");
      }
    }
  }
else
  {
  echo "Invalid file";
  }
 }
?>
<html>
<body>

Create thumbnails for complete directory in php

Create thumbnails for complete directory

If you wish to create thumbnails of large number of images then use the below php code
to create thumbnails .To create thumbnails, just give the path to images directory to
$orig_directory variable and run the script and your work is done ..!!


<?php

    $orig_directory = "img";     //Full path to image folder /* change this path */
    $thumb_directory =  $orig_directory;    //Thumbnail folder
/* Opening the thumbnail directory and looping through all the thumbs: */
    $dir_handle = @opendir($orig_directory); //Open Full image dirrectory
    if ($dir_handle > 1){ //Check to make sure the folder opened
   
    $allowed_types=array('jpg','jpeg','gif','png');
    $file_parts=array();
    $ext='';
    $title='';
    $i=0;

Thursday, 19 September 2013

Implode and Explode function of Php

Implode and Explode function of Php


<?php
// function 1:  implode()
echo "<h1>IMPLODE</h1>";
$arr=array("test1","test2","test3","test4","test5","test6","test7","test7");
echo "<pre>";  print_r($arr); echo "</pre>";

//implode(glue, pieces)

echo "Array with glue=none";
echo "</br>";echo "</br>";
$str=implode('', $arr);
echo $str;

echo "</br>";echo "</br>";
echo "Array with  ',' as glue to get comma separarted value from array ";
echo "</br>";echo "</br>";
$str=implode(',', $arr);
echo $str;
echo "</br>";echo "</br>";
// implode() function is used to join array elements and return string

// function 2:  explode(delimiter, string)
echo "<h1>EXPLODE</h1>";
echo $str="This is my string i am going to explode";
echo "</br>";echo "</br>";
echo "First using space as delimiter";
echo "<pre>";  print_r($arr); echo "</pre>";
$arr=explode(' ',$str);

echo "</br>";echo "</br>";
echo "Now using t as delimiter";
$arr=explode('t',$str);
echo "<pre>";  print_r($arr); echo "</pre>";
// explode breaks string into array where delimiter comes

?>

Array() / Array_fill() / Array_Keys() in php

Array() / Array_fill() / Array_Keys() in php

<?php
// function 1:  array()
$arr=array();
echo "Empty array created";
echo "<pre>";  print_r($arr); echo "</pre>";
// array() create an empty array

// function 2:  array_fill(start_index, num, value)
$arr=array_fill(0, 5, "test");
echo "Array filled with value";
echo "<pre>";  print_r($arr); echo "</pre>";
$arr[1]="failed";
$arr[3]="failed";
echo "Array after changes";
echo "<pre>";  print_r($arr); echo "</pre>";
// array_fill() fill the array with value given in parameter

// function 3:  arrays_keys(array,value)
echo "Keys where value is test in array";
$keyz=array_keys($arr,"test");
echo "<pre>";  print_r($keyz); echo "</pre>";
// arrays_keys() return the array of keys where value is same as parameter

?>

Friday, 13 September 2013

Append some (text/img) after some html element using jquery

How to append some (text/img) after some html element using jquery 

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript" >
        $(document).ready(function(){
var i=0;
        $("#sub").on("click",function(){
     $( "#1" ).append("Test "+i+" ... ");
         i++;
         });      
         });
</script>
</head>
<body>
<div id="1">This is my test...</div>
<button type="button"  id="sub">Append</button>
</form>
</body>
</html>

Thursday, 12 September 2013

Write sql queries in cakephp controller

How to write sql queries in cakephp controller 

public function index(){
    $result= $this->User->query("SELECT * FROM users ;");  
}

User :- It is the name of my Model
users:- Table name in database

$result:- contain array of result of sql query

Get session information in cakephp

How to get session information in cakephp 

In the controller you can use

$this->Session->read();

to get all details of session variable . And you can use

$this->set('session',$this->Session->read());


to use these values in corresponding view page.

-----------------------------------------------------------------------------------------------------------------------

If you wish to use session variable in each page then use set method in appcontroller to set its value

public function beforefilter(){
$this->set('session',$this->Session->read());
}

Now this session variable is accessible in every page of view.

Note: this should be placed in Appcontroller...

Tuesday, 10 September 2013

Create backup of database using php script


<?php
define('BACKUP_DIR', './Backups' ) ;
// Define  Database Credentials
define('HOST', 'localhost' ) ;
define('USER', 'amit' ) ;
define('PASSWORD', '' ) ;
define('DB_NAME', 'databse' ) ;
/*
Define the filename for the sql file
*/
$fileName = 'mysqlbackup--' . date('d-m-Y') . '@'.date('h.i.s').'.sql' ;
// Set execution time limit
if(function_exists('max_execution_time')) {
if( ini_get('max_execution_time') > 0 )     set_time_limit(0) ;
}

// Check if directory is already created and has the proper permissions
if (!file_exists(BACKUP_DIR)) mkdir(BACKUP_DIR , 0700) ;
if (!is_writable(BACKUP_DIR)) chmod(BACKUP_DIR , 0700) ;
// Create an ".htaccess" file , it will restrict direct accss to the backup-directory .
$content = 'deny from all' ;
$file = new SplFileObject(BACKUP_DIR . '/.htaccess', "w") ;
$file->fwrite($content) ;

$mysqli = new mysqli(HOST , USER , PASSWORD , DB_NAME) ;
if (mysqli_connect_errno())
{
   printf("Connect failed: %s", mysqli_connect_error());
   exit();
}
 // Introduction information
$return = "--\n";
$return .= "--  Mysql Backup \n";
$return .= "--\n";
$return .= '-- Export created: ' . date("Y/m/d") . ' on ' . date("h:i") . "\n\n\n";
$return = "--\n";
$return .= "-- Database : " . DB_NAME . "\n";
$return .= "--\n";
$return .= "-- --------------------------------------------------\n";
$return .= "-- ---------------------------------------------------\n";
$return .= 'SET AUTOCOMMIT = 0 ;' ."\n" ;
$return .= 'SET FOREIGN_KEY_CHECKS=0 ;' ."\n" ;
$tables = array() ;
// Exploring what tables this database has
$result = $mysqli->query('SHOW TABLES' ) ;
// Cycle through "$result" and put content into an array
while ($row = $result->fetch_row())
{
$tables[] = $row[0] ;
}
// Cycle through each  table
 foreach($tables as $table)
 {
// Get content of each table
$result = $mysqli->query('SELECT * FROM '. $table) ;
// Get number of fields (columns) of each table
$num_fields = $mysqli->field_count  ;
// Add table information
$return .= "--\n" ;
$return .= '-- Tabel structure for table `' . $table . '`' . "\n" ;
$return .= "--\n" ;
$return.= 'DROP TABLE  IF EXISTS `'.$table.'`;' . "\n" ;
// Get the table-shema
$shema = $mysqli->query('SHOW CREATE TABLE '.$table) ;
// Extract table shema
$tableshema = $shema->fetch_row() ;
// Append table-shema into code
$return.= $tableshema[1].";" . "\n\n" ;
// Cycle through each table-row
while($rowdata = $result->fetch_row())
{
// Prepare code that will insert data into table
$return .= 'INSERT INTO `'.$table .'`  VALUES ( '  ;
// Extract data of each row
for($i=0; $i<$num_fields; $i++)
{
$return .= '"'.$rowdata[$i] . "\"," ;
 }
 // Let's remove the last comma
 $return = substr("$return", 0, -1) ;
 $return .= ");" ."\n" ;
 }
 $return .= "\n\n" ;
}
// Close the connection
$mysqli->close() ;
$return .= 'SET FOREIGN_KEY_CHECKS = 1 ; '  . "\n" ;
$return .= 'COMMIT ; '  . "\n" ;
$return .= 'SET AUTOCOMMIT = 1 ; ' . "\n"  ;
$zip = new ZipArchive() ;
$resOpen = $zip->open(BACKUP_DIR . '/' .$fileName.".zip" , ZIPARCHIVE::CREATE) ;
if( $resOpen ){
$zip->addFromString( $fileName , "$return" ) ;
    }
$zip->close() ;
$fileSize = get_file_size_unit(filesize(BACKUP_DIR . "/". $fileName . '.zip')) ;
$message = "BACKUP  completed ";
echo $message ;


function get_file_size_unit($file_size){
switch (true) {
    case ($file_size/1024 < 1) :
        return intval($file_size ) ." Bytes" ;
        break;
    case ($file_size/1024 >= 1 && $file_size/(1024*1024) < 1)  :
        return intval($file_size/1024) ." KB" ;
        break;
    default:
    return intval($file_size/(1024*1024)) ." MB" ;
}
}

?>

Monday, 9 September 2013

Join us ...

Design form in cakephp

Note:Input name should be same as field name in database

Form to be written in .ctp in view

<?php
echo $this->Form->create('Model_name');
echo $this->Form->input('field1');
echo $this->Form->input('field2', array('rows' => '3'));
echo $this->Form->end('submit');
?>

Friday, 6 September 2013

Create two different url for admin and front site in cakephp

Most easy way to do this is by the use of scaffold variable.

Open the controller for which you want to make different admin page
and add the following statement:

public $scaffold='admin';

Now to go to app /config/core.php
and add the following statement:

Configure::write('Routing.prefixes', array('admin'));

Now create function for admin in controller like
public function admin_index(){
   
}


Now you access your admin using http://www.domain.com/admin/controller_name
and site using http://www.domain.com/controller_name

Thursday, 5 September 2013

Find position of string in a given string

Strpos Function


<html>
<body>
    <?php
        $str1="test";
        $str2="This is a testing string ";
        $pos=strpos($str2,$str1);
        echo "Given String : ".$str2."</br>";
        echo "String to be matched : ".$str1."</br>";
        echo "Match found at position : ".$pos;
        ?>
    </body>
</html>

Tuesday, 3 September 2013

How to block an ip address from visiting your website using .htaccess ?

1. Make a .htaccess file and save it in your root directory.
2. copy the code below:

order allow,deny
deny from 255.0.0.0   (blocked address)
deny from 192.168.1.96  (blocked address)
allow from all




3.  Paste in file and change the ip address to which you want to block.

4.  save the file