Reputation: 117
I already found a question called "Check if at least 1 checkbox is ticked in PHP", but that did not meet my needs because I am an organized person and that didn't seem like an organized way of doing it. I have this checkbox code:
<h1>_________</h1>
<p>Which records would you like to see?<br />
Enter as little or as many criteria as you want and then press Submit.</p>
<form method = "get" action = "http://www.its-a-secret.com/validation.php">
<div>
<span>
<label for = "lastname" id = "txtlabel">Last Name</label>
<input type = "text" name = "lastname" />
</span>
<span>
<label for = "firstname" id = "txtlabel">First Name</label>
<input type = "text" name = "firstname" />
</span>
<span>
<label for = "company" id = "txtlabel">Company</label>
<?php
session_start();
mysql_connect("______","_______","________");
mysql_select_db("____");
$sql = "SELECT DISTINCT company FROM _____";
$result = mysql_query($sql);
print "<select name = 'company' id = 'company'> \n";
print " <option></option> \n";
while ($row = mysql_fetch_array($result)) {
print " <option value='" . $row['company'] . "'>" . $row['company'] . "</option> \n";
}
print " </select> \n";
?>
</span>
<span id = "spanaccttype">
<label for = "accttype" id = "txtlabel">Account type</label>
<?php
mysql_connect("_____","_____","_______");
mysql_select_db("_____");
$sql = "SELECT DISTINCT accttype FROM _____";
$result = mysql_query($sql);
print "<select name = 'accttype' id = 'accttype'> \n";
print " <option></option> \n";
while ($row = mysql_fetch_array($result)) {
print " <option value='" . $row['accttype'] . "'>" . $row['accttype'] . "</option> \n";
}
print " </select> \n";
?>
</span>
<span id = "spanproductname">
<label for = "productname" id = "txtlabel">Product Name</label>
<?php
mysql_connect("______","______","______");
mysql_select_db("_____");
$sql = "SELECT DISTINCT productname FROM ______";
$result = mysql_query($sql);
print "<select name = 'productname' id = 'productname'> \n";
print " <option></option> \n";
while ($row = mysql_fetch_array($result)) {
print " <option value='" . $row['productname'] . "'>" . $row['productname'] . "</option> \n";
}
print " </select> \n";
?>
</span>
<span id = "spansharetype">
<label for = "sharetype" id = "txtlabel">Share Type</label>
<?php
mysql_connect("_____","_____","______");
mysql_select_db("_____");
$sql = "SELECT DISTINCT sharetype FROM _____";
$result = mysql_query($sql);
print "<select name = 'sharetype' id = 'sharetype'> \n";
print " <option></option> \n";
while ($row = mysql_fetch_array($result)) {
print " <option value='" . $row['sharetype'] . "'>" . $row['sharetype'] . "</option> \n";
}
print " </select> \n";
?>
</span>
<span id = "spanclosed">
<label for = "closed" id = "txtlabel">Closed?</label>
<?php
mysql_connect("_________","______","__");
mysql_select_db("____");
$sql = "SELECT DISTINCT closed FROM _____";
$result = mysql_query($sql);
print "<select name = 'closed' id = 'closed'> \n";
print " <option></option> \n";
while ($row = mysql_fetch_array($result)) {
print " <option value='" . $row['closed'] . "'>" . $row['closed'] . "</option> \n";
}
print " </select> \n";
?>
</span>
<span id = "spanvaluegreaterthan">
<label for = "valuegreaterthan" id = "txtlabel">Value Greater Than $</label>
<input type = "number" name = "valuegreaterthan" />
</span>
<br />
<span id = "spanwhatcolumnstoshowquestion">What columns would you like to show? (Note if none are checked none of the below will be shown.)</span>
<table id = "showwhichcolumns">
<tr>
<td><input type = "checkbox" id = "showcolumncompany" name = "showcolumncompany" value = "showcolumncompany" title = "Show column company" /><label for = "showcolumncompany" id = "check">Company</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnaccountnumber" name = "showcolumnaccountnumber" value = "showcolumnaccountnumber" title = "Show column account number" /><label for = "showcolumnaccountnumber" id = "check">Account #</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncontractdate" name = "showcolumncontractdate" value = "showcolumncontractdate" title = "Show column contract date" /><label for = "showcolumncontractdate" id = "check">Contract Date</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnclosed" name = "showcolumnclosed" value = "showcolumnclosed" title = "Show column close" /><label for = "showcolumnclosed" id = "check">Closed?</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumndateclosed" name = "showcolumndateclosed" value = "showcolumndateclosed" /><label for = "showcolumndateclosed" id = "check">Date Closed</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumndob" name = "showcolumndob" value = "showcolumndob" /><label for = "showcolumndob" id = "check">DOB</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnproductname" name = "showcolumnproductname" value = "showcolumnproductname" /><label for = "showcolumnproductname" id = "check">Product Name</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpercent" name = "showcolumncommissionpercent" value = "showcolumncommissionpercent" /><label for = "showcolumncommissionpercent" id = "check">Commission %</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpayoutpercent" name = "showcolumncommissionpayoutpercent" value = "showcolumncommissionpayoutpercent" /><label for = "showcolumncommissionpayoutpercent" id = "check">Commission Payout (%)</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpayoutdollars" name = "showcolumncommissionpayoutdollars" value = "showcolumncommissionpayoutdollars" /><label for = "showcolumncommissionpayoutdollars" id = "check">Commission Payout ($)</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumntrailcomm" name = "showcolumntrailcomm" value = "showcolumntrailcomm" /><label for = "showcolumntrailcomm" id = "check">Trail Comm?</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnguaranteepercent" name = "showcolumnguaranteepercent" value = "showcolumnguaranteepercent" /><label for = "showcolumnguaranteepercent" id = "check">Guarantee %</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnaccounttype" name = "showcolumnaccounttype" value = "showcolumnaccounttype" title = "Show column account type" /><label for = "showcolumnaccounttype" id = "check">Account Type</label></td>
</table>
<p>
<input type = "submit" value = "Submit" id = "gobutton" />
</p>
The form submits to a page called validation.php and this is the code for that page (I hardly have anything yet):
<?php
$lastname = $_REQUEST["lastname"];
$firstname = $_REQUEST["firstname"];
$company = $_REQUEST["company"];
$accttype = $_REQUEST["accttype"];
$productname = $_REQUEST["productname"];
$sharetype = $_REQUEST["sharetype"];
$closed = $_REQUEST["closed"];
$valuegreaterthan = $_REQUEST["valuegreaterthan"];
header("Location: http://www.its-a-secret/?lastname=" . htmlspecialchars($lastname) . "&firstname=" . htmlspecialchars($firstname) . "&company=" . htmlspecialchars($company));
?>
I would like to delete the HTML special characters, instead of changing them, I would also want the First Name and Last Name to only have one capital letter by just telling the user, and if they don't I want the SQL to be able to validate with the First Name or Last Name being all capital or something crazy like that. I also want the First Name and Last Name to have all there space(s), if there are any. I want there to be at least one checkbox checked. I also want there to be a positive number that is a number in the number textbox.
Upvotes: 0
Views: 2748
Reputation: 786
I'm not sure what you are trying to do, but here is my guess code:
if(isset($_GET['showcolumnxx']) || isset($_GET['showcolumnxx']) || isset($_GET['showcolumnxx'] || etc.)) {
$newUrl = "http://something.site.end/otherpageshere/[screenAfterValidation].php";
header('Location: ' . $newUrl);
} else {
print "<p style = "color: red;">You must at least check one checkbox.</p>\n";
}
Upvotes: 1
Reputation: 3665
This may help. I am just echoing in the same page. You can change it according to your need.
<?php
if(!empty($_GET['check'])) {
foreach($_GET['check'] as $check) {
echo $check."<br />";
}
}
?>
<form method="GET" action="<?php echo $_SERVER['PHP_SELF'];?>">
<span id = "spanwhatcolumnstoshowquestion">What columns would you like to show? (Note if none are checked none of the below will be shown.)</span>
<table id = "showwhichcolumns">
<tr>
<td><input type = "checkbox" id = "showcolumncompany" name = "check[]" value = "showcolumncompany" title = "Show column company" /><label for = "showcolumncompany" id = "check">Company</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnaccountnumber" name = "check[]" value = "showcolumnaccountnumber" title = "Show column account number" /><label for = "showcolumnaccountnumber" id = "check">Account #</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncontractdate" name = "check[]" value = "showcolumncontractdate" title = "Show column contract date" /><label for = "showcolumncontractdate" id = "check">Contract Date</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnclosed" name = "check[]" value = "showcolumnclosed" title = "Show column close" /><label for = "showcolumnclosed" id = "check">Closed?</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumndateclosed" name = "check[]" value = "showcolumndateclosed" /><label for = "showcolumndateclosed" id = "check">Date Closed</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumndob" name = "check[]" value = "showcolumndob" /><label for = "showcolumndob" id = "check">DOB</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnproductname" name = "check[]" value = "showcolumnproductname" /><label for = "showcolumnproductname" id = "check">Product Name</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpercent" name = "check[]" value = "showcolumncommissionpercent" /><label for = "showcolumncommissionpercent" id = "check">Commission %</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpayoutpercent" name = "check[]" value = "showcolumncommissionpayoutpercent" /><label for = "showcolumncommissionpayoutpercent" id = "check">Commission Payout (%)</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumncommissionpayoutdollars" name = "check[]" value = "showcolumncommissionpayoutdollars" /><label for = "showcolumncommissionpayoutdollars" id = "check">Commission Payout ($)</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumntrailcomm" name = "check[]" value = "showcolumntrailcomm" /><label for = "showcolumntrailcomm" id = "check">Trail Comm?</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnguaranteepercent" name = "check[]" value = "showcolumnguaranteepercent" /><label for = "showcolumnguaranteepercent" id = "check">Guarantee %</label></td>
</tr>
<tr>
<td><input type = "checkbox" id = "showcolumnaccounttype" name = "check[]" value = "showcolumnaccounttype" title = "Show column account type" /><label for = "showcolumnaccounttype" id = "check">Account Type</label></td>
</table>
<p>
<input type = "submit" value = "Submit" id = "gobutton" />
</p>
</form>
Upvotes: 1