Hola listeros, ¡feliz navidad! a todos. Soy un principiante en PHP y
tengo un problema a la hora de validar un sencillo formulario, quiero
simplemente que me avise si no se ha introducido información en tres
campos obligatorios del formulario (Apellidos, email y cod.postal), el
codigo que utilizo es el siguiente:
<html>
<head>
<title>Comprobador de Información de contacto</title>
</head>
<body bgcolor="#ffffff">
<?php
function print_form($f_name,$l_name,$email,$zip,$os) {
?>
<form action="form_checker.php3" method="POST">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>Nombre</td><td><input type="text" name="f_name" value="<?php print
$f_name ?>"></td>
</tr>
<tr>
<td>Apellidos<b>*</b></td><td><input type="text" name="l_name" value="<?
php print $l_name ?>"></td>
</tr>
<tr>
<td>Dirección de correo electrónico<b>*</b></td><td><input type="text"
name="email" value="<?php print $email ?>"></td>
</tr>
<tr>
<td>Código Postal<b>*</b></td><td><input type="text" name="zip"
value="<?php print $zip ?>"></td>
</tr>
<td>Sistema Operativo</td><td><input type="text" name="os" value="<?php
print $os ?>"></td>
</tr>
</table>
<input type="submit" name="submit" value="¡Enviar!"><input type="Reset"
name="reset" value="Restablecer">
</form>
<?
}
function check_form($f_name,$l_name,$email,$zip,$os)
{
if (!$l_name || !$email ||!$zip):
print ("<h3>Le faltan algunos campos obligatorios</h3>");
if (!$l_name) {
print ("Tiene que rellenar sus <b>Apellidos</b>.<br>"); }
if (!$email) {
print ("<h3>Tiene que rellenar su <b>Correo electrónico</b>.<br>"); }
if (!$zip) {
print ("Tiene que rellenar su <b>Código Postal</b>.<br>"); }
print_form($f_name,$l_name,$email,$zip,$os);
else:
confirm_form($f_name,$l_name,$email,$zip,$os);
endif;
}
function confirm_form($f_name,$l_name,$email,$zip,$os) {
?>
<h2>¡Gracias!, estos son los datos que nos ha proporcionado.</h2>
<b>Información de contacto</b>
<?
print ("<br>$f_name $l_name<br>$email<br>ZIP: $zip<br>OS: $os\n");
}
/*programa principal/
if (!isset($submit)):
?>
<h3>Por favor, introduzca sus datos</h3>
Los campos con "<b>*</b>" son obligatorios.<p>
<?php
print_form(" "," "," "," "," ");
else:
check_form($f_name,$l_name,$email,$zip,$os);
endif;
?>
</body>
</html>
El caso es que pasa por alto la función check form, no sé muy bien
donde está el error!, por otra parte, me gustaría que una vez validados
los datos, la información introducida se imprimiera en la impresora del
Servidor, el servidor Web utilizado es Apache corriendo bajo NT,
utilizo la extensión PHP_printer.dll, pero no he logrado hacer imprimir
nada, únicamente hace un salto de pagina, ¿alguna sugerencia?,
muchísimas gracias a todos y de nuevo ¡¡¡FELIZ NAVIDAD!!!,Juanan.