Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - alone-in-the-chat

#51
X) Disculpa d nuevo la demora bueno me tome la libertad de modificar tu codigo solo un poquito para que haga lo que tu quieres y creo que un ejemplo explica mejor las cosas asi que estoy seguro que una vez lo veas comprenderas como debe ir la cosa.

Código (html4strict) [Seleccionar]

<?php
if( isset(
$_GET["muestra"]) && $_GET["muestra"]=)
{
echo "Mostrandome";
}else{
?>

<html>
<head>
<title>Test javascript</title>
<script language="javascript" type="text/javascript">
function saludo()
{
alert('hola');
}

function ajax()
{
var pagina=false; //conector ajax

if( window.XMLHttpRequest ) //Navegador Firefox
pagina= new XMLHttpRequest(); //creamos objeto para el navegador
else if( window.ActiveXObject ) //Navegador Internet Explorer
{
try //Version Actual
{
pagina= new ActiveXObject( "Msxml2.XMLHTTP" ); //creamos objeto para el navegador
}
catch(e) //version Antigua
{
try
{
pagina= new ActiveXObject( "Microsoft.XMLHTTP" ); //creamos objeto para el navegador
}
catch(e)
{
}
}
}
return pagina;
}

function enviar_datos( url, vars, capaview )
{
var conector, capa;

capa= document.getElementById(capaview);
conector= ajax();

conector.open( "GET", url+'?'+vars, true );
conector.onreadystatechange= function()
{
if( conector.readyState==1 )
capa.innerHTML= "<center><img src='admin/imagenes/loading_04.gif'></center>";
else if( conector.readyState==4 )
{
if( conector.status==200 )
{
capa.innerHTML= conector.responseText;
}
else if( conector.status==404 )
{
capa.innerHTML= "<h1>Pagina no encontrada...</h1>";
}
}
}
conector.send(null);
}
</script>

<style typ="text/css" rel="stylesheet">
#contenedor_upload
{
margin:5px;padding:10px;
border:solid gray 1px;
width:250px;
font-family:"sans-serif";font-size:10px;
}

#miboton
{
margin:5px;
}
</style>
</head>

<body>
<?php
echo 
"<a href=\"#\" onclick=\"enviar_datos( '123.php', 'muestra=1', 'contenedor_upload' );\">Click ME</a>";

echo "<br>";
echo "<div id=\"contenedor_upload\">";

echo "</div>";
?>

</body>
</html>
<?php
}
?>




Y si las funciones esas son de javascript X) lo que si no sabia es fuesen propias de php.

Saludos¡¡¡

#52
De poder usar el mismo achivo puedes.
Osea desde index.php puedes llamar mediante ajax a index.php

Lo que debes de controlar es la salida que envias al explorador , ajax regresa en

responseText

toda lo que se le envia al explorador .

te carga todo nuevamente por que en tu ejemplo el archivo index.php envia al browser sin ningun tipo de validacion , contenido html , pero si tu validaras que se enviara ese contenido solamente cuando no es una peticion ajax , no tendria por que regresarte lo demas .

Por ejemplo

si no es peticion ajax
    muestra todo
sino si es ajax
   muestra solamente esto.

Algo por el estilo , como ve si es una peticion ajax o no , pues enviando parametros por post o get , ya queda en el metodo que quieras usar.

Por otro lado , creo que gmail usa las funciones settimeout y setinterval , no puedo asegurar eso , pero creo que es lo mas seguro , ejecutan la consulta al servidor cada cierto lapso de tiempo.

Saludos¡¡






#53
Disculpa la demora.

En esta parte

\"javascript:cargar_datos( '". $_SERVER['HTTP_HOST']. "/~diabliyo/index.php?id=inicio'

estas generando una ruta la ruta que generas es de este tipo

localhost/~diabliyo/index.php?id=inicio

la ruta deberia de ser asi

http://localhost/~diabliyo/index.php?id=inicio

o en su defecto

/index.php?id=inicio

se queda en estado cargando por el hecho de que nunca llega a encontrar la ruta que le pasas como parametro.

Saludos¡¡
#54
PHP / Re: Aprendiendo AJAX con PHP!!
26 Julio 2008, 00:20 AM
Ok
segun entiendo intentas hacer como gmail para adjuntar archivos al correo.

La vdd no se si usaran ellos ajax pero una vez me vi en la necesidad de hacer eso, al final no use ajax , lo que hice fue apuntar el atributo target del formulario aun iframe oculto , y este se encargo de subir el archivo sin necesidad .

El problema es que al enviar el formulario debes necesariamente recargar la pagina si es que no has seteado el atributo target del formulario , ello hace que ajax no tenga sentido en estos casos por que justamente ajax se usa para evitar la recarga de la pagina.

Por eso me decidi ah emplear lo que te dije lineas arriba.

En esta misma sección se pregunto sobre eso no hace mucho , me parece.

Saludos¡¡
 
#55
PHP / Re: Aprendiendo AJAX con PHP!!
25 Julio 2008, 23:54 PM
conector.open( "POST", document.forms.miformulario.dato, true );


la funcion open recibe como segundo parametro una URL .

por ejemplo

conector.open( "POST", "/procesar.php", true );


if( conector.readyState==1 )
eso indica que esta intentando conectar

conector.state==200

El estado llega a 200 cuando ah terminado de ejecutar satisfactoriamente.



Hay un error de concepto en este caso , ajax se usa para dar mayor dinamismo a una pagina , digamos que tengo un formulario de ingreso de clientes donde debo elegir una ciudad para el cliente , para ello primero eliges el pais , en base a ese pais debes mostrarle el combo con las ciudades , con ajax no tendrias por que recargar la pagina para generar ese combo con las ciudades , lo que tendrias que hacer es coger el id del pais que eliges en el combo , usando ajax enviarselo al script que desees que procese ese dato (ese es el segundo parametro del metodo open), y este(el script) debe darte una respuesta o salida , que deben ser las ciudades para ese pais .

Ademas veo que intentas ejecutar el ajax al momento de enviar el formulario con el boton submit , no creo que eso llegue a funcionar (nunca lo eh probado).

Si no quieres liarte mucho puedes usar unas librerias javascript que te pueden aligerar el trabajo , la que mas me gusta es  Jquery.

Aqui tienes una pagina con la documentacion .

http://visualjquery.com/index.xml

Aqui te coloco un pequeño codigo de ejemplo de uso de ajax simple , mas o menos asi deberia ir el ejemplo de las ciudades.

Código (javascript) [Seleccionar]

function getCity()
{
    var obj = document.getElementById("paises");
    var valor = obj.options[obj.selectedIndex].value;
    var ajax;
    ajax = new objetus();//creo el objeto XhtmlHttp
    var _values_send = "idpais=" + valor;
    var _URL_ =  "estados.php";
    ajax.open("POST", _URL_, true);
    ajax.onreadystatechange = function(){
        if (ajax.readyState == 1) {
        }
        else
            if (ajax.readyState == 4) {
                if (ajax.status == 200) {
                    alert(ajax.responseText);
                }
            }
    }
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax.send(_values_send);
    delete (ajax);
}




Usando jquery eso seria mucho mas sencillo.


Saludos¡¡¡

#56
print_r($_SERVER);

X)

Saludos¡¡

#57
PHP / Re: Ayuda con combobox en php
12 Julio 2008, 05:13 AM
Puedes usar ajax en el evento onchange del select coges el id actual seleccionado se lo envias de parametro a tu archivo php para k haga la consulta , y te devuelva los valores que deseas mostrar en el textarea.

Saludos
#58
Puedes detectarlo con javascript usando el evento onclose de la pagina.

Saludos
#59
PHP / Re: Framework para PHP
30 Junio 2008, 22:15 PM
Como te dice Ertai , el Codeigniter es muy bueno , ademas la curva de aprendizaje para pasar a el no es tan compleja , comparandola con la que te llevaria pasar a Symfony o Zend .

En si no deberias tener problemas en subir tu proyecto codeigniter a un hosting , aunque si el servidor es un IIS creo que si te resultara un poco complicado echarlo ah andar .

Saludos¡¡
#60
PHP / Re: Variables de sesion
9 Junio 2008, 21:02 PM
Pues como dice Hans no es necesario , mientras no se envie ningun header (cabecera) al explorador antes de  llamar a session_start() , no tiene por que lanzar error.


Saludos¡¡¡