I am writing a script that will take some form data and present it in a PDF or some other printable format. At the bottom of the form is a "New Line" button. When you click this button a new line in the form appears, and the data in the previous line is added to an array named according to its label tag. My problem is that when the form is submitted the only data that ends up in the $desc[] array is what ever was entered in the last row. can someone please look over my code and see what I may have done wrong?

if (isset($_POST['new_line']) || isset($_POST['submit'])) {
		// Grab POST data
		$invoice_quote = trim($_POST['invoice_quote']);
		$sales_person = trim($_POST['sales_person']);
		$job = trim($_POST['job']);
		$due_date = trim($_POST['due_date']);
		$first_name = trim($_POST['first_name']);
		$last_name = trim($_POST['last_name']);
		$address = trim($_POST['address']);
		$city = trim($_POST['city']);
		$state = trim($_POST['state']);
		$zip = trim($_POST['zip']);
		$phone = trim($_POST['phone']);
		$email = trim($_POST['email']);
		$qty = array_filter(array_map('trim', $_POST['qty']));
		$desc = array_filter(array_map('trim', $_POST['desc']));
		$unit_price = array_filter(array_map('trim', $_POST['unit_price']));
		$line_total = array_filter(array_map('trim', $_POST['line_total']));
		$line = trim($_POST['line']);
		if (isset($_POST['submit'])) {
			$flag = 'FALSE';
			// This is only for test proposes, This is untimately where the 
			// code will go that will generate the PDF
			echo ('<div class= "info">'.$invoice_quote.' '.$sales_person.' '.$job.' '.$due_date.' '.$first_name.' '.$last_name.' '.$address.' '.$city.' '.$state.' '.$zip.' '.$phone.' '.$email.'<br />');
			echo '<br />';
			echo '<br />';
			echo '<br />';

    <form id="invoiceform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <fieldset class= "description">
    							<label for= "qty" class= "qty">Qty</label>
    							<label for= "desc" class= "desc">Description</label>
    							<label for= "unit_price" class= "unit_price">Unit Price</label>
    							<label for= "line_total" class= "line_total">Line Total</label>
    						if ($flag == 'TRUE') {
    							$n = 0;
    							do {
    								<input type= "text" class= "qtyinfo" name= "qty[]" maxlength "10" value= "<?php if (isset($qty[$n])) echo ($qty[$n]); ?>"/>
    								<textarea class= "descinfo" name= "desc[]" id="<?php echo('desc_'.$n); ?>" value= "<?php if (isset($desc[$n])) echo ($desc[$n]); ?>"></textarea>
    								<input type= "text" class= "unit_priceinfo" name= "unit_price[]" id="<?php echo('unit_price_'.$n); ?>" maxlength= "10" value= "<?php if (isset($unit_price[$n])) echo ($unit_price[$n]); ?>" />
    								<input type= "text" class= "line_totalinfo" name= "line_total[]" id= "<?php echo('line_total_'.$n); ?>" maxlength= "10" value= "<?php if (isset($line_total[$n])) echo ($line_total[$n]); ?>" />
    							while ($n < $line);

					<input type= "hidden" id= "line" name= "line" value= "<?php echo $line + 1; ?>"/>
					<input type= "submit" id= "new_line" name= "new_line" value= "New Line" />
				</fieldset><br />
I can provide complete code on request.