Page 1 of 1

array values not being POSTed

Posted: Mon Feb 20, 2006 2:35 pm
by smalone
feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url][/color]


[b][color=blue]Hello  [/color][/b]

I am not able to find what is wrong in my code which will not bring POSTed values in an array to be INSERTed. Would really appreciate some help.
Here is a part of my code:

Code: Select all

<?
include("conf.php");
if (!$_POST['submit'])
{
?>
<html>
<head>
<basefont face="Arial">
</head>
<body topmargin="10">
<table bgcolor="#0000CC" align="center"><tr><td>
<table width="100%" bgcolor="#FFFFCC">
<form action="<? echo $PHP_SELF; ?>" method="POST" name="rec_addform">
<tr>
      <td colspan="4" valign="bottom" align="center"><font color="#6600CC" size="3" face="Arial, sans-serif"><strong><u>Add New</u></strong></font></td>
</tr>
<tr><td colspan="3"><hr color="#660099"></td></tr>
<tr>
  <td colspan="3" align='center'><strong><font size="2"><font face="Geneva, Arial, Helvetica, sans-serif">Name: </font></font></strong></td>
</tr>
<tr><td align="center" colspan="3"><input type='text' name='rname' size='40'></td>
</tr>
<tr>
  <td colspan="3" align='center'><strong><font size="2"><font face="Geneva, Arial, Helvetica, sans-serif">Brief Description: </font></font></strong>
<input type='text' name='desciption' size='100'></td>
</tr>
<tr><td colspan="3"><hr color="#660099"></td></tr>
<tr>
      <td><font color="#FF0000" size="-1" face="Verdana, Arial, Helvetica, sans-serif"><strong><u>Parts</u></strong></font></td>
</tr>
<tr>
	<td><b><font size="-1">&nbsp; #1: </font></b><input size="23" maxlength="75" type="text" name="part[]"></td>
	<td><b><font size="-1">&nbsp; #2: </font></b><input size="23" maxlength="75" type="text" name="part[]"></td>
	<td><b><font size="-1">&nbsp; #3: </font></b><input size="23" maxlength="75" type="text" name="part[]"></td>
</tr>
<tr><td colspan="4"><hr color="#333399"></td></tr>
<tr><td colspan="6">
<?php
   $sql = "select * from categories order by category";
   $result = mysql_query($sql);
   $numofrows = mysql_num_rows($result);
   $newrowcount = 0;
  printf("<table><tr>");
   if ($myrow = mysql_fetch_object($result)) {
	for($i = 0; $i < $numofrows; $i++) 
        { 
    	$myrow = mysql_fetch_object($result);
		if ($newrowcount == 6) {
            $newrowcount = 0;
            printf("</tr>");
            printf("<tr>");
        	 } ?>
    	 <td colspan><font size=-2 face='Arial, Helvetica, sans-serif'>
		 <input type='radio' value="<? echo $myrow->cat_id; ?>" name="cat_id"><? echo $myrow->category; ?></font></td>
		 <? 
      $newrowcount++;
        }
     }
   for ($c = $newrowcount; $c < 6; $c++) {
      printf("<td></td>");
   }
   printf("</tr></table>");
?>
</td></tr>
<tr>
<td><input type="submit" name="submit" value="Submit"></td><td>&nbsp;</td>
<td align="right"><input type="button" value="Cancel" onClick="javascript:location = 'r_list.php'"></td>
</tr>
</form>
</table>
</td></tr></table>
<?
}
else
{
$rname = $_REQUEST['rname'];
$part[0] = $_REQUEST['part[0]'];
$cat_id = $_REQUEST['cat_id'];
   $sql = "select * from categories where cat_id = $cat_id";
   $result = mysql_query($sql);
   $numofrows = mysql_num_rows($result);
   $myrow = mysql_fetch_object($result);
if ($numofrows > 0) {
$category = $myrow->category; }
  if (empty($rname)) {
      $error = true;
      $errormessage .= "<li><b>Sorry.  You did not enter a  title.</b><br>\n";
      }
  if (empty($part[0])) {
      $error = true;
      $errormessage .= "<li><b>Sorry.  You did not enter any parts.</b><br>\n";
      }
  if (empty($cat_id)) {
      $error = true;
      $errormessage .= "<li><b>Sorry.  You did not chose a category.</b><br>\n";
      }
  if ($error) {
      printf("<font color='red' face='Arial, Helvetica, sans-serif' size=2>There was a problem creating the recipe.  Please click on back in your browser to fix the problems listed below.<br><br>");
      printf("<font color='blue'>" . $errormessage); exit;
	  } else {
	  // Function NextId
	     $nextid = 1;
         $sql = "SELECT rec_id FROM rec order by rec_id desc";
         $result = @mysql_query($sql);
         if ($myrow = @mysql_fetch_array($result)) {
             $nextid = $myrow['rec_id'];
          }
		  echo 'Next ID: ' . $nextid;
      $nextid = ($nextid + 1);
      $rec_id = $nextid;
      $rdate = date("Y-m-d");;
exit;
      $newprocedure = ereg_replace("\n", "<BR>\n", $procedure);
      $sql = "INSERT INTO ...........";
      $result = mysql_query($sql);
	}
	 ?>
<script language = "javascript">
<!--
location = "r_list.php"
-->
</script>
<?php } ?>
</body>
</html>
Thank you.


feyd | Please use

Code: Select all

and

Code: Select all

tags where appropriate when posting code. Read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url][/color]

Posted: Mon Feb 20, 2006 2:41 pm
by JayBird
Shoudln't

Code: Select all

$part[0] = $_REQUEST['part[0]'];
be

Code: Select all

$part[0] = $_REQUEST['part'][0];

Posted: Mon Feb 20, 2006 2:48 pm
by feyd
aside from

Code: Select all

$part[0] = $_REQUEST['part[0]'];
not existing, and security holes, nothing jumps out.

Code: Select all

$part = $_REQUEST['part'];
// or
$part = $_REQUEST['part'][0];

Posted: Tue Feb 21, 2006 9:32 am
by smalone
Hello Pimptastic and feyd:

Thanks for your suggestions. It worked like a charm. I did not know that arrays have to be REQUESTed that way.