Foros del Web » Programando para Internet » PHP »

xajax includes y funciones... no lo entiendo

Estas en el tema de xajax includes y funciones... no lo entiendo en el foro de PHP en Foros del Web. Hola! A ver si me pueden aclarar lo siguiente: El INDEX que estoy usando es el siguiente. En un principio este código se queda como ...
  #1 (permalink)  
Antiguo 26/11/2014, 03:46
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
xajax includes y funciones... no lo entiendo

Hola!
A ver si me pueden aclarar lo siguiente:

El INDEX que estoy usando es el siguiente. En un principio este código se queda como esta porque no me da fallos:
Código PHP:
<?php
require_once("xajax06/xajax_core/xajax.inc.php");

include(
"clases/Configuracion.include.php");
include(
"clases/Usuarios.php");

$xajax=new xajax();

$xajax->register(XAJAX_FUNCTION"registroUsuario");
$xajax->processRequest();
$xajax->configure('javascript URI','xajax06/');

?>

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

        <?php
        $xajax_files
=array();
        
$xajax_files[]=array
            (
            
"xajax06/xajax_js/xajax_core.js",
            
"xajax"
            
);
        
$xajax->printJavascript"xajax06/"$xajax_files )
        
?>
        
        <script type="text/javascript">
        function esperaRespuesta($divDestino)
        {
          document.getElementById($divDestino).innerHTML = "<img src='xajax06/ajax-loader.gif'/>";
        }
        </script>
        
    </head>

    <body>
        <h2><a href = "index.php">xajax Tests</a></h2>

        <h1>Registro de usuarios</h1>

        <p>

            <form id = "testForm1" onsubmit = "return false;">
                <p>
                    <input type = "text" id = "textBox1" name = "nick" value = "nick" />
                </p>
                <p>
                    <input type = "text" id = "textBox1" name = "email" value = "email" />
                </p>

                <p>
                    <input type = "submit"
                        value = "Enviar"
                        onclick = "esperaRespuesta('respuestaForm');xajax_registroUsuario(xajax.getFormValues('testForm1')); return false;" />

                    <span id = "respuestaForm"></span>
                </p>
            </form>

            <div id = "submittedDiv">
            </div>
    </body>
</html>
Ahora les voy a poner el código de 2 ficheros 2 veces, en un caso funciona y en otro no.
Principalmente lo que quiero es poder usar desde la funcion XAJAX registroUsuario() la funcion de obtenerIpVisitante()

De la siguiente forma, todo me funciona bien!!

Configuracion.include.php
Código PHP:
<?php
/*
Configuración
*/
// Base de datos
$link mysqli_connect('localhost''root''''dbtest');
mysqli_set_charset($link"utf8");

// Configuración general del sitio
$_INC_etiquetaTitle "";
$_INC_tituloWeb "";
$_INC_subTitulo "";
$_INC_piePagina "";

?>
Usuarios.php
Código PHP:
<?php
function registroUsuario($formularioDeEntrada)
{
    
$respuesta = new xajaxResponse();
    
    require(
"Configuracion.include.php");


    function 
obtenerIpVisitante(){
        if (!empty(
$_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } else {
        if (!empty(
$_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else {
        return 
$_SERVER['REMOTE_ADDR']; } }
    }
    
    
//Comprobamos que recibimos los parametros esperados: nick, email
    
if(isset($formularioDeEntrada['email']) && isset($formularioDeEntrada['nick'])) {
    
        
// Validamos las variables recibidas
        
if(filter_var($formularioDeEntrada['email'], FILTER_VALIDATE_EMAIL))
        {

........................................ 
etc ........................
De la siguiente forma NO funciona la funcion XAJAX:

Configuracion.include.php
Código PHP:
<?php
/*
Configuración
*/
// Base de datos
$link mysqli_connect('localhost''root''''dbtest');
mysqli_set_charset($link"utf8");

// Configuración general del sitio
$_INC_etiquetaTitle "";
$_INC_tituloWeb "";
$_INC_subTitulo "";
$_INC_piePagina "";

function 
obtenerIpVisitante(){
    if (!empty(
$_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } else {
    if (!empty(
$_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else {
    return 
$_SERVER['REMOTE_ADDR']; } }
}
?>
Usuarios.php
Código PHP:
<?php
function registroUsuario($formularioDeEntrada)
{
    
$respuesta = new xajaxResponse();
    
    require(
"Configuracion.include.php");
    
    
//Comprobamos que recibimos los parametros esperados: nick, email
    
if(isset($formularioDeEntrada['email']) && isset($formularioDeEntrada['nick'])) {
    
        
// Validamos las variables recibidas
        
if(filter_var($formularioDeEntrada['email'], FILTER_VALIDATE_EMAIL))
        {

........................................ 
etc ........................
Como ven, si la funcion obtenerIpVisitante la pongo en el fichero de Configuracion, todo falla!!!
Sin embargo, si la pongo en la funcion xajax va bien.

No lo entiendo... porque teóricamente seria lo mismo no? ya que estoy haciendo un rquire del fichero Configuracion.

Si alguien pudiese aclararme esto se lo agradeceria.

Un saludo.
__________________
Follow me on twitter @franbedia

Etiquetas: formulario, funciones, html, includes, mysql, registro, variable, xajax
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 04:20.