Server Side Validation Help!

EPark1016 10 Nov, 2009
Hi, I'm trying to use the PHP Server Side Validation to check my form, but I'm not 100% sure how to write it. I just want to check my fields to see if they're empty and I have one drop-down field that I want to make sure "Select a Radio Station" is not selected. How do I write this? Here's my form code:

<h2>Post Comments</h2>

<table width=550 border=0 cellpadding=5 cellspacing=5>
        
        <tr>
          <td colspan=2 align="right"><span style="color:red"><big>*</big></span>Name:  </td>
          <td width="491" colspan=2> 
              <input class="cf_inputbox required" name="name" type="text" id="name" size="50" maxlength="60">
              <a href="#" onmouseover="Tip('Please enter your Name')" onmouseout="UnTip()"><img src="images/tooltip.png" alt=""  border="0"></a></td>
        </tr>
        <tr>
        <tr>
          <td colspan=2 align="right"><span style="color:red"><big>*</big></span>Age:   </td>
          <td colspan=2> 
              <select name="age" id="age">
                <option value="">- Age -</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                <option value=13>13</option>
                <option value=14>14</option>
                <option value=15>15</option>
                <option value=16>16</option>
                <option value=17>17</option>
                <option value=18>18</option>
                <option value=19>19</option>
                <option value=20>20</option>
                <option value=21>21</option>
                <option value=22>22</option>
                <option value=23>23</option>
                <option value=24>24</option>
                <option value=25>25</option>
                <option value=26>26</option>
                <option value=27>27</option>
                <option value=28>28</option>
                <option value=29>29</option>
                <option value=30>30</option>
                <option value=31>31</option>
                <option value=32>32</option>
                <option value=33>33</option>
                <option value=34>34</option>
                <option value=35>35</option>
                <option value=36>36</option>
                <option value=37>37</option>
                <option value=38>38</option>
                <option value=39>39</option>
                <option value=40>40</option>
                <option value=41>41</option>
                <option value=42>42</option>
                <option value=43>43</option>
                <option value=44>44</option>
                <option value=45>45</option>
                <option value=46>46</option>
                <option value=47>47</option>
                <option value=48>48</option>
                <option value=49>49</option>
                <option value=50>50</option>
                <option value=51>51</option>
                <option value=52>52</option>
                <option value=53>53</option>
                <option value=54>54</option>
                <option value=55>55</option>
                <option value=56>56</option>
                <option value=57>57</option>
                <option value=58>58</option>
                <option value=59>59</option>
                <option value=60>60</option>
                <option value=61>61</option>
                <option value=62>62</option>
                <option value=63>63</option>
                <option value=64>64</option>
                <option value=65>65</option>
                <option value=66>66</option>
                <option value=67>67</option>
                <option value=68>68</option>
                <option value=69>69</option>
                <option value=70>70</option>
                <option value=71>71</option>

                <option value=72>72</option>
                <option value=73>73</option>
                <option value=74>74</option>
                <option value=75>75</option>
                <option value=76>76</option>
                <option value=77>77</option>
                <option value=78>78</option>
                <option value=79>79</option>
                <option value=80>80</option>
                <option value=81>81</option>
                <option value=82>82</option>
                <option value=83>83</option>
                <option value=84>84</option>
                <option value=85>85</option>
                <option value=86>86</option>
                <option value=87>87</option>
                <option value=88>88</option>
                <option value=89>89</option>
                <option value=90>90</option>
                <option value=91>91</option>
                <option value=92>92</option>
                <option value=93>93</option>
                <option value=94>94</option>
                <option value=95>95</option>
                <option value=96>96</option>
                <option value=97>97</option>
                <option value=98>98</option>
                <option value=99>99</option>
                <option value=100>100</option>
                <option value=101>101</option>
                <option value=102>102</option>
                <option value=103>103</option>
                <option value=104>104</option>
                <option value=105>105</option>
              </select>
              <a href="#" onmouseover="Tip('Please enter your Age')" onmouseout="UnTip()"><img src="images/tooltip.png" alt=""  border="0"></a></td>
        </tr>
        <tr>
          <td colspan=2 align="right"><span class="style7"><span style="color:red"><big>*</big></span>Email:   </span></td>
          <td colspan=2> 
              <input name="email" type="text" id="email" size="50" maxlength="60">
              <a href="#" onmouseover="Tip('Please enter a valid E-mail Address')" onmouseout="UnTip()"><img src="images/tooltip.png" alt=""  border="0"></a></td>
        </tr>
        <tr>
          <td colspan=2 align="right"><span class="style7"><span style="color:red"><big>*</big></span>Radio Station:   </span></td>
          <td colspan=2 valign="top"> 
    <select name="station_id" id="location">
<?php
$sql = "SELECT cf_id, radio_station FROM jos_chronoforms_radiostation ".
"ORDER BY radio_station";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs))
{
  echo "<option value=\"".$row['radio_station']."\">".$row['radio_station']."\n  ";
}
?>
    </select>
              <a href="#" onmouseover="Tip('Please select your Radio Station')" onmouseout="UnTip()"><img src="images/tooltip.png" alt=""  border="0"></a></td>
        </tr>
        
        <tr>
          <td width="113" align="right" valign="top"><span class="style7"><span style="color:red"><big>*</big></span>Comments:</span></td>
          <td colspan=4 align="center" valign="top"><div align="left">
            <label>
        <textarea name="reply" id="letter" cols="40" rows="10" onkeyup="removeAp(this)" onblur="removeAp(this)"></textarea>
</label>
          </div>
<div align="left">
<input type="hidden" name="published" value="0">
Fields marked with (<span style="color:red"><big>*</big></span>) are required.<br /><br />
                <input type="submit" name="Submit" value="Submit">
                <br>
                <br>
              </div>   </td>
  </tr>
    </table>
GreyHead 10 Nov, 2009
Hi EPark1016,

The general syntax to check for an empty field would be
<?php
$field = JRequest::getVar('field_name', '', 'post');
if ( !$field )  {
  return "field_name is empty";
}
?>

Bob
EPark1016 10 Nov, 2009
So if I wanted to check a drop down field value, I could just do it like this?

<?php
$field = JRequest::getVar('field_name', 'field_value', 'post');
if ( !$field )  {
  return "field_name is empty";
}
?>
GreyHead 10 Nov, 2009
Hi EPark1016,

The only problem is the second paramter where you have 'field_value' that parameter sets a default value for the field if there is not value returned from the form and I don't think that's what you intend. Generally you will leave that empty '' as I did.

Bob
EPark1016 10 Nov, 2009
right, but I mean, if I have a drop down and the 1st field is like "Select a Radio Station", how do I ensure that isn't filled in?

Thanks sooooooooooooooo much!!!
GreyHead 10 Nov, 2009
Hi EPark1016,

The code should check that - try it and see.

Bob
EPark1016 10 Nov, 2009
Bob, you are a lifesaver! Many Thanks!!!
EPark1016 09 Mar, 2010
Hi Bob, I'm using the below code, which works perfectly, if the field is blank. However; if I have data in a dropdown (for example, Select a Radio Station:, is my selected option) and I want to check and make sure that isn't selected (to force users to select a radio station) how would I modify this?

<?php
$field = JRequest::getVar('radiostation', '', 'post');
if ( !$field )  {
  return "You must select your local radio station";
}
?>


Thanks in advance!
GreyHead 09 Mar, 2010
Hi EPark1016,

To be safe with this you need to include a default option with no value <option value=''>--??--</option> Then the validation check will work OK.

Bob
EPark1016 09 Mar, 2010
Awesome as always! Thank you Bob!
This topic is locked and no more replies can be posted.