I think you're missunderstanding the fundamental building blocks of a web application. A script runs on the server and its output is sent to the browser. Roughly at the same time the script ends, the browser receives the last data, and the page is fully loaded in the browser (disregarding possibly heavy side requests due to html markup, for example for images).
Now the script is no longer running. Nothing is kept alive on the server. It doesn't know about the form in the browser. It doesn't know about user input.
However, the form may be submitted, to the same script that created it, or to another script. It may be on the same server, but then again it may not be. This is indicated by the action attribute of the form.
Let's say it is handled by the same script that created it. Then you would start that script (or somewhere before echoing the form at least)
// Assuming the method attribute of the form is set to "post", otherwise you'd need to check $_GET
// Was the submit button clicked? Or more generally, was the a form input/select/textarea element whos name is "Submit"
if (isset($_POST['Submit'])) {
# Here's your input. It could never be returned by showqblock. But the user may choose
# to send a post request and here it is...
}
// If you only want to show the form before the user posts data. Otherwise, remove else {, as well as }
else {
echo '<form....>';
}