Take the 2-minute tour ×

UPDATED: Examples added at end as requested:

Got a seemingly unique problem with concatenating form variables + the name of the button used to submit.

This works:

$word="number"; $number=1; myalbum=$word.$number;

echoing $myalbum gives "number1". No surprises there.

BUT if I POST the form to a php script with the intention of writing to file ONLY the data on row on which the button was pushed, I get problems.

So, let's say I've got 10 rows, and the button for row 5 is pushed. If I get the script to echo what button was pushed ($button), I get "5" back. If I get the script to echo what's in the box in row 5 (in this case, "$number5=5") then by echoing $number5 I get 5.

But if I concatenate $number.$button, I get nothing, when I expect "number5". And yet, if I concat any two parts of the submitted data, it works as expected.

I've been over the variables section at php.net, I've been over the w3 forms tutorials. I've googled. I've stackoverflowed. I've checked and triple checked my spelling.

I even started from scratch - again, it's almost as if appending the value of the button kills the concatenation process.


The output from the form: preset1=Name+of+preset+1&url1=http%3A%2F%2Fexample.com%2F1&preset2=Name+of+preset+2&url2=http%3A%2F%2Fexample.com%2F2&preset3=Name+of+preset+3&url3=http%3A%2F%2Fexample.com%2F3

The code for the form handler:

$myFile = "test.txt";
$stringData = "Preset: " . $preset .  " - Title:" . $title . $submitButton . " - Submit Button:" . $submitButton . "\n"; 
fwrite($fh, $stringData);

The output from the above: Preset: 3 - Title:3 - Submit Button:3

So, we know it knows what buttons has been pressed. But not the output I expected.

But if I change the line to $stringData = "Preset: " . $preset3 . " - Title:" . $title3 . " - Submit Button:" . $submitButton . "\n";

then I get, as expected: Preset: Name of preset 3 - Title:http://www.example.com/3 - Submit Button:3

But of course, this is no good. I understood that if $preset.$submitButton would be the same as $preset3 if submitButton was 3.

Oh, and I've also tried $thepreset='$title' . $submitbutton; and then using that - all I get is "Title:$title"

share|improve this question
Please show some example code. –  Pekka 웃 Aug 30 '10 at 10:07
You will probably need to show us what you are doing with the POST variables in order for someone to help you. –  Hammerite Aug 30 '10 at 10:50
Updated as requested –  talkingnews Aug 31 '10 at 6:40
add comment

1 Answer

This line:


returns "Title:$title" as expected - you have $title inside quotes, so it isn't recognized as a var.

share|improve this answer
add comment

Your Answer


