简体   繁体   中英

form variable + submit button not concatenating with php

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.

UPDATED:

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:

<?php
$myFile = "test.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "Preset: " . $preset .  " - Title:" . $title . $submitButton . " - Submit Button:" . $submitButton . "\n"; 
fwrite($fh, $stringData);
fclose($fh);
?>

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"

This line:

 "$thepreset='$title'"

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM