0

this is the form data with multiple input values with same name :

<form id="form1" name="form1" method="post" action="insert3.php">
    <table border=1>
         <tr><th><span>Outage Reasons ( Date )</span></th> <th> RNA - CP ( Radio Network Availability - Customer Perceived) </th> <th> RNA - PW ( Radio Network Availability - after removing Planned Work minutes) </th> </tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr>
        </tr>
        <tr><td></td>
            <div align="center">
            <td><input type="submit" name="Submit" id="Submit" value="Submit" />
            <input type="reset" name="Reset" id="button" value="Reset" />
            </td>
            </div>
        </tr>
    </table>
    </form>

This is the PHP script inserting into the csv file :

<?php

$outage=$_POST['outage'];
$rna_cp=$_POST['rna_cp'];
$rna_pw=$_POST['rna_pw'];

for($i=0;$i<count($_POST['outage']);$i++)
{
    $list = array (
    array("$_POST['outage']", "$_POST['rna_cp']", "$_POST['rna_cp']" )
  );

}

$fp = fopen('file.csv', 'a');

foreach ($list as $fields) {

    fputcsv($fp, $fields."\r\n");
}

fclose($fp);

?>

But the data is not inserting into the file the error is :

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Thanks.

John
  • 101
  • 1
  • 7
  • 17
  • First tree lines like `$outage=$_POST['outage'];` are useless – marek094 Sep 01 '14 at 09:45
  • possible duplicate of [Reference - What does this error mean in PHP?](http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) – BlitZ Sep 01 '14 at 10:38

2 Answers2

1

try this...

<?php

$list = array();

for($i=0;$i<count($_POST['outage']);$i++)
{
    $list[$i] = array($_POST['outage'][$i], $_POST['rna_cp'][$i], $_POST['rna_pw'][$i] );

}

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);

?>
Atanu Saha
  • 568
  • 4
  • 14
0

I've tried to debug initialization of $list in your code:

<?php

$list = array(); // <- declare array first
for($i=0; $i<count($_POST['outage']); $i++)
  $list[] = array($_POST['outage'][$i], $_POST['rna_cp'][$i], 
                  $_POST['rna_pw'][$i]); 
  // ^- push_back into array. 
  //  - $_POST['outage'] is array too, 
  //    so you should use [] operator. 
  //  - Use "" for strings only, not for normal variables.

EDIT: That works fo me:

/*
// test input
$_POST['outage'] = ['a0', 'b0', 'c0'];
$_POST['rna_cp'] = ['a1', 'b1', 'c1'];
$_POST['rna_pw'] = ['a2', 'b2', 'c2'];
*/
$fp = fopen('file.csv', 'a');
for($i=0; $i < count($_POST['outage']); ++$i) {
  $fields = array($_POST['outage'][$i], $_POST['rna_cp'][$i], 
                  $_POST['rna_pw'][$i]);
  fputcsv($fp, $fields);          
}
fclose($fp);
marek094
  • 424
  • 2
  • 11