/    Sign up×
Community /Pin to ProfileBookmark

Hi there,

Im trying to validate my form so that IF no data is entered, OR the data that is already in the form (I.E First Name, Town) the label for the field turns red and at the top of the page it tells the user that there are errors on the page.

[code=php]
<?php require(“Template_Top.php”); ?>

<script>
function clearDefault(field,DefaultStr) {
if (field.value==DefaultStr) {
field.value=””;
}
}
function restDefault(field,DefaultStr) {
if (field.value==””) {
field.value=DefaultStr;
}
}
</script>

<?php
function MakeRef($pName, $pValue) {
return “name=’$pName’ value=’$pValue’ onfocus=’clearDefault(this,”$pValue”)’ onblur=’restDefault(this,”$pValue”)'”;
}
echo “<form name=’EditExplorerDetails’ method=’POST’ action=’ManageExplorerNewSubmit.php’>”;
echo “<table>”;
echo “<tr><td width=’160′>”;
echo “<b>Forename:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“F_Name”, “First Name”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Surname:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“S_Name”, “Second Name”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Address:</b></td><td width=’700′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Address”, “Address”) . ‘>’;
echo ” , “;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Town”, “Town”) . ‘>’;
echo ” , “;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Postcode”, “Postcode”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Mobile Number:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Mobile_No”, “Mobile Number”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Home_No:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Home_No”, “Home Number”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Email:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Email”, “Email Address”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>DoB:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“DoB”, “YYYY-MM-DD”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Base:</b></td><td width=’400′>”;
echo ‘<select name=”Base” style=”width:176px”>’;
echo ‘<option value=”Monday” selected=”selected”>Monday Base</option>’;
echo ‘<option value=”Friday”>Friday Base</option>’;
echo ‘</select>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Former Group:</b></td><td width=’400′>”;
echo ‘<select name=”Former_Group” style=”width:176px”>’;
echo ‘<option value=”1st Hurst(Air Scouts)”>1st Hurst (Air Scouts)</option>’;
echo ‘<option value=”1st Sonning on Thames Scouts”>1st Sonning on Thames Scout Group</option>’;
echo ‘<option value=”1st Twyford Scouts”>1st Twyford Scouts</option>’;
echo ‘<option value=”1st Wargrave Scouts”>1st Wargrave Scouts</option>’;
echo ‘<option value=”1st Woodley Scouts”>1st Woodley Scouts</option>’;
echo ‘<option value=”2nd Woodley Scouts (St John Bosco)”>2nd Woodley Scout (St John Bosco) Scouts</option>’;
echo ‘<option value=”5th Woodley Scouts”>5th Woodley Scouts</option>’;
echo ‘</select>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>1st Parents Name:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent1_Name”, “1st Parents Name”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>1st Parents Email:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent1_Email”, “1st Parents Email Address”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>1st Parents 1st Phone:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent1_Phone1”, “1st Parents 1st Phone No”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>1st Parents 2nd Phone:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent1_Phone2”, “1st Parents 2nd Phone No”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>2nd Parents Name:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent2_Name”, “2nd Parents Name”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>2nd Parents Email:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent2_Email”, “2nd Parents Email Address”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>2nd Parents 1st Phone:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent2_Phone1”, “2nd Parents 1st Phone No”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>2nd Parents 2nd Phone:</b></td><td width=’400′>”;
echo ‘<input type=”text” size=”25″ ‘ . MakeRef(“Parent2_Phone2”, “2nd Parents 2nd Phone No”) . ‘>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Young Leader:</b></td><td width=’400′>”;
echo ‘<select name=”YoungLeader” style=”width:176px”>’;
echo ‘<option value=”Yes”>Yes</option>’;
echo ‘<option value=”No” selected=”selected”>No</option>’;
echo ‘</select>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Health Notes:</b></td><td width=’400′>”;
echo ‘<textarea cols=”19″ rows=”3″ name=”Health_Notes” value=”Health Notes”></textarea>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Notes:</b></td><td width=’400′>”;
echo ‘<textarea cols=”19″ rows=”3″ name=”Notes” value=”General Notes”></textarea>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Home Issues:</b></td><td width=’400′>”;
echo ‘<textarea cols=”19″ rows=”3″ name=”HomeIssues” value=”Home Issues”></textarea>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “<b>Admin?:</b></td><td width=’400′>”;
echo ‘<select name=”Admin” style=”width:176px”>’;
echo ‘<option value=”Yes”>Yes</option>’;
echo ‘<option value=”No” selected=”selected”>No</option>’;
echo ‘</select>’;
echo “</td></tr>”;
echo “<tr><td width=’160′>”;
echo “</td><td width=’400′>”;
echo ‘<input type=”submit” name=”login” value=”Submit” />’;
echo “</td></tr>”;
echo “</table>”;
echo “</form>”;
?>

<?php require(“Template_Bottom.php”); ?>

[/code]

to post a comment
PHP

6 Comments(s)

Copy linkTweet thisAlerts:
@scottyrobauthorFeb 07.2007 — Anyone be able to help me out?
Copy linkTweet thisAlerts:
@MrCoderFeb 07.2007 — How can you work on the above code with all them echo's?

Break out of PHP or only use 1 multiline echo, not every line.

Sure it works, but its unreadable and slow code.
Copy linkTweet thisAlerts:
@NightShift58Feb 07.2007 — I only did the first two fields as examples. You're young and bright and your fingers are surely nimbler than mine... You can code in the rest as needed...[code=php]<script>
function clearDefault(field,DefaultStr) {
if (field.value==DefaultStr) {
field.value="";
}
}
function restDefault(field,DefaultStr) {
if (field.value=="") {
field.value=DefaultStr;
}
}
function form_validate(thisform) {
var retCode = true;
with (thisform) {
if (F_Name.value == "" || F_Name.value == "First Name") {
id_F_Name.innerHTML = "<font color='red'>Forename:</font>";
retCode = false;
} else {
id_F_Name.innerHTML = "Forename:";
}
if (S_Name.value == "" || S_Name.value == "Second Name") {
id_S_Name.innerHTML = "<font color='red'>Surname:</font>";
retCode = false;
} else {
id_S_Name.innerHTML = "Surname:";
}
}
return retCode;
}
</script>

<?php
function MakeRef($pName, $pValue) {
return "name='$pName' value='$pValue' onfocus='clearDefault(this,"$pValue")' onblur='restDefault(this,"$pValue")'";
}
function MakeLabel($pName, $pValue) {
return "<b><div id='id_$pName'>$pValue:</div></b>";
}
echo "<form name='EditExplorerDetails' method='POST' action='ManageExplorerNewSubmit.php' onsubmit='return form_validate(this)'>";
echo "<table>";
echo "<tr><td width='160'>" . MakeLabel("F_Name", "Forename") . "</td><td width='400'>";
echo '<input type="text" size="25" ' . MakeRef("F_Name", "First Name") . '>';
echo "</td></tr>";
echo "<tr><td width='160'>" . MakeLabel("S_Name", "Surname") . "</td><td width='400'>";
echo '<input type="text" size="25" ' . MakeRef("S_Name", "Second Name") . '>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Address:</b></td><td width='700'>";
echo '<input type="text" size="25" name="Address" value="House No & Road Name">';
echo " , ";
echo '<input type="text" size="25" name="Town" value="Town">';
echo " , ";
echo '<input type="text" size="25" name="Postcode" value="Postcode">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Mobile Number:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Mobile_No" value="Mobile Number">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Home_No:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Home_No" value="Home Number">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Email:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Email" value="Email Address">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>DoB:</b></td><td width='400'>";
echo '<input type="text" size="25" name="DoB" value="YYYY-MM-DD">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Base:</b></td><td width='400'>";
echo '<select name="Base" style="width:176px">';
echo '<option value="Monday" selected="selected">Monday Base</option>';
echo '<option value="Friday">Friday Base</option>';
echo '</select>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Former Group:</b></td><td width='400'>";
echo '<select name="Former_Group" style="width:176px">';
echo '<option value="1st Hurst(Air Scouts)">1st Hurst (Air Scouts)</option>';
echo '<option value="1st Sonning on Thames Scouts">1st Sonning on Thames Scout Group</option>';
echo '<option value="1st Twyford Scouts">1st Twyford Scouts</option>';
echo '<option value="1st Wargrave Scouts">1st Wargrave Scouts</option>';
echo '<option value="1st Woodley Scouts">1st Woodley Scouts</option>';
echo '<option value="2nd Woodley Scouts (St John Bosco)">2nd Woodley Scout (St John Bosco) Scouts</option>';
echo '<option value="5th Woodley Scouts">5th Woodley Scouts</option>';
echo '</select>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>1st Parents Name:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent1_Name" value="1st Parents Name">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>1st Parents Email:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent1_Email" value="1st Parents Email">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>1st Parents 1st Phone:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent1_Phone1" value="1st Parents 1st Phone No">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>1st Parents 2nd Phone:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent1_Phone2" value="1st Parents 2nd Phone No">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>2nd Parents Name:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent2_Name" value="2nd Parents Name">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>2nd Parents Email:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent2_Email" value="2nd Parents Email">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>2nd Parents 1st Phone:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent2_Phone1" value="2nd Parents 1st Phone No">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>2nd Parents 2nd Phone:</b></td><td width='400'>";
echo '<input type="text" size="25" name="Parent2_Phone2" value="2nd Parents 2nd Phone No">';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Young Leader:</b></td><td width='400'>";
echo '<select name="YoungLeader" style="width:176px">';
echo '<option value="Yes">Yes</option>';
echo '<option value="No" selected="selected">No</option>';
echo '</select>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Health Notes:</b></td><td width='400'>";
echo '<textarea cols="19" rows="3" name="Health_Notes" value="Health Notes"></textarea>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Notes:</b></td><td width='400'>";
echo '<textarea cols="19" rows="3" name="Notes" value="General Notes"></textarea>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Home Issues:</b></td><td width='400'>";
echo '<textarea cols="19" rows="3" name="HomeIssues" value="Home Issues"></textarea>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "<b>Admin?:</b></td><td width='400'>";
echo '<select name="Admin" style="width:176px">';
echo '<option value="Yes">Yes</option>';
echo '<option value="No" selected="selected">No</option>';
echo '</select>';
echo "</td></tr>";
echo "<tr><td width='160'>";
echo "</td><td width='400'>";
echo '<input type="submit" name="login" value="Submit" />';
echo "</td></tr>";
echo "</table>";
echo "</form>";
?>[/code]
Copy linkTweet thisAlerts:
@NightShift58Feb 07.2007 — How can you work on the above code with all them echo's?

Break out of PHP or only use 1 multiline echo, not every line.

Sure it works, but its unreadable and slow code.[/QUOTE]
Unreadable is in the yes of the beholder...

What is unreadable is breaking in and out of PHP with HTML interparsed with a series of <?php echo $this_an_that; ?>. That is no longer code, it is punishment for the eyes... And on this forum, one of the major causes of errors...

And speed... yes... Speed is of essence in a 30-line form... Come on... Live and let live.

Your truly,

Your favorite ENDIF; ?
Copy linkTweet thisAlerts:
@MrCoderFeb 07.2007 — Unreadable is in the yes of the beholder...

What is unreadable is breaking in and out of PHP with HTML interparsed with a series of <?php echo $this_an_that; ?>. That is no longer code, it is punishment for the eyes... And on this forum, one of the major causes of errors...

And speed... yes... Speed is of essence in a 30-line form... Come on... Live and let live.

Your truly,

Your favorite ENDIF; ?[/QUOTE]


Let us agree to disagree then mate ?
Copy linkTweet thisAlerts:
@NightShift58Feb 07.2007 — I agree...
×

Success!

Help @scottyrob spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...