Hola a todos,
estoy teniendo un problema con mi proyecto. Resulta que en local me funciona bien pero al subirlo al servidor no. Envío un formulario por XAJAX y al recibir los datos estos están vacios.
Este es mi código:
Código PHP:
<?php
include "comunes/iniciar.php";
?>
<!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" xml:lang="es" >
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250" />
<meta name="generator" content="PSPad editor, www.pspad.com" />
<title>Nouvelle Stetic: Contáctanos</title>
<script type="text/javascript" src="js/comun.js"></script>
<link rel="stylesheet" href="css/style.css" />
<?php
$xajax->printJavascript('xajax');
?>
</head>
<body>
<form id="formContacta" action="sended.php" method="post">
<div id="campos">
<ul id="formIzq">
<li class="ancho_20">Nombre <span class="error">*</span></li><li class="ancho_30"><input type="text" name="nombre" id="nombre" value="" /></li><li class="ancho_40 error" id="errNombre"></li>
<li class="ancho_20">Teléfono <span class="error">*</span></li><li class="ancho_30"><input type="text" name="telef" id="telef" value="" /></li><li class="ancho_40 error" id="errTelef"></li>
</ul>
<ul id="formDer">
<li class="ancho_20">Empresa </li><li class="ancho_30"><input type="text" name="empresa" id="empresa" value="" /></li><li class="ancho_40 error" id="errEmpr"> </li>
<li class="ancho_20">Email <span class="error">*</span></li><li class="ancho_30"><input type="text" name="email" id="email" value="" /></li><li class="ancho_40 error" id="errEmail"></li>
</ul>
<ul id="formCen">
<li class="ancho_20">Mensaje <span class="error">*</span></li><li class="ancho_80"><textarea name="mensaje" id="mensaje" rows="7" cols="45"></textarea></li>
<li class="ancho_20"> </li><li class="ancho_40 error" id="errMensaje"></li>
</ul>
</div>
<div id="botonAceptar">
<input type="button" value="Enviar" onclick="limpiar();xajax_procesar_formulario(xajax.getFormValues('formContacta'))" />
</div>
</form>
</body>
</html>
iniciar.php
Código PHP:
<?php
//incluímos la clase ajax
require('xajax/xajax_core/xajax.inc.php');
include 'comunes/validar.php';
$xajax = new xajax();
$xajax->configure('decodeUTF8Input',true);
$xajax->configure('javascript URI','xajax/');
//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION,"procesar_formulario");
$xajax->processRequest();
?>
validar.php
Código PHP:
function procesar_formulario($form_entrada){
//instanciamos el objeto para generar la respuesta con ajax
$respuesta = new xajaxResponse();
$recp = "";
/* validación de los datos */
//Valido el nombre
if($form_entrada["nombre"]==""){
$salida = "Debes introducir un Nombre";
//$respuesta->call("estiloMensaje","error");
$recp = "errNombre";
$respuesta->assign($recp, "innerHTML", $salida);
}
//Valido el teléfono
if($form_entrada["telef"]==""){
$salida = "Debes introducir un Teléfono";
//$respuesta->call("estiloMensaje","error");
$recp = "errTelef";
$respuesta->assign($recp, "innerHTML", $salida);
}else if (!is_numeric($form_entrada["telef"])) {
$salida = "El formato del teléfono no es correcto";
//$respuesta->call("estiloMensaje","error");
$recp = "errTelef";
$respuesta->assign($recp, "innerHTML", $salida);
}
//Valido el Email
if($form_entrada["email"]==""){
$salida = "Debes introducir un Email";
//$respuesta->call("estiloMensaje","error");
$recp = "errEmail";
$respuesta->assign($recp, "innerHTML", $salida);
}else if (!preg_match(
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$form_entrada["email"])) {
$salida = "El formato del Email no es correcto";
//$respuesta->call("estiloMensaje","error");
$recp = "errEmail";
$respuesta->assign($recp, "innerHTML", $salida);
}
//valido el mensaje
if($form_entrada["mensaje"]==""){
$salida = "Debes introducir un Mensaje";
//$respuesta->call("estiloMensaje","error");
$recp = "errMensaje";
$respuesta->assign($recp, "innerHTML", $salida);
}
//Envío la respuesta
if($recp==""){
$enviado = sendEmail($form_entrada);
if($enviado){
$respuesta->call("sendOk");
}
}
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
Creo que el código está bien, pues en local me funciona, pero igual me falta algo de configuración. Si alguien me puede echar una mano..
gracias