array values not being POSTed

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
smalone
Forum Newbie
Posts: 2
Joined: Mon Feb 20, 2006 2:24 pm

array values not being POSTed

Post 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]
User avatar
JayBird
Admin
Posts: 4524
Joined: Wed Aug 13, 2003 7:02 am
Location: York, UK
Contact:

Post by JayBird »

Shoudln't

Code: Select all

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

Code: Select all

$part[0] = $_REQUEST['part'][0];
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post 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];
smalone
Forum Newbie
Posts: 2
Joined: Mon Feb 20, 2006 2:24 pm

Post 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.
Post Reply