Hi and thanks, not sure if you wanted the whole page or just bits concerned. Heres the script as created by dreamweaver etc.:
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') {
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
and heres the bit for the submit
<input type="submit" name="submit" value="Submit" onClick="MM_validateForm('title','','R','problem','','R','author','','R','solution','','R');return document.MM_returnValue">
Again, the title although required will slip through if empty.
I had riginally got round this and the " " issue with the following:
if(isset($submit)):
$title = trim($title);
$title = nl2br($title);
$title = addslashes($title);
$problem = trim($problem);
$problem = nl2br($problem);
$problem = addslashes($problem);
$solution = trim($solution);
$solution = nl2br($solution);
$solution = addslashes($solution);
$author = trim($author);
$author = addslashes($author);
if (($title)=="") {die("<br><h2>You must provide a title!</h2>");}
if (($problem)=="") {die("<br><h2>You must provide a problem!</h2>");}
if (($solution)=="") {die("<br><h2>You must provide a solution!</h2>");}
if (($author)=="") {die("<br><h2>You must provide an author!</h2>");}
----mysql insert queries----
I've now changed the if statements to:
<SCRIPT>
<?php
if (($title)=="") {$message="Title";
echo ("alert (\"The following error occured\n Title required\");");}
if (($problem)=="") {$message="Problem";
echo ("alert (\"The following error occured\n Problem required\");");}
if (($solution)=="") {$message="Solution";
echo ("alert (\"The following error occured\n Solution required\");");}
if (($author)=="") {$message="Author";
echo ("alert (\"The following error occured\n\rAuthor required\");");}
// wrong!
?>
</SCRIPT>
Wich sort of works but is messy.
If theres anything you can suggest it would be appreciated.