Monday, March 29, 2010

Control Flow Functions in Mysql

In this post i describe about how to use conditional operation in sql command for retrieving a record form table.
using these function record display according to it's condition.
  these operator are following:-

  1. Case
  2. If
  3. IfNull
  4. Nullif  
Case function:-
   syntax:-
                case condition when value_to_compare1 then result1 when value_to_compare2 then result2 else result3 end;

In above syntax  when condition value is equal to value_to_compare1 then result1 will output other check value_to_compare2 then result2 will output if both comparison fail then result3 execute.

example:-
CASE var WHEN NULL THEN SELECT 'Hi'; ELSE SELECT 'friend.'; END CASE;


If:-
Syntax:-
           select if(condition,true,false) from table ;
In above syntax if condition is true then true comes in result other wise false.


example:-
      select if(id=vlaue,emp_name,emp_dept) from emp where id=value;


IFNULL
    syntax:
           ifnull(value1,value2)
    
ivalue1 is not NULLIFNULL() returns value1; otherwise it returns value2.
 IFNULL() returns a numeric or string 
example:-SELECT IFNULL(1,0);
Nullif:-

   syntax:- nullif(value1,value2);
if value1=value2 then return null other vise value1






Saturday, March 13, 2010

Server environment information in php

$_SERVER is an array containing information such as headers, paths, and script locations. The entries in this array are created by the web server. There is no guarantee that every web server will provide any of these; servers may omit some, or provide others not listed here.



$_SERVER[] Element:-


  1. $_SERVER['PHP_SELF'] :- The filename of the currently executing script, relative to the document root.
  2. $_SERVER['argv']:-Array of arguments passed to the script. When the script is run on the command line, this gives C-style access to the command line parameters
  3. $_SERVER['argc']:-Contains the number of command line parameters passed to the script (if run on the command line).
  4.  $_SERVER['GATEWAY_INTERFACE']:-What revision of the CGI specification the server is using.
  5. $_SERVER['SERVER_ADDR']:-The IP address of the server under which the current script is executing.
  6. $_SERVER['SERVER_NAME']:-The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host.
  7. $_SERVER['SERVER_SOFTWARE']:- Server identification string, given in the headers when responding to requests.
  8. $_SERVER['SERVER_PROTOCOL']:-Name and revision of the information protocol via which the page was requested
  9. $_SERVER['REQUEST_METHOD']:-Which request method was used to access the page
  10. $_SERVER['REQUEST_TIME']:-The timestamp of the start of the request
  11. $_SERVER['QUERY_STRING']:-The query string, if any, via which the page was accessed
  12. $_SERVER['DOCUMENT_ROOT']:-The document root directory under which the current script is executing, as defined in the server's configuration file
  13. $_SERVER['HTTP_ACCEPT']:-Contents of the Accept: header from the current request, if there is one.
  14. $_SERVER['HTTP_ACCEPT_CHARSET']:-Contents of the Accept-Charset: header from the current request, if there is one.
  15. $_SERVER['HTTP_ACCEPT_ENCODING']:-Contents of the Accept-Encoding: header from the current request, if there is one.
  16. $_SERVER['HTTP_ACCEPT_LANGUAGE']:-Contents of the Accept-Language: header from the current request, if there is one.
  17. $_SERVER['HTTP_CONNECTION']:-Contents of the Connection: header from the current request, if there is one.
  18. $_SERVER['HTTP_HOST']:-Contents of the Host: header from the current request, if there is one.
  19. $_SERVER['HTTP_REFERER']:-The address of the page (if any) which referred the user agent to the current page. This is set by the user agent.
  20. $_SERVER['HTTP_USER_AGENT']:-Contents of the User-Agent: header from the current request, if there is one. This is a string denoting the user agent being which is accessing the page.
  21. $_SERVER['HTTPS']:-Set to a non-empty value if the script was queried through the HTTPS protocol.
  22. $_SERVER['REMOTE_ADDR']:-The IP address from which the user is viewing the current page.
  23. $_SERVER['REMOTE_HOST']:-The Host name from which the user is viewing the current page. The reverse dns lookup is based off the REMOTE_ADDR of the user.
  24. $_SERVER['REMOTE_PORT']:-The port being used on the user's machine to communicate with the web server.
  25. $_SERVER['SCRIPT_FILENAME']:-The absolute pathname of the currently executing script.
  26. $_SERVER['SERVER_ADMIN']:-The value given to the SERVER_ADMIN (for Apache) directive in the web server configuration file.
  27. $_SERVER['SERVER_PORT']:-The port on the server machine being used by the web server for communication.
  28. $_SERVER['SERVER_SIGNATURE']:-String containing the server version and virtual host name which are added to servergenerated pages, if enabled.
  29. $_SERVER['PATH_TRANSLATED']:- Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping.
  30. $_SERVER['SCRIPT_NAME']:-Contains the current script's path. This is useful for pages which need to point to themselves.
  31. $_SERVER['REQUEST_URI']:-The URI which was given in order to access this page;
  32. $_SERVER['PHP_AUTH_DIGEST']:- When running under Apache as module doing Digest HTTP authentication this variable is set to the 'Authorization' header sent by the client (which you should then use to make the appropriate validation).
  33. $_SERVER['PHP_AUTH_USER']:-When running under Apache or IIS (ISAPI on PHP 5) as module doing HTTP authentication this variable is set to the username provided by the user.
  34. $_SERVER['PHP_AUTH_PW']:-When running under Apache or IIS (ISAPI on PHP 5) as module doing HTTP authentication this variable is set to the password provided by the user.
  35. $_SERVER['AUTH_TYPE']:-When running under Apache as module doing HTTP authenticated this variable is set to the authentication type.
  36. $_SERVER['PATH_INFO']:- Contains any client-provided pathname information trailing the actual script filename but preceding the query string, if available.
  37. $_SERVER['ORIG_PATH_INFO']:-Original version of 'PATH_INFO' before processed by PHP.
Url:-http://localhost/testing/serverfunction.php?arg=value&arg1=value2


Output :-

/testing/serverfunction.phpPhp Self
Arrayargv
1argc
CGI/1.1GATEWAY_INTERFACE
127.0.0.1SERVER_ADDR
localhostSERVER_NAME
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9SERVER_SOFTWARE
HTTP/1.1SERVER_PROTOCOL
GETREQUEST_METHOD
1268480923REQUEST_TIME
arg=value&arg1=value2QUERY_STRING
C:/xampp/htdocsDOCUMENT_ROOT
application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5HTTP_ACCEPT
UTF-8,*;q=0.5HTTP_ACCEPT_CHARSET
gzip,deflate,sdchHTTP_ACCEPT_ENCODING
en-US,en;q=0.8HTTP_ACCEPT_LANGUAGE
keep-aliveHTTP_CONNECTION
localhostHTTP_HOST
HTTP_REFERER
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5HTTP_USER_AGENT
HTTPS
127.0.0.1REMOTE_ADDR
REMOTE_HOST
3145REMOTE_PORT
C:/xampp/htdocs/testing/serverfunction.phpSCRIPT_FILENAME
admin@localhostSERVER_ADMIN
80SERVER_PORT
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 Server at localhost Port 80
SERVER_SIGNATURE
PATH_TRANSLATED
/testing/serverfunction.phpSCRIPT_NAME
/testing/serverfunction.php?arg=value&arg1=value2REQUEST_URI
PHP_AUTH_DIGEST
PHP_AUTH_USER
PHP_AUTH_PW
AUTH_TYPE

Thursday, March 11, 2010

Check Various Credit Card Validation In JS

This is code for check that enter card number with respect to card is valid or u enter wrong card number. Because every card or bank have different digit in his card and it's number.







function checkCreditCard (cardnumber, cardname) {
    
  // Array to hold the permitted card characteristics
  var cards = new Array();


// Define the cards we support. You may add addtional card types.
    
  //  Name:      As in the selection box of the form - must be same as user's
  //  Length:    List of possible valid lengths of the card number for the card
  //  prefixes:  List of possible prefixes for the card
  //  checkdigit Boolean to say whether there is a check digit
  
  cards [0] = {name: "Visa",
  length: "13,16",
  prefixes: "4",
  checkdigit: true};
  cards [1] = {name: "MasterCard",
  length: "16",
  prefixes: "51,52,53,54,55",
  checkdigit: true};
  cards [2] = {name: "DinersClub",
  length: "14,16",
  prefixes: "305, 36, 38, 54,55",
  checkdigit: true};
  cards [3] = {name: "CarteBlanche",
  length: "14",
  prefixes: "300,301,302,303,304,305",
  checkdigit: true};
  cards [4] = {name: "AmEx",
  length: "15",
  prefixes: "34,37",
  checkdigit: true};
  cards [5] = {name: "Discover",
  length: "16",
  prefixes: "6011,622,64,65",
  checkdigit: true};
  cards [6] = {name: "JCB",
  length: "16",
  prefixes: "35",
  checkdigit: true};
  cards [7] = {name: "enRoute",
  length: "15",
  prefixes: "2014,2149",
  checkdigit: true};
  cards [8] = {name: "Solo",
  length: "16,18,19",
  prefixes: "6334, 6767",
  checkdigit: true};
  cards [9] = {name: "Switch",
  length: "16,18,19",
  prefixes: "4903,4905,4911,4936,564182,633110,6333,6759",
  checkdigit: true};
  cards [10] = {name: "Maestro",
  length: "12,13,14,15,16,18,19",
  prefixes: "5018,5020,5038,6304,6759,6761",
  checkdigit: true};
  cards [11] = {name: "VisaElectron",
  length: "16",
  prefixes: "417500,4917,4913,4508,4844",
  checkdigit: true};
  cards [12] = {name: "LaserCard",
  length: "16,17,18,19",
  prefixes: "6304,6706,6771,6709",
  checkdigit: true};
  
  // Establish card type
  var cardType = -1;
  for (var i=0; i<cards.length; i++) {


// See if it is this card (ignoring the case of the string)
  if (cardname.toLowerCase () == cards[i].name.toLowerCase()) {
  cardType = i;
  break;
  }
  }
  
  // If card type not found, report an error
  if (cardType == -1) {
  ccErrorNo = 0;
  return false;
  }
  
  // Ensure that the user has provided a credit card number
  if (cardnumber.length == 0)  {
  ccErrorNo = 1;
  return false;
  }
  
  // Now remove any spaces from the credit card number
  cardnumber = cardnumber.replace (/\s/g, "");
  
  // Check that the number is numeric
  var cardNo = cardnumber
  var cardexp = /^[0-9]{13,19}$/;
  if (!cardexp.exec(cardNo))  {
  ccErrorNo = 2;
  return false;
  }
  
  // Now check the modulus 10 check digit - if required
  if (cards[cardType].checkdigit) {
  var checksum = 0;                                  // running checksum total
  var mychar = "";                                   // next char to process
  var j = 1;                                         // takes value of 1 or 2
  
  // Process each digit one by one starting at the right
  var calc;
  for (i = cardNo.length - 1; i >= 0; i--) {






  // Extract the next digit and multiply by 1 or 2 on alternative digits.
  calc = Number(cardNo.charAt(i)) * j;
  
  // If the result is in two digits add 1 to the checksum total
  if (calc > 9) {
  checksum = checksum + 1;
  calc = calc - 10;
  }
  
  // Add the units element to the checksum total
  checksum = checksum + calc;
  
  // Switch the value of j
  if (j ==1) {j = 2} else {j = 1};
  }
  
  // All done - if checksum is divisible by 10, it is a valid modulus 10.
  // If not, report an error.
  if (checksum % 10 != 0)  {
  ccErrorNo = 3;
  return false;
  }
  }


// The following are the card-specific checks we undertake.
  var LengthValid = false;
  var PrefixValid = false;
  var undefined;


// We use these for holding the valid lengths and prefixes of a card type
  var prefix = new Array ();
  var lengths = new Array ();
  
  // Load an array with the valid prefixes for this card
  prefix = cards[cardType].prefixes.split(",");
  
  // Now see if any of them match what we have in the card number
  for (i=0; i<prefix.length; i++) {
  var exp = new RegExp ("^" + prefix[i]);
  if (exp.test (cardNo)) PrefixValid = true;
  }
  
  // If it isn't a valid prefix there's no point at looking at the length
  if (!PrefixValid) {
  ccErrorNo = 3;
  return false;
  }
  
  // See if the length is valid for this card
  lengths = cards[cardType].length.split(",");
  for (j=0; j<lengths.length; j++) {
  if (cardNo.length == lengths[j]) LengthValid = true;
  }
  
  // See if all is OK by seeing if the length was valid. We only check the
  // length if all else was hunky dory.
  if (!LengthValid) {
  ccErrorNo = 4;
  return false;
  };
  
  // The credit card is in the required format.
  return true;
  }
  function validateCard (errorField) {
  cardText = document.getElementById('txtCardNumber');
  myCardNo = document.getElementById('txtCardNumber').value;
  myCardType = document.getElementById('cardType').value;
  if (checkCreditCard (myCardNo,myCardType))
  {
  errorField.style.visibility='hidden';
  errorField.innerHTML="";
  cardText.style.border='#339900 solid 1px';
  return "";
  }
  else
  {//alert (ccErrors[ccErrorNo])
  errorField.innerHTML="Credit card number is invalid";
  errorField.style.visibility='visible';
  errorField.style.border='#FF3333 solid 1px';
  errorField.style.background='#FBE3E4';
  errorField.style.color='#8a1f11';
  errorField.style.fontSize='10px';
  cardText.style.border='#FF3333 solid 1px';
  return false;
  }
  }