0

I have a php script that gets responses for a form. Thing is, there are 20 different forms. For form 1, the POST gets the following values and stores them into variables.

$numberNa1=$_POST['numberNa1'];
$numbern1=$_POST['numbern1'];
$numberoi1=$_POST['numberoi1'];
$numbers1=$_POST['numbers1'];
$numberf1=$_POST['numberf1'];  

I have this code that gets the id numbers from a form (ajax). I wish to repeat the same code 19 other times, so basically loop that line of code, but replace the number in the variable with another number. So for example, I wish the next chunk of code to be $numberNa2=$_POST['numberNa2']; and so on. This file is to be pure PHP.

1
  • extract(). Commented Mar 16, 2016 at 6:46

5 Answers 5

1

Wrap them in {}: sing ${} is a way to create dynamic variables, simple example:

for($i=0;$i<19;$i++) {

${"numberNa" . $i} = $_POST['numberNa'.$i];
${"numbern" . $i} = $_POST['numbern'.$i];
${"numberoi" . $i} = $_POST['numberoi'.$i];
${"numbers" . $i} = $_POST['numbers'.$i];  
${"numberf" . $i} = $_POST['numberf'.$i];  

}
Sign up to request clarification or add additional context in comments.

Comments

0

Please try something like this:

$i = 1;
while(isset($_POST['numberNa'.$i]))
{
    $numberNa = $_POST['numberNa'.$i];
    $numbern = $_POST['numbern'.$i];
    $numberoi = $_POST['numberoi'.$i];
    $numbers = $_POST['numbers'.$i];
    $numberf = $_POST['numberf'.$i]; 

    // ... your code

    $i++;
}

1 Comment

With this, how can I write every variable into a text file? I use fwrite($myfile, $numbern1. "\r\n");/*Number*/ instead this 19 other times?
0
for($i=1;$i<19;$i++){
    $numberNa.$i = $_POST['numberNa'.$i];
    $numbern.$i = $_POST['numbern'.$i];
    $numberoi.$i = $_POST['numberoi'.$i];
    $numbers.$i = $_POST['numbers'.$i];
    $numberf.$i = $_POST['numberf'.$i]; 

}

1 Comment

With this, how can I write every variable into a text file? I use fwrite($myfile, $numbern1. "\r\n");/*Number*/ instead this 19 other times?
0

Try this :

for($i=1 ;isset($_POST['numberNa'.$i]);$i++)
{
    $numberNa = $_POST['numberNa'.$i];
    $numbern = $_POST['numbern'.$i];
    $numberoi = $_POST['numberoi'.$i];
    $numbers = $_POST['numbers'.$i];
    $numberf = $_POST['numberf'.$i]; 
}

1 Comment

With this, how can I write every variable into a text file? I use fwrite($myfile, $numbern1. "\r\n");/*Number*/ instead this 19 other times?
0
 <?php 
for($i=1; $i<=20; $i++)
{

    if(isset($_POST['numberNa'.$i]))
    {
        $numberNa.$i = $_POST['numberNa'.$i];
        fwrite($myfile, $numberNa.$i."\r\n");
    }
    if(isset($_POST['numbern'.$i]))
    {
        $numbern.$i = $_POST['numbern'.$i];
        fwrite($myfile, $numbern.$i."\r\n");
    }
    if(isset($_POST['numberoi'.$i]))
    {
        $numberoi.$i = $_POST['numberoi'.$i];
        fwrite($myfile, $numberoi.$i."\r\n");
    }
    if(isset($_POST['numbers'.$i]))
    {
        $numbers.$i = $_POST['numbers'.$i];
        fwrite($myfile, $numbers.$i."\r\n");
    }
    if(isset($_POST['numberf'.$i]))
    {
        $numberf.$i = $_POST['numberf'.$i];
        fwrite($myfile, $numberf.$i."\r\n");
    }
}
?>

2 Comments

With this, how can I write every variable into a text file? I use fwrite($myfile, $numbern1. "\r\n");/*Number*/ instead this 19 other times?
i've edited the code please check... and also use $myfile = fopen('myfile.txt',"w");

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.