Puedes usar los metodos "GET" y "POST"
Con GET seria:
Pagina.php
<?php
$variable = $_GET['nombre'];
$ref = $HTTP_REFERER;
echo '
<form method="get" action="';
echo $_SERVER['PHP_SELF'];
echo '
">
<b>Ingrese su nombre</b><br />
<input type="text" name="nombre">
<input type="submit" value="ingresar nombre">
</form>';
}else{
echo '
<b>Su nombre es: <em>',$variable,'</em>
<br />
<a href="',$ref,'">Volver</a>';
}
?>
Y con POST seria:
Pagina.php
<?php
$variable = $_POST['nombre'];
$ref = $HTTP_REFERER;
echo '
<form method="post" action="';
echo $_SERVER['PHP_SELF'];
echo '
">
<b>Ingrese su nombre</b><br />
<input type="text" name="nombre">
<input type="submit" value="ingresar nombre">
</form>';
}else{
echo '
<b>Su nombre es: <em>',$variable,'</em>
<br />
<a href="',$ref,'">Volver</a>';
}
?>
Ahora, ambos codigos son vulnerables a XSS asi que no los uses en sitios web en funcionamiento real. Osea que si por ejemplo metes en la caja de texto [hola"><script>alert('hola')</script>]
Veras inyectado un mensaje que dira "hola"
Para solucionar esto create una funcion o usa htmlspecialchars() con ent_quotes.
Saludos