Page 1 of 1

sending and receiving PHP arrays using HTML form

Posted: Sun Feb 13, 2011 5:15 pm
by Firehawk777
Hi there
I am trying to send an array of items to delete from a form, receive them back to the page then enter them into another form and then send them back to the page. Basically its a delete then confirm delete thing.
So I can send the array from the first form though I am not sure how to place them into the second (confirm delete) form.
What I've got so far considering the array does get sent in the first place is
First I receive the array:

Code: Select all

if (isset($_POST['delete']))
{
	if (isset($_POST['todelete'])){
	$todelete[] = ($_POST['todelete']);////here is my problem I think
echo <<<_END
	<div>Are you sure you wish to make these changes</div>
	<div><form action="" method="post">
	<input type='hidden' name='todelete'value="$todelete"/>
	<input type='hidden' name='confirm'value="confirm"/>
	<input id='inputform' type='submit' size='50' value='Yes' />
	</form>
	<form action="" method="post">
	<input type='hidden' name='rollback'value='rollback' />
	<input id='inputform' type='submit' size='50' value='No' />
	</form></div>
_END;

	}
}
Then I try and receive the array back with

Code: Select all

if (isset($_POST['confirm'])){
		foreach ($_POST['todelete'] as $delete_id) {
			$query ="DELETE FROM gallery WHERE id = $delete_id";
			$result=mysql_query($query) or die("Invalid Query : ".mysql_error()); 
		echo "Removing Data";
		}

	}
What I receive is a warning:
'Warning: Invalid argument supplied for foreach() in C:\wamp\www\css\enterphotos.php on line 91"
I am sure that there is a simple solution! Can anyone help me here?

Re: sending and receiving PHP arrays using HTML form

Posted: Sun Feb 13, 2011 5:58 pm
by Firehawk777
Oh well got this working anyway. Here is the code I used

Code: Select all

if (isset($_POST['delete']))
{
	if (isset($_POST['todelete'])){
	$todelete = ($_POST['todelete']);
$value = '';
echo <<<_END
	<div>Are you sure you wish to make these changes</div>
	<div><form action="" method="post">
_END;
		foreach($todelete as $value){

    	echo '<input type="hidden" name="delThis[]" value="'.$value.'" /> ';
		}
echo <<<_END
	<input type='hidden' name='confirm'value="confirm"/>
	<input id='inputform' type='submit' size='50' value='Yes' />
	</form>
	<form action="" method="post">
	<input type='hidden' name='rollback'value='rollback' />
	<input id='inputform' type='submit' size='50' value='No' />
	</form></div>
_END;

	}
}