Código PHP:
<?php
if ($_POST['user']){
print "Hello, ";
print $_POST['user'];
print "!";
}else{
print<<<_HTML_
<form method="POST" action="$_SERVER[PHP_SELF]">
your name: <input type="text" name="user">
<br/>
<input type="submit" value="Say Hello">
</form>
_HTML_;
}
?>
Código PHP:
<?php
if ($_POST['user']){
print "Hello, ";
print $_POST['user'];
print "!";
}else{?>
<form method="POST" action="<?php $_SERVER['PHP_SELF']?>">
your name: <input type="text" name="user">
<br/>
<input type="submit" value="Say Hello">
</form>
}
?>
pero en este caso aparte de que el servidor Apache me da error diciendo que la página "<?php $_SERVER['PHP_SELF']?>" no existe, tengo que habilitar en php.ini short_tag, lo cual he leido que no es muy recomendable, tanto por seguridad como portabilidad, aunque de todos modos me daría igual porque no consigo que el código se ejecute. Usó Apache 2.0 y php 5.0, apache lo uso como servidor virtual, todo en un Windows Xp Home Edition. Si alguien supiera cuál es el fallo agradecería que me ayudara.
Bueno sé que en vez de hacer este código, en vez de llamar a $_SERVER[PHP_SELF] podría realizar action="decirhola.php", siendo ese archivo el que escriba por pantalla lo que está en el principio del condicional, pero claro sería usar un archivo html que llamara a un php, entonces mi pregunta es ¿que metodología de programación es la más idonea?, intentar que el formulario se resuelva directamente en el mismo fichero que lo pide, o realizar la llamada a otro fichero php, usando html. Creo que todo lo que he escrito se resume en, ¿como insertar código html en php no creen?, voy a investigar por aquí haber que encuentro. Gracias de todos modos y espero sus respuestas!!!