"Steve Staples" <sstaples@xxxxxxxx> wrote in message news:1298490417.14826.2418.camel@xxxxxxxxxxx > On Wed, 2011-02-23 at 14:17 -0500, Gary wrote: >> "Jim Lucas" <lists@xxxxxxxxx> wrote in message >> news:4D653673.7040604@xxxxxxxxxxxx >> > On 2/23/2011 4:35 AM, Gary wrote: >> >> "Pete Ford" <pete@xxxxxxxxxxxxx> wrote in message >> >> news:62.C1.32612.D49D46D4@xxxxxxxxxxxxxxx >> >>> This bit? >> >>> >> >>> On 22/02/11 22:06, Gary wrote: >> >>>> for($i=1; $i<=$_POST['counties']; $i++) { >> >>>> if ( isset($_POST["county{$i}"] ) ) { >> >>> >> >>> You loop over $_POST['counties'] and look for $_POST["county$i"] >> >>> >> >>> I suspect that there is no field 'counties' in your form, so the >> >>> server >> >>> is >> >>> complaining about the missing index - seems likely that the >> >>> production >> >>> server >> >>> is not showing the error, but instead just giving up on the page. >> >>> >> >>> I think the IE7/Firefox browser difference is a red herring: it >> >>> wasn't >> >>> actually working in any browser, or the code changed between tests. >> >>> Remember, PHP is server side and generates HTML (or whatever). Unless >> >>> you >> >>> tell the PHP what browser you are using and write PHP code to take >> >>> account >> >>> of that (not generally recommended) then the server output is the >> >>> same >> >>> regardless of browser. >> >>> >> >>> -- >> >>> Peter Ford, Developer phone: 01580 893333 fax: 01580 >> >>> 893399 >> >>> Justcroft International Ltd. >> >>> www.justcroft.com >> >>> Justcroft House, High Street, Staplehurst, Kent TN12 0AH United >> >>> Kingdom >> >>> Registered in England and Wales: 2297906 >> >>> Registered office: Stag Gates House, 63/64 The Avenue, Southampton >> >>> SO17 >> >>> 1XS >> >> >> >> >> >> Pete >> >> >> >> Once again, thank you for your help. >> >> >> >> I was able to get it to work, I did not understand the browser >> >> differences >> >> either, but on my testing server on IE, it worked as I wanted but not >> >> on >> >> anything else. I chopped out most of the code and ended up with this: >> >> >> >> if ( isset($_POST['submit']) ) {} else { >> >> print "<form action=\"phpForm3.php\" method=\"POST\">\n"; >> >> if ($Recordset1) { >> >> print "<table width=200 border=1>\n"; >> >> print "<th> </th>\n"; >> >> print "<th> State </th>\n"; //2 fields in Counties table, State and >> >> County >> >> print "<th> County </th>\n"; >> >> print "</tr>\n"; >> >> //create table >> >> $i = 0; >> >> while ( $row = mysql_fetch_array($Recordset1) ) { >> >> $i++; >> >> print "<tr>\n"; >> >> print "<td><input type=\"checkbox\" name=\"county$i\" >> >> value=\"$row[name]\"></td>\n"; >> >> echo "<td>{$row['state_id']}</td>\n"; >> >> echo "<td>{$row['name']}</td>\n"; >> >> echo "</tr>\n"; >> >> }//end while >> >> print "</table>\n"; >> >> } else { >> >> echo("<P>Error performing query: " . >> >> mysql_error() . "</P>"); >> >> } >> >> print "<input type=\"hidden\" name=\"counties\" value=\"$i\"/>\n"; >> >> print "<input type=\"submit\" name=\"submit\" value=\"Go\"/>\n"; >> >> } >> >> ?> >> >> >> >> Again, thank you. >> >> >> >> Gary >> >> >> >> __________ Information from ESET Smart Security, version of virus >> >> signature database 5899 (20110223) __________ >> >> >> >> The message was checked by ESET Smart Security. >> >> >> >> http://www.eset.com >> >> >> > >> > If you would allow me to show you a little easier way of doing this. >> > >> > if ( !isset($_POST['submit']) ) { >> > echo '<form action="phpForm3.php" method="POST">'; >> > if ($Recordset1) { >> > echo <<<HEADER >> > <table width=200 border=1> >> > <tr><th> </th><th> State </th><th> County </th></tr> >> > HEADER; >> > while ( $row = mysql_fetch_array($Recordset1) ) { >> > echo <<<ROW >> > <tr> >> > <td><input type="checkbox" name="county[]" >> > value="{$row['name']}"></td> >> > <td>{$row['state_id']}</td> >> > <td>{$row['name']}</td> >> > </tr> >> > ROW; >> > }//end while >> > echo '</table>'; >> > } else { >> > echo '<p>Error performing query: '.mysql_error().'</p>'; >> > } >> > echo '<input type="submit" name="submit" value="Go" />'; >> > } >> > >> > Now, the main thing I want you to see is the line for the country >> > checkbox'es >> > >> > The county[] turns the submitted values into an array. So, in the >> > processing >> > script, you would do this. >> > >> > <?php >> > >> > ... >> > >> > if ( !empty($_POST['county']) >> > foreach ( $_POST['county'] AS $id => $name ) >> > echo "{$id} {$name}\n"; >> > >> > ... >> > ?> >> > >> > Hope this clears things up for you a little. >> > >> > Enjoy. >> > >> > Jim >> >> In a weird twist, I have/had the script working, but again it is not >> working in FF or Chrome. This is a link to the first page which runs you >> through the pages. >> >> I have the submit to trigger upon change so there is no submit button. >> This >> works in IE7. If I add a submit button, it does not work in any of them. >> >> I am wondering if this is more a problem with the html. >> >> >> http://www.assessmentappeallawyer.com/forum_state.php >> >> This is the code for the first processing page >> >> if ( !isset($_POST['submit']) ) { >> echo '<form action="forum_delete.php" method="POST">'; >> if ($Recordset1) { >> echo <<<HEADER >> <table width=200 border=0> >> <tr><th> </th><th> State </th><th> County </th></tr> >> HEADER; >> while ( $row = mysql_fetch_array($Recordset1) ) { >> echo <<<ROW >> <tr> >> <td><input type="checkbox" name="county[]" >> value="{$row['name']}"></td> >> <td>{$row['state_id']}</td> >> <td>{$row['name']}</td> >> </tr> >> ROW; >> }//end while >> echo '</table>'; >> } else { >> echo '<p>Error performing query: '.mysql_error().'</p>'; >> } >> echo '<input type="submit" name="submit" value="Select" />'; >> } >> >> ?> >> >> ****This is the code for the second processing page. >> >> >> <?php >> >> >> if ( !empty($_POST['county'])) >> foreach ( $_POST['county'] AS $id => $name ) >> echo 'You have selected '. " {$name}".'<br />'; >> >> >> >> $totalRows_county_result_net= "($totalRows_county_result) + (1)"; >> echo "[$totalRows_county_result_net]"; >> echo "$totalRows_county_result"; >> ?> >> </div> >> <!--eo center--> >> >> >> <?php >> $name=$_POST['name']; >> echo 'You have selected'."$name"; >> >> ?> >> <?php >> mysql_free_result($county_result); >> ?> >> >> Again, thank you for any input. >> >> Gary > > I think it may have to do with HTML, or the fact that IE is "helping" > you with your coding... where FF and Chrome are usually more > "literal" (yet better IMO). Also, the fact that "submit" has not been > defined. > > try adding: > <input type="submit" name="submit" value="submit" style="display: > none;" /> > > This *SHOULD* give you the submit button, but the style is "hidden" now, > so it shouldn't show, but it will fire off the "submit" action... make > sure it is in between the <form></form> tags though. > > Steve > Steve Thank you for your reply, I had inserted a submit button prior, but it did not work. I tried your suggestions and got the same result. I am not seeing anything in the html that should be causing the hick-up, but given the php is run on the server as Peter pointed out, browser issues with php I have not really encountered before. I can live with a submit button, but living with one that does not work... Thank you for your input, if you see anything else that seems amiss, please let me know. Gary __________ Information from ESET Smart Security, version of virus signature database 5900 (20110223) __________ The message was checked by ESET Smart Security. http://www.eset.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php