Save form data to text file

Here is a very simple script that will save any form data to a text file on the server.

This is very useful if there is a potential for email or database issues with any form submissions

 


/////////////////////////// WRITE TO FILE ///////////////////////////
<?php 
$sDate = date("mdy");
//open the file and choose the mode
$fh = fopen("/home/foldername/submissions/".$sDate.".txt", "a");
fwrite($fh, $sData);
//close the file
fclose($fh);
?>
/////////////////////////// END WRITE TO FILE ///////////////////////////

The code is very simple.  $sDate defines the date format.  I use this so the file name will be the current date.

The $fh variable gives the fopen command along with the file name and location and the fopen mode to use.  In this case we have used ‘a’.  ‘a’ Opens the file, if it doesnt exist, it will attempt to create it, then it will put the cursor at the end of the file.  This will allow for the newest entry to be at the bottom of the text file.  If you want to change this, you can look at the values here: http://php.net/manual/en/function.fopen.php

Fwrite will actually do the writing.    It takes the values of $fh and also the actual data, which I have defined as $sData.

Make sure to close the file write with fclose!

Browser Hacks

When testing predominantly in one main browser, many little issues can appear, especially in IE.

Having a list of CSS hacks that can be applied for specific browsers can he very helpful.

This CSS-Tricks website provides some hacks for various browsers here: http://css-tricks.com/snippets/css/browser-specific-hacks/
The Hacks are listed below, because I found a lot of times I paste in a link only to find out the URL has changed or no longer exists!

/***** Selector Hacks ******/

/* IE6 and below */
* html #uno  { color: red }

/* IE7 */
*:first-child+html #dos { color: red } 

/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }

/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }

/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }

/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  color: red }

/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { color: red  }
}

/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { color: red  }
}

/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { color: red  }

/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red  }

/* Everything but IE6-8 */
:root *> #quince { color: red  }

/* IE7 */
*+html #dieciocho {  color: red }

/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }

/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }

/***** Attribute Hacks ******/

/* IE6 */
#once { _color: blue }

/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }

/* Everything but IE6 */
#diecisiete { color/**/: blue }

/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }

/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }

/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */

Another way to do IE specific code is to put the code between tags like this within your HTML page

<html>
 <head>

 <link rel="stylesheet" type="text/css" href="styles.css" />

 <!--[if IE]>
 <link rel="stylesheet" type="text/css" href="ie.css" />
 <![endif]-->

 <!--[if IE 5]>
 <link rel="stylesheet" type="text/css" href="ie5.css" />
 <![endif]-->

 <!--[if lt IE 7]>
 <link rel="stylesheet" type="text/css" href="ie6.css" />
 <!--[if IE 7]>
 <link rel="stylesheet" type="text/css" href="ie7.css" />
 <![endif]-->

 <!--[if IE 8]>
 <link rel="stylesheet" type="text/css" href="ie8.css" />
 <![endif]-->

 <!--[if gte IE 9]>
 <link rel="stylesheet" type="text/css" href="ie9.css" />
 <![endif]-->

 </head>
 <body>
 </html>