Monday, November 3, 2014

IE stylesheet CSS absolute position problem solved

There are certain times that you need to have a html element to have an absolute position.  IE does not display the element as intended as seen in all major browsers.

The div element displays the content in the middle of the container.  In IE you need to define the top and left as 0px.

Sample (I wanted the image to be displayed inside the div element):

.bannercontainer {
position:relative;
display:table;
width:340px;
height:340px;

}
.banner {
display:table-cell;
position:relative;
width:340px;
height:340px;

}
.banner a{
display:block;
position:absolute;
left:0px;
top:0px;

}

<div class="bannercontainer">
          <div class="banner">
            <a href="#"><img src="images/grillers.jpg" alt="Meat Grillers" width="340" height="340" border="0"></a>
            <a href="#"><img src="images/GRANDE_MEAL.jpg" alt="Amigo Grande Meal" width="340" height="340" border="0"></a>
            </div>
</div>

This sample displays the element correctly since the container has been specified at the correct width and height.  Otherwise, the content would be placed outside.

Wednesday, August 27, 2014

XAMPP MSSQL connection problem, php_sqlsrv.dll

I recently tried to install or add the PHP mssql driver to connect with the ms sql server.  Official compiled dll for the php_sqlsrv is until version 5.4, and does not support PHP version 5.5 and beyond.

I tried adding the extension, but XAMPP keeps on telling me there is something wrong.  It gives a message like "startup: sqlsrv: unable to initialize module..".  I searched the internet for some time, until I came across a solution on my particular problem.

It seems there is a need to compile a newer version of the php_sqlsrv driver.  Thankfully someone did that for me since I certainly have no idea how to compile this source file.  This is only for test purposes only, so hopefully the compiled dll does not have anything else besides the intended purpose of connecting to the ms sql server.

Here is the link to that file: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/e1d37219-88a3-46b2-a421-73bfa33fe433/unofficial-php-55-drivers-x86

Friday, August 22, 2014

Which is better? Notepad++ or Sublime text?

I have been searching lately for a better code editing application.  Some use sublime, some use notepad++ for website development.  I came across different websites saying Notepad++ is better, some say sublime text is better.

Here is one that is clear and objective comparison of both: http://text-editors.findthebest.com/compare/9-45/Notepad-vs-Sublime-Text

What it comes down to, is for what specific task will you be using the editor towards?  Some argue Notepad++ can compile on the editor itself.  Others argue, Sublime text can be used on different OS, such as Mac, Linux, Windows.

Both are almost identical, and can be customize to your specific layout.  But as far as latest language updates for the web, I noticed that sublime text supports the new syntax in CSS3.  I have been using Notepad++ occasionally, and when using intelli-sense, Sublime text offer much updated language file.

There is nothing wrong with Notepad++, if it can serve your specific project needs, then stick with it.  It is a stable build and free.  Sublime text on the other hand is not free and expensive for an editor.  It cost $70, and free update on current version only.  If there is a new version, the license you purchased is only good up to the point of latest update of version bought.

Note: out of the box, Sublime text already has intelli-sense working.  While Notepad++ you will need to allow autocomplete thru this steps: Settings>Preference>Auto-Completion tick on the checkbox to enable auto-complete on each input.




Monday, April 14, 2014

Windows host file helps in speeding up MySQL localhost access

We had a problem before, where the PHP page does not load as fast as it should on mySQL database access.  We seem to have solved it by allowing the 127.0.0.1 to point to localhost.

What we did was removed the comment sign # to resolve the ip as localhost.

Host file is found at the following directory: c:\windows\system32\drivers\etc\
File name is hosts.

There are a lot of source material on the internet to edit the host file.

This is one of them:
http://helpdeskgeek.com/windows-7/windows-7-hosts-file/

Thursday, March 6, 2014

PHP include_once from parent folder not working in version 5 above

I don't know why but the include_once does not work if the file is one folder above the file calling it.  There is a fatal error logged in the error log file, but it does seem to be still working.

The solution, that I found here: http://stackoverflow.com/questions/5588639/php-include-once-not-working
seems to work, and does not register as error after I place the code sample:

include_once (dirname(__FILE__) . '/../file.php');

Thank you, to the person who shared the answer.

Wednesday, December 11, 2013

DateTime functions not working in new set-up PHP 5.3.27 or any other version

You may seem to find yourself in a predicament when you have a new server with a default set-up of PHP configuration. When you transfer your working website when it does not work as intended.

I was searching on the web how can this be? Does the new version, not accommodate the functions used previously.  You might assume that, but the simple solution to the problem is the Date Timezone settings in the config or PHP.ini file.  You just need to set it to your desired timezone.  Once you have specified this, the functions should work as it used to before.

At least that what solved my problem.

Wednesday, December 4, 2013

PHP PDO why the error message given has the computer name, and domain

I have been trying to connect to mySQL server locally and there is an error give with Password:NO.

After searching for a while there is a simple explaination the username and password I have given does not have rights to the database I have specified, hence the error message.

The solution and explination can be found here: http://stackoverflow.com/questions/13002409/why-php-pdo-uses-a-different-from-hostname-to-the-one-used-by-mysql-connect-wh

Hope this helps. Happy coding.

Monday, December 2, 2013

500 Internal Server Error Message

At work I have seen one of our site going down/offline and looking at it on the IIS the website is on and looking at the log files, there was no error.

I think this website could be the answer on why it has been down: https://kb.mediatemple.net/questions/1903/Why+am+I+getting+a+500+Internal+Server+Error+message%3F

Which is understandable, since out database is located somewhere else.  It could have been timeout that causes our website to show 500 error.

Another thing that could help in determining is the Timeout detection as a sample on this website: http://bytes.com/topic/php/answers/620062-how-handle-php-execution-timeouts-gracefully

What I don't understand is why we cannot connect at times on Remote Desktop, though.

Tuesday, November 19, 2013

a good free DNS tools website

I forgot this website on trace routes and whois, typical stuff you do to check a domain and it's problems.
This is my favorite whois source website: http://www.dnsgoodies.com/

Somehow it is now near the top search result, previously it cannot be found anyway near.  DNSstuff ask for payment, but I only need the basic stuff why ask for payment?

There are others out there that will let you search and your them 3 times, then will require you to pay for their services.  To each his own, I guess, they could have just survived with ads and forget, about paid usage.

Very useful in checking the basic stuff for your website.

Wednesday, October 30, 2013

IIS Compression of content urlCompression

It has been a busy week for me on updating this blog.  Dealing with a 3rd party developer and letting me learn something new.  I don't know everything and I seldom pretend knowing something I don't.

What I have learned from dealing with a 3rd party developer is this option of IIS to compress the content and giving it to the client browser.  I sure wasn't aware of it.  According to this source: http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html

IIS 6 is the server I am currently using for a website done by a 3rd party developer.  So that article I linked above is a bit helpful in explaining it.  And another link on how to enable it: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d52ff289-94d3-4085-bc4e-24eb4f312e0e.mspx?mfr=true

Here is a link for the IIS 7 configuration: http://www.iis.net/configreference/system.webserver/urlcompression

urlCompression replaces the settings of the IIS in .Net.
Which I found out was already set to send compressed files to browsers.  And does not need to be set at all, it is only in IIS 6 and below where it is disabled, since some browsers then do not accept compressed files.

According to the first link, compression makes the plain text size by 75 percent.  Not bad, but still if you have a small bandwidth, that will still affect your server and clients that are accessing it constantly.

Saturday, October 26, 2013

what is the value represented in clientCache cachControlMaxAge

I have been given a code by a 3rd developer to update the website they created in .Net.

He just mentioned I place the code, inside the <system.webServer> configuration.

After looking at it I was a bit apprehensive in implementing this setting in the web.config file:
  <staticContent> 
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" /> 
  </staticContent>

I have an idea, it could represent 10 days, but wasn't sure, since this is the first time I saw this code.

After an extensive search, which was hard since there isn't much result on the usage and value syntax for this settings.  Also, the result always reflect as IIS, which makes me wonder when I see it if that is correct result.

It is confirmed it represents 10 days.  Ten days cache on the client's browser cache, which I don't know how the microsoft technology can do it on client side level.  But that was the explaination on this website: http://blog.janjonas.net/2011-08-21/microsoft-iis-7-enable-client-side-browser-caching-static-content-web-config

It says that the static contents such as image file, CSS and javascript files will not change based on the instruction given to the browser, on the page header.

The other source explained for this script can be found here: http://www.iis.net/configreference/system.webserver/staticcontent/clientcache

Which is also based on the first link, to a IIS.net resource, which confuses me, since I thought this was a .Net settings.



If conditional statement in a single line using Operators (?:)

I often forget how to do the simplified condition using the (?:) symbol.  And it is very hard to search on what you meant to search at times.  It's called the ternary operator logic (?:).

I found a source where it shows just how to do it in different levels of complexity:
http://davidwalsh.name/php-shorthand-if-else-ternary-operators

In case the site goes offline.  The Ternary Logic is the process of using the following syntax: "(condition) ? (true value return) : (false value return)".  This will shorten the if/else statement to a single line.

But often this technique confuses others not familiar with it.  But it is fun way to do it.  I still prefer the long way, but will use it to shorten the code at times.

based on the website source link, here is a sample:
$var = 6;
$var_result = ($var>3 ? true:false); // it will return true

Wednesday, October 2, 2013

GIT repository problem

We have a 3rd party developer try to give us the updates thru their repository...

Problem is the instruction isn't clear on how to do the update.  They expect everyone to know this.

The development manager just placed the command (git pull origin master).  I tried running the command in gitbash.  Without any instruction of specific folder to be in.  Did he expect me to know this, when I have no idea how GIT worked in the first place.  Thanks to the internet, now I know why I get the error:

Fatal: Not a git repository (or any parent directories): .git

He should have instructed me to change my directory to the one I cloned before.  Thanks to the internet I found the solution here: http://stackoverflow.com/questions/11961600/fatal-not-a-git-repository-or-any-of-the-parent-directories-from-git-status


You have to actually cd into the directory first:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

Wednesday, July 31, 2013

Email Validation on PHP

I have made email validation before, but have forgotten where I placed that code.  I had to look for the RegEx (Regular Expression) around the net, there are some that work at a certain point, but does not if you had something like .com.ph or .com.us or .com.au.

There is also a question about the why the hyphen in his code does not work:
http://stackoverflow.com/questions/7939147/preg-match-email-validation-adding-hyphen-to-domain-spot

There is also this one that works, well almost (upper case letters not allowed on this one):
http://www.developphp.com/view_lesson.php?v=224

Explanations on how to add a hyphen to the Regular Expression:
http://stackoverflow.com/questions/9589074/regex-should-hyphens-be-escaped
http://stackoverflow.com/questions/6744587/simple-regex-match-any-string-with-at-least-one-hyphen


So I tweak  the code a bit to have the perfect email validation code I have seen so far, and here it is:

$email = "test@test-tester.com.ph" //<-- Works

$Syntax='/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,3})$/';

if (preg_match($Syntax, $email)) {
     echo $email . \" is a valid email. We can accept it.\";
} else { 
     echo $email . \" is an invalid email. Please try again.\";

Let me know if there is an improvement for this code.

Also a bit of caveat on the preg_match() function:
preg_match() returns 1 if the pattern matches given subject, 0 if it does not, or FALSE if an error occurred

as mentioned in PHP documentation: 

Tuesday, July 16, 2013

MySQL WorkBench problem cannot create user

'Unhandled exception: Error creating account' error message when creating an account in mySQL Workbench.

I'm using workbench 5.2.31 CE.

This problem have popped up, when I'm trying to create a user in mySQL.  

There are two steps to work around this:
  1. edit the sql-mode configuration.  It can be found under Advance tab, Edit the text of sql-mode.  Remove the part "NO_AUTO_CREATE_USER," or cut it.  Then paste it back after you have created your user.
  2. Run the grant all previleges script as instructed below.

The solution is very simple.  You just have to run one of this statement in the Workbench Query window:

GRANT ALL PRIVILEGES ON *.* TO changetousername@localhost;
GRANT ALL PRIVILEGES ON *.* TO 'changetousername'@'%';

This will create an account without password.  So better set the password and change the previleges.

I don't know if this is the best work around or the worst.  But if you are desperate to add a user account.  This is the way that worked for me.

Here is part of the source of the solution:
http://stackoverflow.com/questions/15673640/unhandled-exception-error-creating-account

Tuesday, July 9, 2013

Cookie Setting troubles in PHP

I was trying to determine why the value for a cookie is not reflecting on my page.

Here are some of other developers say you should now in implementing cookies:

  1. It has to be on top before any code is generated by the page
  2. Cookie will not reflect on the same page when you set it.  It will reflect on the next loading of the page.
2nd one is true.  The first one also seems to be true, since no value is placed when I placed the code in the middle and after html codes have been rendered.

Here are the links to those recommendations:


There is a problem with the cookie when the mobile browser is never closed.  I had my browser open in the background.  Even when I set the cookie to expire in 30 mins.  It does not happened, since the browser still reads the value even beyond expire date.

Wednesday, June 19, 2013

Notepad++ free IDE for programming

I just started using this IDE called notepad++.  I have been hearing things about this app, and when I tried it, I had a bit of a hard time getting the hang of it.

The only thing I liked about it. Is the document preview on the right side, where I can see the whole code and drag the view to where I want to be.  There could be more features on this free IDE, I could just be scratching the surface.

As a free tool, I like this IDE already.  Only thing lacking, is the design window, but that could be asking for something else, when it is just an advance version of notepad.

Official website of Notepad++: http://notepad-plus-plus.org/

IIS 6, windows 2003 SMTP service not sending email

I have recently been trying to install SMTP service on our new server, but been having trouble sending email.

In my case, the solution and instructions are found on this link: http://www.symantec.com/business/support/index?page=content&id=TECH86263

I added the component, tried their IIS SMTP test, but somehow the email was only in the queue.  I already restarted when I installed the SMTP service.

I looked at my IPv4 settings, but I there seems to be something lacking done by our Network Admin.  He forgot to place the DNS for the server.

So I placed the DNS, tried the SMTP send, by placing a text file on the pickup folder, but it still goes to the queue folder under the default folder set-up: c:\Inetpub\mailroot\Queue

As indicated on this microsoft article: http://support.microsoft.com/?id=297700

After sending a few test, and still no positive results.  I decided to restart the server, as the server started, those email in the queue folder was sent and I received all of them.

This was the solution to my problem.  Hope this blog was any help to those who have the same problem.

Friday, May 31, 2013

IIS Redirection include querystring

I mentioned before that I tried redirecting a website source for users not able to see the real website, but a folder or a domain name that points to the real site.  Little, did I know I still need to set the redirection with a placement character of $S$Q.  Example: the URL is: http://www.Domainname.com$S$Q

Placing that placement character made a big difference in passing the query string and value.

Source of the solution: http://stackoverflow.com/questions/7147806/iis-redirect-preserve-querystring

Thursday, May 23, 2013