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 - Diabliyo

#581
PHP / Re: Aprendiendo AJAX con PHP!!
26 Julio 2008, 00:09 AM
Gracias por contestar alone-in-the-chat, crei que nadie hiva a decir algo jejeje...

Pero bueno, lo que sucede es que talvez el ejemplo que use al principio fue un poco malo para ti, pero la finalidad de todo esto es poder realizarme un Uploader, para subir archivos a mi servidor, ya que usando puro PHP esto es un poco tedioso debido a las restricciones en el tiempo de ejecucion de scripts que se permite, vaya, si el archivo pesa mucho y el script lleva a su tiempo de ejecucion limite, pues el proceso no se termina (no se sube el archivo). Este haciendolo cambiando los tiempo de restriccion con algunas funciones, pero la vdd no me parecio muy transparente y mucho menos factible.

La idea es esa, hacer un Uploader simple con AJAX, asi que te pongo un codigo que estoy haciendo de EJEMPLO, pero la verdad no doy una, ni si quiera consigo que se escriba algo en la pagina, ni mucho menos subir el file :S, porfavor echale un ojo a esto:

Código (php) [Seleccionar]
<html>
<head>
<title>Test javascript</title>
<script language="javascript" type="text/javascript">
<!--
function ajax()
{
var pagina=false; //conector ajax
var contenedor_style;

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()
{
var conector, capa, archivo;

conector= ajax();
capa= document.getElementById('contenedor_upload');
archivo= document.getElementById('miarchivo');

conector.open( "POST", "123.php?subir=1", true );
conector.onreadystatechange= function()
{
if( conector.readyState==1 )
capa.innerHTML= "Cargando...";
else if( conector.readyState==4 )
{
if( conector.status==200 )
capa.innerHTML= "listo...";
}
}
conector.send(null); //como aun no se tratar el archivo, envio NULL porque no se que enviar jejeje
//conector.setRequestHeader( "Content-type", "multipart/form-data" );
//conector.setRequestHeader( "Connection", "close" );
//conector.setRequestHeader( "Content-length", buffer.length );
}
//-->
</script>

<style typ="text/css" rel="stylesheet">
<!--
#contenedor_upload
{
margin:auto;
//margin-bottom:4px;
//padding:3px;
width:250px;
//background-color:lightblue;
//border:solid #33ccff 1px;
font-family:"sans-serif";font-size:10px;
}

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

<body>
<?php
echo 
"Hola";
echo "<p>";
echo "<form method=\"POST\"  id=\"miformulario\" enctype=\"multipart/form-data\">";
echo "<input type=\"file\" id=\"miarchivo\"><br>";
echo "<input type=\"submit\" value=\"Enviar\" id=\"miboton\" onclick=\"enviar_datos();\">";
echo "</form>";

echo "<p>";
echo "<div id=\"contenedor_upload\">";
//echo "sección de Carga";
echo "</div>";

if( $_GET["subir"]==)
echo "<p>Ya podemos llegar aqui xD, aleluya !!..</p>";
echo "</p>";
?>

</body>
</html>
#582
PHP / Aprendiendo AJAX con PHP!!
25 Julio 2008, 20:25 PM
Hola:

Pues tengo solo unas 3 o 4 horas leyendo y testeando con AJAX para implementarlo en un sistema personal web, de entrada para probar mis conocimientos me platie un objetivo muy simple:

1- Crear una pagina con un formulario, que contenga un INPUT TEXT y un INPUT SUBMIT
2- Escribir algo en el INPUT TEXT y pulsar el INPUT SUBMIT.
3- Que ajax lo procese y escriba algo
4- Si el INPUT TEXT esta vacio que escriba "Escribe algo en la cajita";
5- Si el INPUT TEXT tiene algo, pues que escriba en la pagina lo que el usuario escribio.

Es todo, para esto escribi el code y no me funciona del todo :S, vaya, aun me siento un poco revuelto y no comprendo porque lo unico que hace es poner el texto "Cargando..." y desaparece, pero esto sucede en cuestion de segundos (1 segundos para ser exacto), como quien dice, muy apenas alcanzo a ver el texto de "Cargando", pero jamas logro que se escriba el texto que se introdujo en la cajita INPUT TEXT :S !!...

Por favor ayudenme a re-acomodar mis conocimientos y resolver mis errores que tenga el codigo... Aqui dejo el code:

Utilizo Firefox 3.0

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

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

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()
{
var conector, capa;

conector= ajax();
capa= document.getElementById('contenedor_upload');

conector.open( "POST", document.forms.miformulario.dato, true );
conector.onreadystatechange= function()
{
if( conector.readyState==1 )
capa.innerHTML= "Cargando...";
else if( conector.readyState==4 )
{
if( conector.state==200 )
capa.innerHTML= "listo...";
}
}
if(document.forms.miformulario.dato)
{
conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
conector.send(document.forms.miformulario.dato);
}
else
conector.send(null);
}
//-->
</script>

<style typ="text/css" rel="stylesheet">
<!--
#contenedor_upload
{
margin:auto;
//margin-bottom:4px;
//padding:3px;
width:250px;
//background-color:lightblue;
//border:solid #33ccff 1px;
font-family:"sans-serif";font-size:10px;
}
//-->
</style>
</head>

<body>
<?php
echo 
"Hola";
echo "<p>";
echo "<form method=\"POST\"  name=\"miformulario\">";
echo "<input type=\"text\" name=\"dato\">";
echo "<input type=\"submit\" value=\"Enviar\" onclick=\"enviar_datos();\">";
echo "</form>";

echo "<p>";
echo "<div id=\"contenedor_upload\">";
//echo "sección de Carga";
echo "</div>";
echo "</p>";
?>

</body>
</html>
#583
Sigo buscando porque no puedo leer mi feed directamente y pues me tope con la sorpresa que mi feed solo lo puedo leer con GoogleReader, pero vaya, quisiera que se pudiera leer de forma simple asi como la mayoria de los blogs y sitios !!

#584
Hola:

Escribi un pequeno modulo en PHP para mi sistema web, primero realize una prueba en mi hosting local (localhost, por Apache), y el generador RSS funciona a la perfeccion:

Acceso en este modo al RSS: http://localhost/miusername/rss.php

Y el codigo que tiene el rss.php es el siguiente:

<?
include( "modulos/modulos.php" ); //funciones para bases de datos y otras variables definidas
header('Content-Type: text/xml'); //indicamos al navegador que es un FeedRSS
echo '<?xml version=\'1.0\' encoding=\'UTF-8\'?>';  //version y juego de caracteres del documento
echo "<rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'>";
echo "<channel>";
echo "<title>". TITULO_WEB. "</title><description/>";
echo "<link>http://". $_SERVER['HTTP_HOST']. "/index.php</link>";

//consulto todas las noticias en orden conforme la FECHA de publicacion
$cons= consultar_enorden( "NOTICIAS", "FECHA" );

while( $buf= mysql_fetch_array($cons) )
{
echo "<item>";
echo "<guid isPermaLink='false'>http://". $_SERVER['HTTP_HOST']. "/index.php?ver=hoja=". $buf["ID"]. "</guid>";
echo "<atom:updated>". date( "Y-m-d", $buf["FECHA"] ). "T". date( "g:i:s", $buf["FECHA"] ). "</atom:updated>";
//echo "<category></category>";
echo "<title>". $buf["TITULO"]. "</title>";
echo "<description>". $buf["MENSAJE"]. "</description>";
echo "<link>http://". $_SERVER['HTTP_HOST']. "/index.php?ver=hoja=". $buf["ID"]. "</link>";
//echo '<content:encoded><![CDATA['. $buf[MENSAJE]. ']]></content:encoded>';
echo "</item>";
}

echo "</channel>";
echo "</rss>";
unset($buf);
unset($cons);
?>


Les repito, localmente el generador rss.php funciona muy bien y me muestra el feed del sitio sin problema alguno, pero al momento de probar mi generador rss en mi hosting publico (en internet) la hoja toma todo los estilo de un feed rss, solo que no muestra informacion alguna :S !!...

El link al feed rss en internet es: http://www.em-clanmoh.net/rss.php

Por otro lado, si se intenta ver el codigo fuente de la pagina HTML, se puede ver que notablemente estan escritas todas las noticias en el feed, mas no se pueden mostrar :S !!...

Nose si el problema sea yo, mi hosting o que onda ???....

bye bye
#585
PHP / Re: Sistema de usuarios
23 Julio 2008, 06:28 AM
Cita de: NaSaRiD15 en 22 Julio 2008, 20:44 PM
Para empezar gracias por la rapida respuesta, lo pienso hacer con base de datos porque no se crear una cookie, mi duda es como plantear
if (condicion para comprobar que el usuario este logueado)

Osea que codigo debo usar para que al mismo tiempo se compruebe el usuario y la contraseña pertenescan a  un mimso registro en la base de datos, no se si me explico?.

y el codigo para mostrar la pagina como deberia ser?, es con javascript? porque ni bien el usuario pusiera su login correcto automaticamente deberia ser llevado a la nueva pagina, osea como lo hago para que eso se de automaticamente.
Muchas gracias por tu respuesta y disculpa mi ignorancia.

Sinceramente mejor dejate de esperar ayuda de codigo y mejor ponte a estudiar PHP, porque lo que quieres hacer no es como comer PAN con CAFE, sino que un sistema de usuarios tiene su chiste y aparte si te consumira muchas horas :S...

Vaya hay que hacer esto:

:: Programar formulario de registro (ya sea que tu lo registres o ellos mismos)
:: Proteccion de variables y deteccion de errores del formulario de registro.
:: Programar un formulario donde se logearan.
:: Proteccion de variables y deteccion de errores del formulario de logeo.
:: Programar metodo de logeo (cookies o sesiones).
:: Conjunto de funciones para interactuar con la base de datos (insertar, actualizar, eliminar y consultas).
:: A todo lo mencionado, programar algunas funcionex extras para proteger el acceso y permitiendo siempre el acceso solo y unicamente al administrador.

A todo esto, sin mencionar aun si se te ocurre querer un sistemita para listar, buscar, eliminar y modificar usuarios existentes.

Ya si quieres que tengan su pagina personal, subir archivos, etc, etc... serian muchas horas mas de programacion....

Estamos hablando que un sistema de usuarios bien echo podria llevarte algunos 15 dias, asumiendo que programas 3 o 4 horas al dia, 5 dias de la semana (Lunes a Viernes).

Si no sabes programar en PHP y mucho menos conocer las funciones para MySQL, pues olvidate en hacer un sistema de usuarios, ya que no es algo sencillo.

Por otra parte si deseas aprender, puede empezar viendo este post.

#586
Sera que no me he explicado bien o que onda ??, vaya, lo que trato de hacer es algo exatamente igual a como si pusieramos un video youtube pero usando BBCode... Si se fijan un poquito, al contestar o poner un POST, aparece un icono con el logotipo de YOUTUBE y pone algo asi:

\[youtube=425,350\]\[/youtube\]

En fin, no es dificil poner eso, sino, como interpretarlo para que quede listo y visible el video ??

bye bye
#587
Cita de: Freeze. en 21 Julio 2008, 23:55 PM
Usa:

Código (php) [Seleccionar]

<?
    $_SERVER['HTTP_REFERER']
?>


De hecho en $_SERVER hay muchas otras opciones para que las agregues a tus estadisticas. ;)

Manana temprano probare la variable que me dices... Por otra parte, donde podria obtener informacion sobre los distintos valores que tene la variable $_SERVER, ya que solo conozco estas:

- $_SERVER['REMOTE_ADDR']; -> Ip del usuario
- $_SERVER['REMOTE_PORT'];  -> Puerto que usa el usuario para hacer peticiones de nuestra pagina
- $_SERVER['HTTP_USER_AGENT']; -> Informacion del Navegador
- $_SERVER['HTTP_ACCEPT_LANGUAGE']; -> Lenguaje del Navegador
- $_SERVER['HTTP_HOST']; -> Nombre del Host (vaya, nuestra pagina web)

#588
Hola:

Una vez lei por ahi (hace ya unos años), sobre alguna forma de obtener los datos del sitio de donde provenia un usuario, vaya, al parecer la informacion se guardaba en una variable que podia ser consultada desde PHP, y apartir de ahi, si el usuario (por ejemplo) estaba en: www.google.com y despues accedia a nuestra web, pues en dicha variable estaba guardada lo ultimo que visito el usuario (que seria google).

Quisiera saber si alguien me puede dar algun tipo o pista para saber donde buscar, esto me interesa para integrarlo a mi sistema de LOG en mi sitio web, y pues poder recaudar mas informacion y tener una mejor estadistica de: donde me visitan, si es de un afiliado, si es de una busqueda, si entra directo a mi pagina, etc....

Gracias por su atencion !!...

bye bye
#589
PHP / Re: Mis Funciones en PHP, by Diabliyo
19 Julio 2008, 19:30 PM
Consultas.

Bueno, he realizado un post a parte, porque esto de las consultas al principio se ve que con una sola o un par de funciones se puede hacer todo tipo de consultas, pero no es asi :D, es necesario minimo definir unas 4 funciones que conforme su experiencia y avance en algun proyecto de software veran la necesidad de crear mas funciones xD, aqui les hablare de varias funciones las cuales nos ayudaran a realizar cualquier cosa, vaya si emprendemos algun proyecto de software grande, estas funciones nos sacaran de muchos apuros.

Consultas Simple

Esta consulta sirve para realizar consultas comunes, simples y clasicas ;), utiiza dos argumentos que son:


  • $base_t
    Nombre de la tabla que vamos a manipular.
  • $valores
    Puede contener un '*' (para tomar todos los campos en la consulta) o bien las variables a consultas delimitadas por un ':' (ID:NOMBRE:DIRECCION:).

El parametro $valores es importante saberlo manipular, este puede ser manejado de dos formas: si solo se pasa un * (asterisco), entonces se asume que al consultarse en la tabla especificada, se tomaran todos los campos de la tabla. En cambio si solo y unicamente nos interesa saber los ID y NOMBRES de una tabla, entonces solo seteamos la variable $valores asi: ID:NOMBRE.

Código (php) [Seleccionar]
//consulta multiples valores a una Base de Datos. Donde los valores van delimitados
//por un ":" xD
function consultar( $base_t, $valores )
{
$link= conectar();

if( strchr( $valores, ":" ) ) //si existe el  :  tons ahi mas de 1 valor
{
$valores= str_replace( ":", ",", $valores ); //cambiamos el :  por  ,

if( !($resp= mysql_query( "select ". $valores. " from ". $base_t. ";", $link )) )
{
echo "<span id=\"letras_error\">Error 03: Problema para Realizar Movimiento/Consulta.";
echo mysql_error(). "</span>";
}
else
{
@mysql_close($link);
return $resp;
}
}
else if( !strcmp( $valores, "*" ) )
{
if( !($resp= mysql_query( "select * from ". $base_t. ";", $link )) )
{
echo "<span id=\"letras_error\">Error 03: Problema para Realizar Movimiento/Consulta.";
echo mysql_error(). "</span>";
}
else
{
@mysql_close($link);
return $resp;
}
}
else if( $valores ) //entonces solo se desea consulta 1 valor
{
if( !($resp= mysql_query( "select ". $valores. " from ". $base_t. ";", $link )) )
{
echo "<span id=\"letras_error\">Error 03: Problema para Realizar Movimiento/Consulta.";
echo mysql_error(). "</span>";
}
else
{
@mysql_close($link);
return $resp;
}
}
else
echo "<span id=\"letras_error\">Error 04: Problema para descifrar Datos para Realizar Consulta.</span>";

@mysql_close($link);
return "ERROR";
}


Este es un ejemplo de implementacion en codigo:

Código (php) [Seleccionar]
//vamos a mostrar todos los usuarios de nuestra tabla USUARIOS, pero solo mostraremos NOMBRE y DIRECCION.
$cons_user= consultar( "USUARIOS", "NOMBE:DIRECCION" );

while( $buf= mysql_fetch_array($cons_user) )
{
echo "<p>Nombre: ". $buf["NOMBRE"];
echo "<br>Direccion: ". $buf["DIRECCION"]. "</p>";
}

unset($buf);
unset($cons_user);
#590
PHP / Re: Mis Funciones en PHP, by Diabliyo
19 Julio 2008, 19:02 PM
Cita de: Hans el Topo en 19 Julio 2008, 11:25 AM
antes que nada decir que existe un post con chincheta para estos "truquillos/funciones"

http://foro.elhacker.net/php/pequenos_trucos_en_php-t152467.0.html

para conectar deberías de dejar la opción de enviar parámetros


function conectar($server=SERVER, $user=BASE_USR, $pass=BASE_PASS,$bd=BASE)
{
if( !($link= mysql_connect( "". $server. "", "". $user. "", "". $pass. "" )) )
{
echo "<span id=\"letras_error\">Error 01: Error para Conectarse a MySQL.<br>";
echo "Error en Usuario y/o Contrase&ntilde;a.<br>";
echo mysql_error($link). "</span>";
$link= "INSTALL";
}
else if( !mysql_select_db( "". $bd. "", $link ) )
{
echo "<span id=\"letras_error\">Error 02: Problemas para Tomar la Base de Datos.<br>";
echo "No se Encuentra la Base de Datos.<br>";
echo mysql_error($link). "</span>";
$link= "INSTALL";
}
return $link;
}


y para la insert ya que haces una función insert al menos valida los datos ...


por cierto existe un post

En aplicaciones extensas es incomodo ese tipo de funcion con argumentos, ya que en el ejemplo que yo pongo, utilizo variables definidas ya que todas las variables definidas las tendremos en un archivo aparte (ej: config.php), de este modo es mas facil redefinir los datos.

Por otro lado, si lo utilizamos asi como variables normales, en muchos servidores existira problemas para transportar las variables ($user, $pass, $base, etc..) debido a la configuracion que tienen todos los servidores actualmente (register_globals=off)...

Es mas, no vayamos muy lejos, trata de investigar como maneja las variables principales este foro, y veras que las variables principales (username_base, pass_base, host, base) estan definidas como variables definidas....

Las Variables definidas pueden ser portadas a cualquier variable y traerkas contigo como si fuesen globales, solo que en este caso el usuario jamas las pincharia !!

Por ultimo, no es que ya exista tema "parecido", sino que siempre es bueno tener una forma distinta a las que comunmente sabemos.... Por ejemplo tu manera de realizar la conexion, para mi no es eficiente y es un desperdicion de generacion de variables !!... Por cierto, los trucos que se mencionan ahi no son muchos y si los comparamos, son muy pocos para los que mencionare aqui ;)