Foros del Web » Programando para Internet » Javascript » Frameworks JS »

La versión 6 de Xajax falla en servidor hosting

Estas en el tema de La versión 6 de Xajax falla en servidor hosting en el foro de Frameworks JS en Foros del Web. Saludos amig@s de fdw, He realizado un formulario de contacto que se valida con funciones php (utilizando la libreria XAJAX en su versión 6). En ...
  #1 (permalink)  
Antiguo 06/06/2012, 12:07
 
Fecha de Ingreso: agosto-2009
Ubicación: $this->home = "BCN";
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 0
La versión 6 de Xajax falla en servidor hosting

Saludos amig@s de fdw,

He realizado un formulario de contacto que se valida con funciones php (utilizando la libreria XAJAX en su versión 6).

En localhost (entorno de desarrollo: ApacheFriends XAMPP version 1.7.7) funciona de lujo.

Muestro código de formulario a continuación:
Código HTML:
<form id='formContacte'  name='formContacte' method='post' action='app/contacte'>
		<div id='logoMipe'><img src='img/logo.png' /></div>
		<fieldset>
			<legend>Formulario de contacto</legend>
			<table cellspacing='8' cellpadding='8' border='0'>
				<caption><a href='src/inicio'>Volver al contenido</a>&nbsp;&nbsp;&nbsp;* Todos los campos son necesarios</caption>
				<tr>
					<td>
						* Nombre:
					</td>
					<td> 
						<input class='' type='text' name='nom' id='nom' value='' maxlength='' size='50' />
					</td>
				</tr>
				<tr>
					<td>
						* Primer apellido:
					</td>
					<td>
						<input class='' type='text' name='cognom1' id='cognom1' value='' maxlength='' size='50' />
					</td>
				</tr>
				<tr>
					<td>
						* Segundo apellido:
					</td>
					<td>
						<input class='' type='text' name='cognom2' id='cognom2' value='' maxlength='' size='50' />
					</td>
				</tr>
				<tr>
					<td>
						* Em@il:
					</td>
					<td>
						<input class='' type='text' name='email' id='email' value='' maxlength='' size='50' />
					</td>
				</tr>
				<tr>
					<td>
						* Teléfon/Móvil:
					</td>
					<td>
						<input class='' type='text' name='telefon' id='telefon' value='' maxlength='9' size='50' />
					</td>
				</tr>
				<tr>
					<td>
						* Su consulta:
					</td>
					<td>
						<br /><textarea class='' name='consulta' id='consulta' rows='10' cols='50'></textarea>
					</td>
				</tr>
				<tr>
					<td colspan='2'>
						<input type='hidden' name='enviat' id='enviat' value='' />
						<input style='display:block;' type='button' class='butons' name='btSubmitFormContacte' id='btSubmitFormContacte' value='Enviar mi consulta' onclick="xajax_ValidarFormContacte(xajax.getFormValues('formContacte'));" />
					</td>
				</tr>
			</table>
		</fieldset>
		</form> 
Aquí el código PHP que como función XAJAX, valida y ejecuta el resultado de la validación.

Código PHP:
function ValidaFormulari($form){
    
$nom $form['nom'];
    
$cognom1 $form['cognom1'];
    
$cognom2 $form['cognom2'];
    
$nomComercial $form['nomComercial'];
    
$personaContacte $form['personaContacte'];
    
$telefon $form['telefon'];
    
$email $form['email'];
    
$consulta $form['consulta'];
    
$tipusClient $form['tipusClient'];
    
// Validació
    
$error false;
    
$falta "";
    
$tags SetTagsFormulari();
    
    
// Segons el tipus de client, validaré uns camps o altres
    
if($tipusClient == "particular"){
        if(
Smap::ValidaBlancs($nom) != false){
            if(
$nom == ""){
                
$error true;
                
$falta .= MontaError("null"$tags[0]);
            }
        }else{
            
$error true;
            
$falta .= MontaError("format"$tags[0]);
        }
        if(
Smap::ValidaBlancs($cognom1) != false){
            if(
$cognom1 == ""){
                
$error true;
                
$falta .= MontaError("null"$tags[1]);
            }
        }else{
            
$error true;
            
$falta .= MontaError("format"$tags[1]);
        }
        if(
Smap::ValidaBlancs($cognom2) != false){
            if(
$cognom2 == ""){
                
$error true;
                
$falta .= MontaError("null"$tags[2]);
            }
        }else{
            
$error true;
            
$falta .= MontaError("format"$tags[2]);
        }
    }else{
        if(
Smap::ValidaBlancs($nomComercial) != false){
            if(
$nomComercial == ""){
                
$error true;
                
$falta .= MontaError("null"$tags[3]);
            }
        }else{
            
$error true;
            
$falta .= MontaError("format"$tags[3]);
        }
        if(
Smap::ValidaBlancs($personaContacte) != false){
            if(
$personaContacte == ""){
                
$error true;
                
$falta .= MontaError("null"$tags[4]);
            }
        }else{
            
$error true;
            
$falta .= MontaError("format"$tags[4]);
        }
    }
    if(
Smap::ValidaBlancs($telefon) != false){
        if(
$telefon == ""){
            
$error true;
            
$falta .= MontaError("null"$tags[5]);
        }else{
            if(
Smap::FormatTelefon($telefon) != true){
                
$error true;
                
$falta .= MontaError("format"$tags[5]);
            }
        }
    }else{
        
$error true;
        
$falta .= MontaError("format"$tags[5]);
    }
    if(
Smap::ValidaBlancs($email) != false){
        if(
$email == ""){
            
$error true;
            
$falta .= MontaError("null"$tags[6]);
        }else{
            if(
Smap::GetValidacioEmail($email) == false){
                
$error true;
                
$falta .= MontaError("format"$tags[6]);
            }
        }
    }else{
        
$error true;
        
$falta .= MontaError("format"$tags[6]);
    }
    if(
$consulta == ""){
        
$error true;
        
$falta .= MontaError("null"$tags[7]);
    }
    
$cadenaForm $nom."\n";
    
$cadenaForm .= $cognom1."\n";
    
$cadenaForm .= $cognom2."\n";
    
$cadenaForm .= $telefon."\n";
    
$cadenaForm .= $email."\n";
    
$cadenaForm .= $consulta."\n";
    
$xr = new xajaxResponse();
    if(
$error == true){
        
$xr->alert(utf8_encode($falta));
    }else{
        
$xr->script("document.forms.formContacte.submit();");
    }
    return 
$xr;

Esta función emplea dos funciones adicionales para cuestiones de organizar datos y acabados de interface de usuario en pantalla


Auxiliar 1
Código PHP:
function MontaError($error$camp){
    if(
Sistema::GetIdioma() == "cat"){
        
$res = ($error == "null")
        ? 
"ERROR: El camp ".$camp." és necesari\n"
        
"ERROR: Format incorrecte del camp ".$camp."\n";
    }elseif(
Sistema::GetIdioma() == "esp"){
        
$res = ($error == "null")
        ? 
$miss "ERROR El campo ".$camp." es necesario\n"
        
$format "ERROR: formato incorrecto del campo ".$camp."\n";
    }else{
        
$res = ($error == "null")
        ? 
$miss "ERROR: The ".$camp." field is required\n"
        
$format "ERROR: malformed ".$camp." field\n";
    }
    return 
$res;

Auxiliar 2
Código PHP:
function SetTagsFormulari(){
    if(
Sistema::GetIdioma() == "esp"){
        
$array = array("Nombre","Primer apellido","Segundo apellido","Nombre comercial","Persona de contacto","Teléfono","Email","Consulta");
    }elseif(
Sistema::GetIdioma() == "cat"){
        
$array = array("Nom","Primer cognom","Segon cognom","Nom comercial","Persona de contacte","Telèfon","Email","Consulta");
        
//$array = array("Name","Surname","Second surname","Telephone","Email","Consultation");
    
}else{
        
$array = array("Name","Surname","Second surname","Trade name","Contact","Telephone","Email","Consultation");
    }
    return 
$array;

Resumiendo:

En http://localhost/miProyecto

Al pulsar el botón del formulario, se comprueba:

1. Si el campo está o no vacío
2. Si está rellenado con caracteres aceptables.

.....y funciona correctamente

peeeeero, cuando lo suba al servidor de hosting y lo ejecuto desde

http://www.MiProyecto.es

Ahí empezamos con sorpresas.

1. Se salta la captura de los tres primeros campos del formulario, así, por la cara.

2. En la captura de un campo, me devuelve (independientemente de lo que escriba en el, "{".

Le he dado miles de vueltas y no se por donde cogerlo.

¿Puede ser que los servidores de hosting en entorno de linux pateen la libreria de xajax ?

¿A alguién le ha ocurrido algo similar?

¿Habéis podido solucionarlo?

Gracias de antemano a tod@s !!!
  #2 (permalink)  
Antiguo 06/06/2012, 12:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: La versión 6 de Xajax falla en servidor hosting

querrá decir la 0.6 porque en la pagina no aparece sino esa versión

además debe comparar el phpinfo() de sus server hosting y el de su local para verificar si el fallo es realmente del lado del servidor, verifique que librerías son necesarias para su proyecto
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax
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 08:06.