Llevo semanas pegándome con un código que viene en "guía esencial de php". Se trata de un script que contiene un formulario, comprueba que los datos obligatorios se han introducido, si están, da las gracias y si no están vuelve a mostrar el formulario con los datos que ya estuvieran rellenos.
He simplificado el ejemplo al máximo y he cambiado todo lo que se me ha ocurrido, pero nada. No me da ningún error; simplemente no funciona. ¿Alquien podría decirme en qué me he equivocado? Estoy completamente perdida
Código PHP:
<html>
<head>
<title>Contact</title>
</head>
<body>
<?php
function imprime_form ($nombre, $email) {
global $nombre;
global $email;
?>
<form action="formulario.php" method="post">
<table width="50%" border="1" align="center">
<tr>
<td> Nombre:</td>
<td> <input type="text" name="nombre" value=" "></td>
</tr>
<tr>
<td> email:</td>
<td> <input type="text" name="email" value=" "></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>
<?php }
function confirma_form($nombre, $email){
global $nombre;
global $email;
?>
<h3> Gracias</h3>
Recibirá su confirmación en el email que nos ha proporcionado.
<?php
}
function comprueba_form($nombre, $email) {
global $nombre;
global $email;
if(!$nombre || !$email) {
echo("<h3>Por favor, compruebe sus datos</h3>");
if (!$nombre) {
echo("No nos ha dicho su nombre");
}
if (!$email) {
echo("No nos ha dicho su email");
}
imprime_form($nombre, $email);
} else {
confirma_form($nombre, $email);
}
}
if (!$submit) {
imprime_form(" ", " ");
} else {
comprueba_form($nombre, $email);
}
?>
</body>
</html>