Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/05/2009, 09:57
Avatar de temaqueja
temaqueja
 
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 22 años, 7 meses
Puntos: 4
Respuesta: Validar formulario del lado del servidor

Podrias comenzar cambiando:

<form action="mail.php" method="post" id="f1" name="f1">
...
<input value="Enviar consulta" id="sender" type="submit" />

por:
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" id="f1" name="f1">
...
<input value="Enviar consulta" name="sender" id="sender" type="submit" />

para que el script se envíe el formulario a si mismo y en caso e problemas puedas regresarle al usuario lo que escribió en el formulario.

En la parte superior fila 1 de contacto.php le agregarias algo asi:
<?php
if(isset($_POST['sender'])) {
$msg_error = '';
// validaciones
// habitualmente muchos if(esto no esta bien) {$msg_error.='<br/>mensaje de error';}
...
if($msg_error=='') {
// continuar con el script del email
include("mail.php");
}
}
?>


y a tus inputs agregarles el valor...
<input name="nombre" id="nombre" value="Nombre (obligatorio)" size="22" tabindex="1" type="text" onblur="if(this.value == '') { this.value='Nombre (obligatorio)'}" onfocus="if (this.value == 'Nombre (obligatorio)') {this.value=''}" />

debe ser
<input name="nombre" id="nombre" value="<? if(isset($_POST['nombre'])) echo $_POST['nombre']; } else { echo 'Nombre (obligatorio)';} ?>" size="22" tabindex="1" type="text" onblur="if(this.value == '') { this.value='Nombre (obligatorio)'}" onfocus="if (this.value == 'Nombre (obligatorio)') {this.value=''}" />

Eso te da la base para hacer el resto.
__________________
_________________________
La computadora nació para resolver problemas que antes no existían