Foros del Web » Programando para Internet » Javascript »

Formulario valida con jquery en localhost pero no una vez subido al servidor

Estas en el tema de Formulario valida con jquery en localhost pero no una vez subido al servidor en el foro de Javascript en Foros del Web. Buenas tardes, este es mi primer consulta y espero puedan ayudarme. desde ya muchas gracias! Por medio de tutoriales en internet y en este foro ...
  #1 (permalink)  
Antiguo 14/02/2013, 13:19
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Formulario valida con jquery en localhost pero no una vez subido al servidor

Buenas tardes, este es mi primer consulta y espero puedan ayudarme. desde ya muchas gracias!

Por medio de tutoriales en internet y en este foro genere un formulario de contactos (es un formulario frankenstein, por que no lo copie tal cual de un solo tutorial, si no que es una recopilacion de varios).

La idea fue validarlo con el con el pluging: [URL="https://github.com/posabsolute/jQuery-Validation-Engine"]https://github.com/posabsolute/jQuery-Validation-Engine[/URL] y no fue problema, por que al probarlo en el WampServer ("localhost") valida genial y luego envía el email.

El problema:
cuando subo el formulario a al servidor en internet el formulario se envía sin validar. Y la verdad que no no se por que. He investigado por todos lados y no encuentro la solución. Creo que el problema puede ser que tenga el codigo php para enviar el formulario en la misma pagina, pero no estoy seguro.

Desde ya muchas gracias y para quien lo necesite le dejo el codigo php para enviar los datos del formulario, funciona perfecto.
  #2 (permalink)  
Antiguo 14/02/2013, 13:20
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Codigo PHP:
Código:
<?php require_once('coneccion_base_de_datos'); ?>
<?php
		if(isset($_POST['enviar'])){
								
				$reseptor = "[email protected]";
				$mensaje = preg_replace('/\n/','<br>',urldecode($_POST['mensaje']));
				$nombre = urldecode($_POST['nombre']);
				$apellido = urldecode($_POST['apellido']);
				$email = urldecode($_POST['email']);
				$telefono = urldecode($_POST['telefono']);
				$fecha = date('c');
				$titulo = "Nuevo mensaje de $nombre $apellido desde el formulario de CONTACTO";
				
				$data = "
				<html><head>
						<title>$titulo</title>
						<meta name='viewport' content='width:device-width,initial-scale=1'>
						<style>
						body{
							font-family: Verdana,Geneva,sans-serif;
							background: #eee;
							color: #333;
						}
						.mensaje {
							width: 100%;
							max-width: 650px;
							background: #fff;
							border: 1px solid #ccc;
							margin: 2em auto;
							padding: 2em;
						} </style>
					</head>
					<body>
						<div class='mensaje'>
							<h1>Nuevo mensaje de $nombre $apellido</h1>
							<table>
							  <tr>
								<td><strong>Fecha:</strong></td>
								<td>$fecha</td>
							  </tr>
							  <tr>
								<td></td>
								<td></td>
							  </tr>
							  <tr>
								<td><strong>E-mail:</strong></td>
								<td><a href='mailto:$email'>$email</a></td>
							  </tr>
							  <tr>
								<td></td>
								<td></td>
							  </tr>
							  <tr>
								<td><strong>Teléfono:</strong></td>
								<td>$telefono</td>
							  </tr>
							  <tr>
								<td></td>
								<td></td>
							  </tr>
							  <tr>
								<td><strong>Mensaje:</strong></td>
								<td>$mensaje</td>
							  </tr>
						  </table>
						</div>
					</body></html>";
					
				//Cabeceras del correo
				$headers = "From: $nombre $apellido<$email>\r\n"; //Quien envia?
				$headers .= "X-Mailer: PHP5\n";
				$headers .= 'MIME-Version: 1.0' . "\n";
				$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //
							
				if(mail($reseptor,$titulo,$data,$headers)){
					$result = '<div class="result_ok"><p>Email enviado correctamente.</p><p>Nos comunicaremos con ud. a la brevedad.</p></div>';	
					// si el envio fue exitoso reseteamos lo que el usuario escribio:
					$_POST['nombre'] = '';
					$_POST['apellido'] = '';
					$_POST['email'] = '';
					$_POST['telefono'] = '';
					$_POST['mensaje'] = '';
				}else{
					$result = '<div class="result_fail"><p>Error al enviar el mensaje.</p><p>Por favor vuelva a intentarlo.</p></div>';
				}
		}
?>

Codigo Formulario:
Código:
    <?php echo $result; ?>
     
    <form id="formID" class="formular" name="form1" method="post" action="">
            <table width="458" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td><strong>DATOS</strong></td>
                <td>&nbsp;</td>
                <td colspan="2">&nbsp;</td>
                </tr>
              <tr>
                <td colspan="4"><hr /></td>
                </tr>
              <tr>
                <td width="219">&nbsp;</td>
                <td width="4">&nbsp;</td>
                <td colspan="2">&nbsp;</td>
              </tr>
              <tr>
                <td width="219" align="right">Nombre *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required] text-input" type="text" name="nombre" id="nombre" /></td>
              </tr>
              <tr>
                <td width="219" align="right">Apellido *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required] text-input" type="text" name="apellido" id="apellido" /></td>
              </tr>
              <tr>
                <td width="219" align="right">E-mail *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required,custom[email]] text-input" type="text" name="email" id="email" /></td>
              </tr>
              <tr>
                <td width="219" align="right">Teléfono *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required,custom[phone]] text-input" type="text" name="telefono" id="telefono" /></td>
              </tr>
              <tr>
                <td width="219" align="right" valign="top">Mensaje :</td>
                <td width="4" height="16" align="right" valign="top">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><textarea name="mensaje" id="mensaje" cols="30" rows="5"></textarea></td>
              </tr>
              <tr>
                <td width="219" class="aclara"><span class="aclara">*campos obligatorios</span></td>
                <td width="4" height="26">&nbsp;</td>
                <td colspan="2" align="right"><input class="submit" name="enviar" type="submit" id="enviar" value="Enviar"/></td>
                </tr>
          </table>
          </form>
  #3 (permalink)  
Antiguo 14/02/2013, 13:21
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Codigo completo:
Código:
<?php require_once('coneccion_base_de_datos'); ?>
<?php
		if(isset($_POST['enviar'])){
								
				$reseptor = "[email protected]";
				$mensaje = preg_replace('/\n/','<br>',urldecode($_POST['mensaje']));
				$nombre = urldecode($_POST['nombre']);
				$apellido = urldecode($_POST['apellido']);
				$email = urldecode($_POST['email']);
				$telefono = urldecode($_POST['telefono']);
				$fecha = date('c');
				$titulo = "Nuevo mensaje de $nombre $apellido desde el formulario de CONTACTO";
				
				$data = "
				<html><head>
						<title>$titulo</title>
						<meta name='viewport' content='width:device-width,initial-scale=1'>
						<style>
						body{
							font-family: Verdana,Geneva,sans-serif;
							background: #eee;
							color: #333;
						}
						.mensaje {
							width: 100%;
							max-width: 650px;
							background: #fff;
							border: 1px solid #ccc;
							margin: 2em auto;
							padding: 2em;
						} </style>
					</head>
					<body>
						<div class='mensaje'>
							<h1>Nuevo mensaje de $nombre $apellido</h1>
							<table>
							  <tr>
								<td><strong>Fecha:</strong></td>
								<td>$fecha</td>
							  </tr>
							  <tr>
								<td></td>
								<td></td>
							  </tr>
							  <tr>
								<td><strong>E-mail:</strong></td>
								<td><a href='mailto:$email'>$email</a></td>
							  </tr>
							  <tr>
								<td></td>
								<td></td>
							  </tr>
							  <tr>
								<td><strong>Teléfono:</strong></td>
								<td>$telefono</td>
							  </tr>
							  <tr>
								<td><strong>Mensaje:</strong></td>
								<td>$mensaje</td>
							  </tr>
						  </table>
						</div>
					</body></html>";
					
				//Cabeceras del correo
				$headers = "From: $nombre $apellido<$email>\r\n"; //Quien envia?
				$headers .= "X-Mailer: PHP5\n";
				$headers .= 'MIME-Version: 1.0' . "\n";
				$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //
							
				if(mail($reseptor,$titulo,$data,$headers)){
					$result = '<div class="result_ok"><p>Email enviado correctamente.</p><p>Nos comunicaremos con ud. a la brevedad.</p></div>';	
					// si el envio fue exitoso reseteamos lo que el usuario escribio:
					$_POST['nombre'] = '';
					$_POST['apellido'] = '';
					$_POST['email'] = '';
					$_POST['telefono'] = '';
					$_POST['mensaje'] = '';
				}else{
					$result = '<div class="result_fail"><p>Error al enviar el mensaje.</p><p>Por favor vuelva a intentarlo.</p></div>';
				}
		}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contacto</title>

<!-- colocamos el script para validar el formulario --!> 

<link rel="stylesheet" href="estilo/validationEngine.jquery.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js" type="text/
javascript"></script>
<script src="js/validar/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="js/validar/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
<script src="js/validar/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
	<script>
		jQuery(document).ready(function(){
			// binds form submission and fields to the validation engine
			jQuery("#formID").validationEngine();
		});
	</script>

</head>
<body onLoad="initialize()">

     <?php echo $result; ?>
    <form id="formID" class="formular" name="form1" method="post" action="">
            <table width="458" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td><strong>DATOS</strong></td>
                <td>&nbsp;</td>
                <td colspan="2">&nbsp;</td>
                </tr>
              <tr>
                <td colspan="4"><hr /></td>
                </tr>
              <tr>
                <td width="219">&nbsp;</td>
                <td width="4">&nbsp;</td>
                <td colspan="2">&nbsp;</td>
              </tr>
              <tr>
                <td width="219" align="right">Nombre *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required] text-input" type="text" name="nombre" id="nombre" /></td>
              </tr>
              <tr>
                <td width="219" align="right">Apellido *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required] text-input" type="text" name="apellido" id="apellido" /></td>
              </tr>
              <tr>
                <td width="219" align="right">E-mail *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required,custom[email]] text-input" type="text" name="email" id="email" /></td>
              </tr>
              <tr>
                <td width="219" align="right">Teléfono *:</td>
                <td width="4" align="right">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><input class="validate[required,custom[phone]] text-input" type="text" name="telefono" id="telefono" /></td>
              </tr>
              <tr>
                <td width="219" align="right" valign="top">Mensaje :</td>
                <td width="4" height="16" align="right" valign="top">&nbsp;</td>
                <td colspan="2" align="left" valign="top"><textarea name="mensaje" id="mensaje" cols="30" rows="5"></textarea></td>
              </tr>
              <tr>
                <td width="219" class="aclara"><span class="aclara">*campos obligatorios</span></td>
                <td width="4" height="26">&nbsp;</td>
                <td colspan="2" align="right"><input class="submit" name="enviar" type="submit" id="enviar" value="Enviar"/></td>
                </tr>
          </table>
          </form>          
</body>
</html>
  #4 (permalink)  
Antiguo 14/02/2013, 13:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

La validación con Javascript no debe reemplazar una buena validación desde PHP.

Si usas Firefox, revisa la consola de errores, generalmente ahí puedes encontrar mensajes que te ayudarán a solucionar el problema y, revisando a simple vista, podría ser un error de rutas, que no se estén cargando los js o, incluso, que tienes onLoad en vez de onload
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 14/02/2013, 13:24
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

triby: estaba cargando todo por que era muy largo, lo tube que dividir en 3 comentarios. gracias =!
  #6 (permalink)  
Antiguo 14/02/2013, 13:27
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Cita:
Iniciado por Triby Ver Mensaje
La validación con Javascript no debe reemplazar una buena validación desde PHP.

Si usas Firefox, revisa la consola de errores, generalmente ahí puedes encontrar mensajes que te ayudarán a solucionar el problema y, revisando a simple vista, podría ser un error de rutas, que no se estén cargando los js o, incluso, que tienes onLoad en vez de onload
estaba cargando todo por que era muy largo, lo tube que dividir en 3 comentarios. gracias =!
  #7 (permalink)  
Antiguo 14/02/2013, 13:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Sí, me di cuenta al publicarlo... pero ya lo edité!
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 14/02/2013, 13:45
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Cita:
Iniciado por Triby Ver Mensaje
La validación con Javascript no debe reemplazar una buena validación desde PHP.

Si usas Firefox, revisa la consola de errores, generalmente ahí puedes encontrar mensajes que te ayudarán a solucionar el problema y, revisando a simple vista, podría ser un error de rutas, que no se estén cargando los js o, incluso, que tienes onLoad en vez de onload
corregí el onload y verifique las rutas y esta todo bien, es mas en el servidor local "localhost" la validacion funciona.

no entendi esta parte:" La validación con Javascript no debe reemplazar una buena validación desde PHP." vos decis que me conviene validar directamente con php?
  #9 (permalink)  
Antiguo 14/02/2013, 14:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Puedes proporcionar la dirección de la página en el servidor?... para echarle un ojo rápidamente.

Lo que digo es que SIEMPRE debes validar desde PHP, no importa si tienes o no un validador en javascript, porque ese se puede desactivar fácilmente.

Por cierto, aunque todo lo estás haciendo desde PHP, tu problema es de Javascript.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 14/02/2013, 14:28
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Cita:
Iniciado por Triby Ver Mensaje
Puedes proporcionar la dirección de la página en el servidor?... para echarle un ojo rápidamente.

Lo que digo es que SIEMPRE debes validar desde PHP, no importa si tienes o no un validador en javascript, porque ese se puede desactivar fácilmente.

Por cierto, aunque todo lo estás haciendo desde PHP, tu problema es de Javascript.
sip no hay problema, la pag es [URL="http://carluccinmobiliaria.com.ar/contacto.php"]http://carluccinmobiliaria.com.ar/contacto.php[/URL]
  #11 (permalink)  
Antiguo 14/02/2013, 14:32
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

En la consola de errores de Firefox encontré esto:

Fecha y hora: 14/02/2013 02:25:02 p.m.
Error: ReferenceError: jQuery is not defined
Archivo de origen: http://carluccinmobiliaria.com.ar/contacto.php
Línea: 18

Fecha y hora: 14/02/2013 02:25:02 p.m.
Error: ReferenceError: initialize is not defined
Archivo de origen: http://carluccinmobiliaria.com.ar/contacto.php
Línea: 1

Tratando de acceder a cualquiera de los js obtienes error 404, por lo tanto:
a) No subiste los scripts
b) La ruta no es correcta

Ejemplo: http://carluccinmobiliaria.com.ar/js...y-1.8.2.min.js
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 14/02/2013, 14:42
 
Fecha de Ingreso: febrero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Cita:
Iniciado por Triby Ver Mensaje
En la consola de errores de Firefox encontré esto:

Fecha y hora: 14/02/2013 02:25:02 p.m.
Error: ReferenceError: jQuery is not defined
Archivo de origen: [url]http://carluccinmobiliaria.com.ar/contacto.php[/url]
Línea: 18

Fecha y hora: 14/02/2013 02:25:02 p.m.
Error: ReferenceError: initialize is not defined
Archivo de origen: [url]http://carluccinmobiliaria.com.ar/contacto.php[/url]
Línea: 1

Tratando de acceder a cualquiera de los js obtienes error 404, por lo tanto:
a) No subiste los scripts
b) La ruta no es correcta

Ejemplo: [url]http://carluccinmobiliaria.com.ar/js/jquery-1.8.2.min.js[/url]
triby te pido disculpas jeje paso que estube probando varias cosas para hacer andar la validación, una de esas fue cambiar el lugar de los archivos js para que esten en su propia ruta y no junto con otros js por que lei por ahi que eso podia generar errores, lo coloque en una carpeta y olvide acualizar la ruta, pero de todas forma sigue sin validar. Gaicas!

PD: ya actualice la ruta...
  #13 (permalink)  
Antiguo 14/02/2013, 14:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario valida con jquery en localhost pero no una vez subido al servid

Por favor, usa la consola de errores de Firefox, te ayudará a resolver el problema, ahora el mensaje es este:

Fecha y hora: 14/02/2013 02:45:20 p.m.
Error: TypeError: jQuery(...).validationEngine is not a function
Archivo de origen: http://carluccinmobiliaria.com.ar/contacto.php
Línea: 20
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, jquery, localhost, php, servidor, vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.