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ú

Temas - Diabliyo

#136
PHP / Ayuda sobre Geolocalizacion !!
13 Febrero 2009, 16:16 PM
Hola:

Actualmente para implementar geolocalizacion utilizo una bae de datos de GeoIP, el cual en su archivo comprimido o descargable, incorpora un par de archivo que son:

geoip.inc. Posee las funciones basicas para mostrar el nombre del pais basandose en la IP del cliente.

GeoIP.dat. Posee las coordenadas o relaciones geologicas para determinar el pais de donde procede dicha IP mediante sus digitos que conforman la misma.

Bueno, actualmente ando buscando como obtener el Estado o Provincia de donde proviene una IP, he visto que otros sitios web proporcionan este servicio y me gustaria saber si esto es posible con GeoIP o con que herramienta ??

bye bye
#137
OneFloor es un proyecto latino, de codigo abierto, disponible en descarga directa desde su sitio oficial. Tengo ya casi un año desarrollando esta herramienta, parecida a lo que muchos conocemos como CMS (Content Management System), pero incluyendole ciertas novedades que lo hacen mas: atractivo, singular, estable, acojible, modificable y sobre todo en un idioma en espanol en todo su codigo fuente.

Me dirijo a este foro, para invitarlos a colaborar con este proyecto, actualmente tengo como 15 dias que saque una version estable y segura, aparte tambien tengo el mismo tiempo de que abri un sub-dominio al proyecto para formalizarlo de una mejor manera.

Para los que aun no entiendan la funcion, vision y objetivo de OneFloor, les paso a dejar una pequenita explicacion:

CitarSistema base para proyectos en PHP, con la finalidad de facilitar la creacion de aplicaciones y desarrollo de proyectos robustos en php, onefloor pretende ser el primer escalon para la creacion de proyectos, basandose en la lectura de modulos re-programados por ti mismo y carga automatica de los mismos.

Onefloor proporciona una mejor manera y mas personalizada para adaptar temas al software, y permitiendote personalizar la carga de otras cosas como:

- estilos CSS.
- Meta Tags.
- AJAX Scripts.
- javascript Scripts.
- PHP Special Functions.
- etc...

Cualquier colaboracion, reporte de bug, arreglo de bug, diseno de tema, idea, propuesta o cualquier inquitud para mejorar el software, es bienvenida :D !!...

Dejo el enlace al proyecto OneFloor:

http://onefloor.sie-group.net/
CHANGELOG: http://onefloor.sie-group.net/CHANGELOG
LEEME: http://onefloor.sie-group.net/LEEME
BUGTRACK: http://onefloor.sie-group.net/BUGTRACK

Gracias por su tiempo !!...

#138
Hola:

Tengo un sistema que envia correos, pero estoy interesado en saber como puedo agregarle un archivo adjunto al correo que deseo enviar ???..

El codigo que utilizo para enviar correos es:

Código (php) [Seleccionar]
function enviar_correo( $to, $asunto, $modo, $enlace )
{
//titulo del correo
$subject=$asunto;

if( $modo==0 ) //enviar correo para comentarios
{
//Cuerpo o contexto del mensaje, la esencia del correo, el todo ;)
$cuerpo= "Han publicado un nuevo comentario en <b>". $_SERVER['HTTP_HOST']. "</b>.<br>Enlace al tema: ";
$cuerpo .= "<b></b><a href=\"". $enlace. "\" target=\"_blank\">". $enlace. "</a></b>";
}
else if( $modo==4 ) //enviar correo de recuperacion de datos del usuario
{
$cuerpo= "<b>Sistema de Recuperacion de Datos.</b>";
$cuerpo .= "<p>Te informamos que hemos obtenido una solicitud de datos de tu cuenta en nuestra pagina <b>". $_SERVER['HTTP_HOST']. "</b>, con motivos de ";
$cuerpo .= "<b>recuperacion de usuario y password</b> dicha solicitud provino de:";
$cuerpo .= "<p>IP: <b>". $_SERVER['REMOTE_ADDR']. "</b><br>";
$cuerpo .= "Nombre Host: <b>";
//obteniendo nombre del host
$info= gethostbyaddr($_SERVER['REMOTE_ADDR']);
if( strcmp( $info, $_SERVER['REMOTE_ADDR']) )
$cuerpo .= $info;
else $cuerpo.= "<b>no se pudo obtener</b>";
unset($info);

$cuerpo .= "</b><br>";
$cuerpo .= "Fecha: <b>". date( "d/m/y", time() ). " a las ". date( "g:i a", time() ). "</b>";
$cuerpo .= "<p>Los datos solicitados referentes a tu cuenta son:";

$x= explode( "|", $enlace );
$cuerpo .= "<p><b>Username: </b>". $x[0];
$cuerpo .= "<br><b>Password: </b>". $x[1];
unset($x);
}
//y mas modos....

//Tag del Robot :: "No contestar al mail"
$cuerpo .= "<p>Este mensaje fue generado automaticmanete por nuestro sistema web, asi que no es necesario contestar este correo.";
$cuerpo .= "<p>". TITULO_WEB. "<br>http://". $_SERVER['HTTP_HOST'];

//cabeceras para enviar correo en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ". TITULO_WEB. "<robot@sie-group.net>\r\n"; //correo del que lo envia

//funcion para enviar correo
if( mail($to, $subject, $cuerpo, $headers) == FALSE )
return 0;
return 1;
}
#139
PHP / Problemas con envio de correos en php !!
14 Noviembre 2008, 19:31 PM
Que tal..

Realize un pequeno sistema para:

- guardar correos por grupos
- guardar correos en lugares independientes (grupos distintos)
- enviar correos a grupos
- enviar correos a direcciones independientes

Actualmente uno de los grupos donde contengo correos a crecido demasiado :S, y cuando le doy Enviar Correos a dicho grupo (contiene todos los destinatarios) la pagina se queda enviando correos y de repente como que el script se frena o simplemente ya no responde, vaya, ya no pone nada en la pantalla, ya sea "Correos enviados" o  bien "Problemas para enviar correos".

Cuando realize el proceso de codificacion de mi sistema me asegure de implementar la funcion set_time_limit(segundos), para aumentar el tiempo de ejecucion del script, estableciendolo a 5 minutos (set_time_limit(300);), pero aun asi el codigo es frenado :(...

Mi sistema esta funcionando en un hosting en internet (el cual estoy rentando).

Por otro lado, en mi servicio de hosting siempre me posicionan en mi directorio de raiz el archivo php.ini el cual posee ya variables configuradas y pues me imagino que lo posicionan hay para que yo pueda variar dicha informacion, de modo que segun la modificacion solo agrege esto: max_execution_time 300, pero aun asi el script no puede terminar de enviar correos :(.

Aqui dejo el php.ini que tengo en el directorio de raiz del servidor:

register_globals = off
allow_url_fopen = off

expose_php = Off
max_input_time = 300
max_execution_time = 300
variables_order = "EGPCS"
extension_dir = ./
upload_tmp_dir = /tmp
precision = 12
SMTP = relay-hosting.secureserver.net
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

[Zend]
zend_extension=/usr/local/zo/ZendExtensionManager.so
zend_extension=/usr/local/zo/4_3/ZendOptimizer.so

[browscap]
browscap = php_browscap.ini


Aqui un pedazo del codigo de mi sistema para envio de mails"

Código (php) [Seleccionar]

//verifica que los correos y grupos sean validos, a su vez les realiza el proceso de verificacion de dominio, quita
//los espacios, asegura que el texto este en minusculas (lo convierte),etc...
//Si todo tuvo exito, retorna todos los correos delimitados por una coma
if( ($mail_dest=verificar_correos_grupos( proteger_cadena($_POST["publicidad_redactar_emaildestino"]) )) )
{
set_time_limit(600); //10 minutos

if( strchr($mail_dest, ",") ) //si contiene coma, existen mas mails
{
$x_mails= explode( ",", $mail_dest ); //dividimos

for( $i=0; $i<sizeof($x_mails); $i++ ) //ciclo para recorrer toda la lista
{
if( strchr($x_mails[$i], "@") ) //si existe un arroba es mail directo
enviar_correo( $x_mails[$i], proteger_cadena($_POST["publicidad_redactar_titulo"]), 6, proteger_cadena($_POST["publicidad_redactar_codigo"]) );
else //es un grupo
{
$grupo_id= consultar_datos_general( "PRIVILEGIOS", "NOMBRE='". $x_mails[$i]. "'", "ID"); //obtenemso ID apartir del nombre de grupo
$cons_lista= consultar_con( "LISTA_CORREOS", "GRUPO='". $grupo_id. "'" ); //obtenemos todos los correos del grupo
while( $buf_lista=mysql_fetch_array($cons_lista) ) //recorriendo el buffer
enviar_correo( $buf_lista["EMAIL"], proteger_cadena($_POST["publicidad_redactar_titulo"]), 6, proteger_cadena($_POST["publicidad_redactar_codigo"]) );

unset($cons_lista);
unset($buf_lista);
unset($grupo_id);
}
}
unset($x_mails);
}
else //solo es un destinatario o grupo
{
if( strchr($mail_dest, "@") ) //si existe un arroba es mail directo
enviar_correo( $mail_dest, proteger_cadena($_POST["publicidad_redactar_titulo"]), 6, proteger_cadena($_POST["publicidad_redactar_codigo"]) );
else //es un grupo
{
$grupo_id= consultar_datos_general( "PRIVILEGIOS", "NOMBRE='". $mail_dest. "'", "ID"); //obtenemso ID apartir del nombre de grupo
$cons_lista= consultar_con( "LISTA_CORREOS", "GRUPO='". $grupo_id. "'" ); //obtenemos todos los correos del grupo
while( $buf_lista=mysql_fetch_array($cons_lista) ) //recorremos el buffer
enviar_correo( $buf_lista["EMAIL"], proteger_cadena($_POST["publicidad_redactar_titulo"]), 6, proteger_cadena($_POST["publicidad_redactar_codigo"]) );

unset($cons_lista);
unset($buf_lista);
unset($grupo_id);
}
}

//esto es solo como metodo estadistico, se agrega un incremente a diho grupo que se
//le ha enviado un correo
$trama= array(
"id"=>"'". $_GET["id_send"]. "'",
"hit"=>"'". (consultar_datos_general("PUBLICIDAD", "ID='". $_GET["id_send"]. "'", "hit")+1). "'"
);
actualizar_bdd( "PUBLICIDAD", $trama );
unset($trama);

set_time_limit(30); //30 segundos
echo "Publicidad enviada con exito...";
}
else
echo "Error: verifique los destinatarios.";

echo "<p><input type=\"submit\" value=\"Continuar\" class=\"boton_01\" onclick=\"cargar_datos( 'id=". $_GET["id"]. "&mov=ver', 'tabla_publicidad_lista', 'GET', '0' );\"> ";


Que podria hacer para poder completar el envio de mails a todos los contenedores ???

bye bye
#140
Que tal, abro el tema para preguntarles sobre el procedimientos necesario para intercambio informacion, archivos, musica, juegos, etc, etc entre un dispositivo USB Bluetooth y un Dispositivo Movil.

Utilizo Gentoo AMD64 200.8, tengo instaladas las librerias BlueZ y solo logro realizar lo siguiente:

1- Inicializar la USB Bluetooth
shell# hciconfig
//muestra los dispositivos bluetooth conectados a mi equipo de computo

shell# hciconfig hci0 up //activo mi dispositiv bluetooth


2- Escaneo para descubrir nuevos dispositivos bluetooth.
shell# hcitool scan
//proporciona informacion como:
//MAC_DEL_DISPOSITIVO   NOMBRE_DISPOSITIVO


A partir de aqui me gustaria saber como puedo en dado momento transferir informacion de mi USB Bluetooth hacia a mi celular :D.

He leido en algunos blogs sobre la herramienta obexftp (la cual poseo instalada), y he realizado algunos pasos que se mencionan pero no logro realizar una transferencia con exito :(.

Estos Manuales he leido:

Bluetooth-Linux
Bluetooth y Linux Ubuntu
Montando una Red Bluetooth en Linux

#141
Hola:

Que tal... Como bien sabemos, la publicidad de Google actualmente es un recurso que muchos webmasters utilizan para obtener ingresos en sus sitios web mediante click e impresiones de anuncios, pero lo que me llama la atencion es que con simplemente pegar un script de javascript en el area donde apareceran los anuncios, este de alguna forma hace que los anuncios de google (almacenados en la base de datos de google, me imagino..) se despliegen en tu sitio web como si estuviesen en tu propia base de datos.

Tratando de alguna forma emular este procedimiento y utilizando mi Servidor Local apache, en el espacio http://localhost/~diabliyo/ coloque un script (index.php) que solamente imprime una imagen, posteriormente en el espacio web http://localhost/~pruebas/ realize el siguiente script:

Código (html4strict) [Seleccionar]
<html>
    <head>
    <title>Test de Publicidad Local</title>
    </head>

    <body>
    <script language="javascript" type="text/javascript" src="http://localhost/~diabliyo/index.php"></script>
    </body>
</html>


Como bien saben, simplemente no sucedio nada :D. Asi que en base a mi explicacion me gustaris obtener mas opiniones :D !!

Gracias por su tiempo !!

bye bye
#142
Bases de Datos / Tipos de Datos en MySQL !!
30 Septiembre 2008, 18:42 PM
Utilizando PHP y MySQL, realize un sistema de productos, y originalmente esta es mi tabla donde inserto mis productos:

create table PRODUCTOS(
     ID bigint not NULL,
     NOMBRE varchar(100) not NULL,
     TIPO int not NULL,
     sección varchar(50) not NULL,
     CATEGORIA varchar(50) not NULL,
     FECHA text not NULL,
     primary key(id)
     );


Con esa tabla puedo insertar ID's de tipo enteros, pero me he topado con la necesidad de insertar ID's de este tipo: M550, y pues me da error debido a que M550 no es tipo INT :S.

Como seria mas conveniente declarar el campo ID para que acepte valores enteros y enteros con caracteres ??...

bye bye
#143
EDITADO...

Hola:

En la mayoria de mis sistemas web utilizo un par de funciones que me simplifican el trabajo de la paginacion, estas son las funciones:

selector_paginacion() :: Esta funcion genera los numeros de hojas/paginas a mostrar, con ella se manejan diversos argumentos para hacer esta funcion multifuncional y portable.
Código (php) [Seleccionar]
<?php
function selector_paginacion$base$minimo$hoja_actual$enlace$ajax_enlace$capa_ajax )
{
$consconsultar$base"*" ); 

//si existe el numero de registros 'minimo' +1, entonces se producira la paginacion
if( mysql_num_rows($cons)>$minimo )
{
echo "<div id=\"paginacion\">";
$rollceil(mysql_num_rows($cons)/$minimo); //total_registros/minimo

if( !strcmp$ajax_enlace"0") ) //Enlaces normales HTML/PHP
{
if( $hoja_actual>)
echo "<a href=\""$enlace"&pagina=". ($hoja_actual-1). "\">";

echo "<img src=\"../admin/imagenes/flecha_izquierda.png\" border=\"0\">";

if( $hoja_actual>)
echo "</a>";
for( $i=0$i<$roll$i++ )
{
echo " ";
if( $i==($hoja_actual-1) )
echo "<span style=\"background-color:white;\">". ($i+1). "</span>";
else echo "<a href=\""$enlace"&pagina=". ($i+1). "\"><span>". ($i+1). "</span></a>";
}
echo " ";

if( $hoja_actual<$roll )
echo "<a href=\""$enlace"&pagina=". ($hoja_actual+1). "\">";

echo "<img src=\"../admin/imagenes/flecha_derecha.png\" border=\"0\">";

if( $hoja_actual<$roll )
echo "</a>";
}


else //enlaces AJAX
{
if( $hoja_actual>)
echo "<a href=\"#\" onclick=\"cargar_datos( '"$ajax_enlace"&pagina=". ($hoja_actual-1). "', '"$capa_ajax"', 'GET', '0' );\">";

echo "<img src=\"../admin/imagenes/flecha_izquierda.png\" border=\"0\">";

if( $hoja_actual>)
echo "</a>";
for( $i=0$i<$roll$i++ )
{
echo " ";
if( $i==($hoja_actual-1) )
echo "<span style=\"background-color:white;\">". ($i+1). "</span>";
else echo "<a href=\"#\" onclick=\"cargar_datos( '"$ajax_enlace"&pagina=". ($i+1). "', '"$capa_ajax"', 'GET', '0' );\"><span>". ($i+1). "</span></a>";
}
echo " ";

if( $hoja_actual<$roll )
echo "<a href=\"#\" onclick=\"cargar_datos( '"$ajax_enlace"&pagina=". ($hoja_actual+1). "', '"$capa_ajax"', 'GET', '0' );\">";

echo "<img src=\"../admin/imagenes/flecha_derecha.png\" border=\"0\">";

if( $hoja_actual<$roll )
echo "</a>";
}

unset($i);
unset($roll);
echo "</div>";
}

unset($cons);
}
?>


paginacion() :: esta funcion procesa la paginacion, brindando deteccion de errores o acceso a paginas inexistentes :D !!!

Código (php) [Seleccionar]
function paginacion( $pagina, $base, $minimo )
{
$cons= consultar( $base, "*" );

//si existen suficientes registros
if( mysql_num_rows($cons)>$minimo )
{
$max_paginas= ceil(mysql_num_rows($cons)/$minimo); //num. de paginas totales
//echo "<script language=\"javascript\" type=\"text/javascript\">alert('". $max_paginas. "');</script>";

//si estamos en el rango, entonces la consultar es favorable y no estan alterando la consulta
if( $pagina>1 && $pagina<($max_paginas+1) )
return $pagina;
}
return 1;
}


Mi Pregunta es: en la funcion selector_pagina() genero el numero de hojas, pero actualmente tengo mas de 20 hojas y se me ha echo un amontonadero :S, como logro re-paginas las hojas, permitiendo visualizar solo un rango de 10 hojas, ya si existen mas de 10 hojas poder pasar de hoja en hoja sin que se sature la barra donde se muestran las hojas :S !!??

#144
Tengo una aplicacion web casi completada, solo me falta la parte de RESPALDOS, en esta parte tengo la idea de que el usuario con solo presionar un boton se realize un respaldo de todas las tablas y valores de la Base de Datos existente.

Estoy iniciando a codificar el script pero no logro obtener los nombres de las tablas :S, vaya, para obtener el contenido de cada tabla solamente utilizo mysql_query() y meto toda la consulta a un mysql_fetch_array(). Pero no encuentro como obtener los nombres de las tablas ?? (show tables;)...

Alguna idea ??...

Código (php) [Seleccionar]
<?php
if( !strcmp($_GET["set"], "generar_respaldo") ) //genera un nuevo respaldo
{
$filefopen"backups/respaldo_"date"dmy"time() ). ".mysql""w" );
$linkconectar();

fputs$file"#################################################\n" );
fputs$file"#########\tTABLAS DEL SISTEMA\t#########\n" );
fputs$file"#################################################\n" );

//escribiendo tablas :: No tengo idea como obtener los NOMBRES de las TABLAS :(
//while( $buf= mysql_fetch_array( mysql_query( "show tables;", $link ) ) )
// fputs( $file, "create table ". $buf. "\n" );
//unset($buf);

fputs$file"\n#########################################################\n" );
fputs$file"#########\tINFORMACION DE LAS TABLAS\t#########\n" );
fputs$file"#########################################################\n" );

//mysql_close($link);
fclose($file);

echo "Respaldo Generado con exito.";
}
?>


bye bye
#145
Hola:

Actualmente en mi sistema web utilizo GeoIP para geolocalizar el pais del cual proviene la IP visitante, pero quisiera saber si exista alguna libreria o como podria realizar una geolocalizacion un poco mas detallada, vaya, me gustaria poder obtener no solo el pais, sino tambien el estado/provincia y ciudad/region.

Creo que esto SI es posible, ya que he visto aplicaciones como http://feedjit.com/, que proporciona una geolocalizacion mas detallada de una IP, proporcionando PAIS, ESTADO/PROVINCIA, CIUDAD/REGION.

Gracias por su atencion antemano :D !!

#146
Hola:

Estoy realizando un sistema para vender cosas, asi que en el apartado de VENTAS tengo un formulario un poco amplio en donde se doy escojer el tipo de venta, datos del cliente y finalmente una capa GRANDE (contenedor) en donde voy poniendo los articulos/productos que va comprando el cliente. Utilizando AJAX compruebo la existencia del Cliente que desea comprar o bien en el caso que no exista pongo un formulario para que puedan registrarlo a la vez que esta comprando.

Mi idea es que en la capa GRANDE (contenedor de los productos) poderla refrescar sin necesidad de dar click, vaya, que se ejecute una funcion de AJAX cada ciertos segundos...

Como podria ejecutar una funcion de AJAX cada cierto tiempo ???...

NOTA: toda mi aplicacion esta echa con PHP y solo utilizo AJAX para listar, buscar y generar datos rapidos sin refrescar. Para esto utilizo una sola funcion de AJAX, la cual llamo cargar_datos();, mediante eventos onclick, onchnage o onsubmit

bye bye
#147
Utilizo GNU/Linux y actualmente uso avidemux para codificar, cortar, unir, agregar subtitulos, efectos, etc... a mis videos,  etc...

Quiero agregar un logotipo en el video, tipo como el que se ve cuando ves la television, seria un logotipo pequeno que este hubicado en una esquina del video (superior derecha), en avidemux la opcion esta disponible directamente como Filtro para el video a codificar, el problema es que siempre que inserto la imagen se visualiza con fondo blanco :S... Y la imagen que inserto esta echa sobre un fondo transparente, pero aun asi sigue viendose con fondo blanco una ves montada.

Alguien tiene alguna idea ??...

NOTA: evitense la molestia de recomendarme programas de windows o explicaciones, ya que no las tomare en cuenta porque no utilizo ese sistema operativo.

bye bye
#148
Hola:

Como bien sabemos AJAX por lo general realiza el procesamiento de los datos ya bien sobre la mismia hoja PHP donde estamos trabajando o bien sobre una nueva hoja PHP, eso dependiendo las neecsidades, pero el metodo que he optado yo es procesar las llamadas a AJAX usando una hoja php llamada AJAX.php, en esta hoja proceso todas las variales enviadas mediante el stream GET o POST, segun se indique en la misma funcion con la que llamo a AJAX.

La funcion que utilizo actualmente para procesar datos comunes e inputs/select/textarea de un formulario (vaya tipo POST) es:

SCRIPT.JS
Código (javascript) [Seleccionar]
//Funcion para obtener conector AJAX
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;
}

//El argunmento 'vars' contiene las variables que procesara la hoja AJAX.PHP
//El argumento 'capaview' es la capa en donde escribiremos los resultados
//El argumento 'flujoddatos; indica el flujo: GET o POST
//El argumento 'varsform' posee una trama de caracteres delimitadas por un  :  (dos puntos), esta trama serian los nombres de las variables del formulario (input's, select's, textare's, etc...)
function cargar_datos( vars, capaview, flujoddatos, varsform )
{
var conector, capa, url;

url= 'ajax.php'; //mis funciones para ajax
capa= document.getElementById(capaview); //capa

conector= ajax(); //funcion que crea el objeto ajax para el navegador
conector.open( flujoddatos, url+'?'+vars, true ); //abrimos el flujo de datos
conector.onreadystatechange= function() //funcion que indica estado y responde
{
if( conector.readyState==1 ) //cargando
{
capa.innerHTML= "<center><img src='imagenes/loading.gif'><br><b>CARGANDO...</b></center>";
}
else if( conector.readyState==4 ) //proceso completado
{
if( conector.status==200 ) //completado con exito
{
if( varsform!=0 ) //si estamos procesado variables de un formulario, establecemos Request
conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
capa.innerHTML= conector.responseText;
}
else if( conector.status==404 ) //no se encontro hoja
{
capa.innerHTML= "<center><img src='imagenes/404.png'></center>";
}
else //error
{
capa.innerHTML= conector.status;
}
}
}

if( varsform!=0 ) //si el argumento es distinto de 0, entonces estamos enviando trama de variables
{
var myarr= varsform.split(':'); //dividimos
var trama=""; //establecemos
var i=0; //contador de ciclo

for( i=0; i<(myarr.length); i++ ) //ciclo
{
if( i>0 )
trama += "&";
trama += myarr[i]+"="+document.getElementById(myarr[i]).value;
}

conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); //establecemos request
conector.send(trama); //enviamos la trama
}
else
conector.send(null); //enviamos NULL en caso que solo se procesan variables normales
}


INDEX.PHP
Código (php) [Seleccionar]
<html>
<head>
<title>Proceando Formulario con AJAX dentro de la hoja comun</title>
<script language="javascript" type="text/javascript" src="script.js"></script>
</head>

<body>
<?php
echo "<div id=\"area_box\">";

echo 
"<form action=\"#\" method=\"POST\" onsubmit=\"cargar_datos( 'id=saludo', 'area_box', 'POST', 'nombre:mensaje' );\" enctype=\"multipart/form-data\">";
     echo 
"Nombre: <input type=\"text\" name=\"nombre\" id=\"nombre\">";
     echo 
"Mensaje:<br>";
     echo 
"<textarea name=\"mensaje\" id=\"mensaje\"></textarea><br>";
     echo 
"<input type=\"file\" name=\"imagen\" id=\"imagen\"><br>";
     echo 
"<input type=\"submit\" value=\"Enviar\" onsubmit=\"cargar_datos( 'id=saludo', 'area_box', 'POST', 'nombre:mensaje' );\">";
echo 
"</form>";

echo 
"</div>";
?>

</body>
</html>


AJAX.PHP
Código (php) [Seleccionar]
<?php
if( !strcmp$_GET["id"], "saludo" ) )
     {
     
//gracias a la funcion de AJAX que tenemos, podremos enviar variables y tratarlas como POST directamente

     
echo "Tu nombre: "$_POST["nombre"];
     echo 
"<br>Tu mensaje: "$_POST["mensaje"];
     
     
//como imprimo el nombre de la imagen ??
     
echo "<br>Nombre de la Imagen: "$_FILES["imagen"]["name"];
     }
?>


CUAL ES MI PROBLEMA ??
Pues actualmente me he asurgido la necesidad de procesar un input tipo FILE, asi que no he dado con la manera correcta para procesar en AJAX un formulario pero en este caso, procesar el input file :S !!...

Alguna idea ??...
#149
PHP / Problema con variables y AJAX !!
7 Agosto 2008, 01:38 AM
POST EDITADO (13 Agosto 08)
Hola:

Cierta parte de mi aplicacion trata de Agregar Productos a la BDD, para esto el formulario es cargado desde el mismo INDEX.PHP, de modo que parte importante del formulario es poder ubicar en una sección de alguna Categoria existente, he aqui donde entra la ayuda de AJAX.

Basicamente AJAX me ayudara a generar rapidamente (sin refrescar la hoja) un nuevo select en donde estaran las Secciones, para esto en el select de las Categorias colocare la funcion de ajax mediante onchange. Esto no me trae ningun problema, ya que una vez seleccionada la Categoria del select, inmediatamente se carga otro select con las Secciones correspondientes a dicha Categoria elejida.

El Problema surge al enviar el formulario (presionar el botn enviar), este boton realiza una accion del formulario enviando todo hacia la direccion index.php?id=productos&mov=agregar_producto, vaya esto ya es puro PHP, AJAX solo nos ayudo a generar el SELECT de Secciones, asi que, al momento de ir a agregar_producto, no logro recepcionar el contenido del select generado con ajax.

Basicamente aqui utilizo dos select que son: Categorias y Secciones, la variable donde porto el contenido de Categorias es categoria_productos y la variable donde porto las Secciones son: seccion_producto.

De modo que $_POST["seccion_producto"] no se genera o nose que sucede :S, pero no obtengo el valor de dicha variable.

Utilizo Gentoo Linux, Apache y Firefox-3.

Para una mejor ilustracion aqui dejo mi codigo resumido:

INDEX.PHP
Código (php) [Seleccionar]
<?php
switch( $_GET["mov"] )
{
case 'agregar_producto':
echo "Categoria: "$_POST["categoria_producto"];
echo "<br>sección: "$_POST["seccion_producto"];
echo "<br>POST: "count($_POST);
echo "<br>";
print_f($_POST); 
break;
default:
echo "<form action=\"index.php?id="$_GET["id"]. "&mov=agregar_producto\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "<div id=\"formulario_producto_nuevo\">";
echo "Tipo de Prod.: <input type=\"radio\" name=\"tipo_producto\" value=\"1\" checked onclick=\"cargar_datos( 'id="$_GET["id"]. "&mov=agregar_producto', 'formulario_producto_nuevo_lista', 'GET', '0' );\"> Normal";
echo "<input type=\"radio\" name=\"tipo_producto\" value=\"2\" onclick=\"cargar_datos( 'id="$_GET["id"]. "&mov=agregar_producto&ver=1', 'formulario_producto_nuevo_lista', 'GET', '0' );\">Kit<br>";
echo "ID: <input type=\"text\" name=\"id_producto\"><br>";
echo "Cantidad: <input type=\"text\" name=\"cantidad_producto\" style=\"width:50px;\"> ";
echo "<select name=\"unidad_medida_producto\" style=\"width:120px;\">";
echo "<option value=\"error\"></option>";

$consconsultar_enorden"UNIDADES_MEDIDA""ID" );
while( $bufmysql_fetch_array($cons) )
echo "<option>"$buf["NOMBRE"]. "/"$buf["NOTACION"]. "</option>";
unset($buf);
unset($cons);
echo "</select>";
echo "<br>";
echo "Nombre del Prod.: <input type=\"text\" name=\"nombre_producto\"><br>";
echo "Precio Publico: <input type=\"text\" name=\"preciopublico_producto\"><br>";
echo "Categoria: <select name=\"categoria_producto\" onchange=\"cargar_datos( 'id="$_GET["id"]. "&mov=mostrar_secciones&categoria_id='+this.value, 'mostrar_secciones', 'GET', '0' );\">";
echo "<option value=\"error\"></option>";

$consconsultar_enorden"MENUS""ID" );
while( $bufmysql_fetch_array($cons) )
echo "<option value=\""$buf["ID"]. "\">"$buf["NOMBRE"]. "</option>";
unset($buf);
unset($cons);

echo "</select>";
echo "<div id=\"mostrar_secciones\"></div>";
echo "Descripcion:<br>";
echo "<textarea name=\"descripcion_producto\"></textarea><br>";
echo "<span style=\"font-size:10px;\">Solo se permite adjuntar imagenes: <b>*.jpg</b>, <b>*.png</b> y <b>*.gif</b>.</span>";
echo "<div id=\"formulario_producto_nuevo_imagenes\">";
echo "<input type=\"file\" name=\"imagen_productos01\" style=\"font-size:9px;\">";
echo "<input type=\"file\" name=\"imagen_productos02\" style=\"font-size:9px;\">";
echo "</div>";
echo "</div>";

echo "<div id=\"formulario_producto_nuevo_lista\">";
echo "</div>";
echo "<center>";
echo "<input type=\"submit\" value=\"Guardar Producto\" style=\"text-align:center;border:solid 1px black;font-family:verdana;font-size:12px;font-weight:bold;\">";
echo "</center>";
echo "</form>";
break;
}
?>



AJAX.PHP
Código (php) [Seleccionar]
<?php
/*####################################
###### MOSTRAR SECCIONES #####
## Muestra secciones en capa ##
######################################*/

else if( !strcmp$_GET["mov"], "mostrar_secciones") )
{
$xconsconsultar_con"MENUS""ID='"$_GET["categoria_id"]. "'" );
$xbufmysql_fetch_array($xcons);
unset($xcons);
$cons_secconsultar_enorden_con"SECCIONES""RELACION='"$xbuf["NOMBRE"]. "'""ID" );
unset($xbuf);

echo "Secciones: <select name=\"seccion_producto\">";
echo "<option value=\"error\"></option>";
while( $buf_secmysql_fetch_array($cons_sec) )
echo "<option value=\""$buf_sec["ID"]. "\">"$buf_sec["NOMBRE"]. "</option>";
echo "</select>";

unset($buf_sec);
unset($cons_sec);
}
?>



SCRIPT.js
Código (javascript) [Seleccionar]
//Funcion para obtener conector AJAX
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 cargar_datos( vars, capaview, flujoddatos, varsform )
{
var conector, capa, url;

url= 'ajax.php'; //mis funciones para ajax
capa= document.getElementById(capaview);

conector= ajax();
conector.open( flujoddatos, url+'?'+vars, true );
conector.onreadystatechange= function()
{
if( conector.readyState==1 )
{
capa.innerHTML= "<center><img src='../admin/imagenes/loading.gif'><br><b>CARGANDO...</b></center>";
}
else if( conector.readyState==4 )
{
if( conector.status==200 )
{
if( varsform!=0 )
conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
capa.innerHTML= conector.responseText;
}
else if( conector.status==404 )
{
capa.innerHTML= "La pagina que intentas cargar no existe...";
}
else
{
capa.innerHTML= conector.status;
}
}
}
//conector.setRequestHeader( "Content-Type", "multipart/form-data" );
if( varsform!=0 )
{
var myarr= varsform.split(':'); //dividimos
var trama="";
var i=0;

for( i=0; i<(myarr.length); i++ )
{
if( i>0 )
trama += "&";
trama += myarr[i]+"="+document.getElementById(myarr[i]).value;
}
alert(trama);

conector.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
conector.send(trama);
}
else
conector.send(null);
}
#150
Cambiando un poco, estuve replanteando un pequeno ejemplo para aprender un poco mas sobre el manejo y la logica de AJAX, porfavor alguien puede explicarme el porque del siguiente problema:

Porque al pusar cualquier opcion del menu horizontal se queda escrito en la pagina los mensajes de: "Estamos procesando su peticion..." y "Cargando..." y jamas se muestra la informacion que quiero :S ??...

Codigo de index.php:

Código (php) [Seleccionar]
<html>
<head>
<title>Carter System :: Sistema para Control de Cliente</title>
<link rel="stylesheet" type="text/css" href="css/estilos.css">
<script language="javascript" type="text/javascript" src="js/script.js"></script>
</head>

<body>
<?php
//division principal de toda la hoja
echo "<div id=\"principal\">";
echo "<div id=\"tag_sistema\">";
echo ":: Carte v1.0 - Sistema para Control de Clientes.";
echo "</div>";
echo "<div id=\"menu_controles\">";
echo "<a href=\"javascript:cargar_datos( '"$_SERVER['HTTP_HOST']. "/~diabliyo/index.php?id=inicio', 'area_work', 'menu_controles' );\">Inicio</a> | ";
echo "<a href=\"javascript:cargar_datos();\">Clientes</a> | ";
echo "Deudores | ";
echo "Acredores | ";
echo "Salir";
echo "</div>";
echo "<div id=\"recuadro_mensajes\"></div>";

echo "<div id=\"area_work\">";
switch( $_GET["id"] )
{
case 'inicio';
echo "Hola que onda";
break;
}
echo "</div>";
echo "</div>";
?>

</body>
</html>


Codigo del script.js

Código (javascript) [Seleccionar]
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 cargar_datos( url, capadatos, capaconsola )
{
var control, msg_datos, msg_consola;

msg_datos= document.getElementById(capadatos);
msg_consola= document.getElementById(capaconsola);

control= ajax(); //creamos conector
control.open( "GET", url );
control.onreadystatechange= function()
{
if( control.readyState==1 )
{
msg_consola.innerHTML= "Estamos procesando su peticion...";
msg_datos.innerHTML= "Cargando...";
}
else if( control.readyState==4 )
{
if( control.status==200 )
msg_datos.innerHTML= control.responseText;
}
}

control.send(url);
}
#151
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>
#152
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
#153
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
#154
PHP / Mis Funciones en PHP, by Diabliyo
19 Julio 2008, 03:01 AM
Que tal, pues dedicare este post para platicarles y mostrarles el codigo que utilizo en la mayoria de mis aplicaciones web en php, estas aplicaciones podran ser utilizadas en cual quier aplicacion personal ya que estan pensadas con la finalidad de ahorrar codigo y hacer un software mas rapido.

En este primer post mencionare unicamente el indice, he ire agregandole los sub-temas (segun el nombre de la funcion) al indice, para evitar hacer todo en un mismo POST.

Por otra parte, sientanse libres de criticar, aportar, modificar mis funciones en este mismo hilo, ya que mediante el indice podran dirigirse a cada uno de los temas (segun el nombre de la funcion) y poder enriquecer este posting con sus comentarios.




INDICE


  • Funciones para Bases de Datos

    • Introduccion
    • Conexion a la Base de Datos.
    • Inserciones
    • Actualizaciones
    • Eliminacion
    • Consultas



Continuara....
#155
Que tal, nose si es que ya ando muy desesperdo, pero no logro realizar una consulta con limites, pero bueno, es que utilizo una funcion especial que realize en mi sistema, la funcion es esta:

<?php
function consultar_limite_enorden$base_t$valores$regla )
{
$linkconectar();

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

if( !($respmysql_query"select * from "$base_t" ORDER BY "$regla" LIMIT "$valores";"$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";
}
?>


Y aqui es donde invoco la funcion para hacer la consulta con limites:

<?php
$cons_log
consultar_enorden"LOG""1,10""FECHA_LOGIN DESC");

echo 
mysql_num_rows($cons_log). " ";

if( 
mysql_num_rows($cons_log)>)
echo "registros";
else
echo "registro";
?>
#156
Hola:

En mi sistema web tengo varios TAGS BBCode disponibles, pero me gustaria poner a disposicion un TAGS BBCode de Youtube, para que los usuarios puedan postear el video de youtube y se vea ahi mismo en la pagina. Espero y me puedan ayudar !!!

Mientras, les platicare mi metodo para crear BBCode:

Primeramente, cualquier mensaje que se agrege ya sea por mi o tipo comentario pasa por una funcion llamada proteger_cadena(), esta protege la cadena para evitar Injeccion HTML, Injeccion SCRIPT e Injeccion SQL, despues esta misma funcion realiza el llamado de otra funcion que es msg2msgtags($cadena) que se encarga de hacer el BBCode. El codigo es el siguiente:

Funcion msg2msgtags()
Código (php) [Seleccionar]
<?php
function msg2msgtags$mensaje )
{
if( strchr$mensaje"[b]" ) &&  strchr$mensaje"[/b]" ) )
{
$mensajestr_replace"[b]""<b>"$mensaje );
$mensajestr_replace"[/b]""</b>"$mensaje );
}
if( strchr$mensaje"[i]" ) &&  strchr$mensaje"[/i]" ) )
{
$mensajestr_replace"[i]""<i>"$mensaje );
$mensajestr_replace"[/i]""</i>"$mensaje );
}
if( strchr$mensaje"[u]" ) &&  strchr$mensaje"[/u]" ) )
{
$mensajestr_replace"[u]""<u>"$mensaje );
$mensajestr_replace"[/u]""</u>"$mensaje );
}
if( strchr$mensaje"[center]" ) &&  strchr$mensaje"[/center]" ) )
{
$mensajestr_replace"[center]""<center>"$mensaje );
$mensajestr_replace"[/center]""</center>"$mensaje );
}
if( strchr$mensaje"[img]" ) &&  strchr$mensaje"[/img]" ) )
{
$mensajestr_replace"[img]""<img class=\"img_post\" src=\""$mensaje );
$mensajestr_replace"[/img]""\">"$mensaje );
}
//OJO, los '\' solo los puse para que salieran en este POST, ya que si quito los '\'
//el codigo sale CORTADO en este post...
if( strchr$mensaje"\[code\]" ) ||  strchr$mensaje"\[/code\]" ) )
{
$mensajestr_replace"\[code\]""<div id=\"etiqueta_code\">"$mensaje );
$mensajestr_replace"\[/code\]""</div>"$mensaje );
}

//<object width="425" height="344">
//<param name="movie" value="http://www.youtube.com/v/Iur_NBn6b2k&hl=en&fs=1"></param>
//<param name="allowFullScreen" value="true"></param>
//<embed src="http://www.youtube.com/v/Iur_NBn6b2k&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed>
//</object>
/*if( strchr( $mensaje, "[youtube]" ) ||  strchr( $mensaje, "[/youtube]" ) )
{
$mensaje= str_replace( "[youtube]", "", $mensaje );
$mensaje= str_replace( "[/youtube]", "", $mensaje );
}*/

if( strchr$mensaje"\n" ) )
{
$mensajestr_replace"\n""<br>"$mensaje );
}
if( strchr$mensaje"\t" ) )
{
$mensajestr_replace"\t""&nbsp;&nbsp;&nbsp;"$mensaje );
}
if( strchr$mensaje"<script>" ) )
{
$mensajestr_replace"<script>"htmlentities"<script>"ENT_QUOTES ), $mensaje );
}
if( strchr$mensaje"</script>" ) )
{
$mensajestr_replace"</script>"htmlentities"</script>"ENT_QUOTES ), $mensaje );
}
return $mensaje;
}
?>


Funcion proteger_cadena()
Código (php) [Seleccionar]
<?php
function proteger_cadena$cadena )
{
$out=$cadena;

if( strchr$out"<" ) ) //con esto vitamos injeccion de codigo
$outstr_replace"<"htmlentities("<"ENT_QUOTES), $out );
if( strchr$out">" ) ) //con esto vitamos injeccion de codigo
$outstr_replace">"htmlentities(">"ENT_QUOTES), $out );

$outmsg2msgtags($out);

return $out;
}
?>


Codigo de Ejemplo, antes de que el mensaje de guarde en la base de datos:

<?php
$msg
proteger_cadena($_POST["mensaje_noticia"]);

//generamos array de insercion mysql
$valores= array(
"autor"=>"'"$_SESSION["log_usr"]. "'",
"titulo"=>"'"htmlentities($_POST["titulo_noticia"], ENT_QUOTES). "'"
"mensaje"=>"'"htmlentities($msgENT_QUOTES). "'"
"fecha"=>"'"time(). "'",
"menu"=>"'"htmlentities($buf_menu["NOMBRE"], ENT_QUOTES). "'",
"sección"=>"'"htmlentities($buf_sec["NOMBRE"], ENT_QUOTES). "'" );

unset($msg);

if( insertar_bdd"NOTICIAS"$valores )==)
echo "Error en la Insercion de los Datos.";
else
echo "Datos Agregados con Exito.";
?>
#157
PHP / [SOLUCIONADO] Porque da este error ??
17 Julio 2008, 17:26 PM
Hola:

Implemente un sistema de Log para poder determinar si un usuario esta o no conectado a la pagina, a su vez que el mismo sistema cierre su sesion una ves pasado el tiempo maximo de duracion de una sesion !!...

En fin, localmente (localhost) el codigo funciona bien y no error alguno, pero en mi hosting web me da el siguiente error:

Error 03: Problema para Realizar Movimiento/Consulta.Unknown column 'SESION' in 'where clause'
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/content/d/i/a/diabliyo/html/em-clanmoh/
modulos/base.php on line 607

Warning: Variable passed to each() is not an array or object in /home/content/d/i/a/diabliyo/html/em-clanmoh/modulos/base.php on
line 610
Error 03: Problema para Realizar Movimiento/Consulta.Unknown column 'sesion' in 'field list'
Warning: Cannot modify header information - headers already sent by (output started at /home/content/d/i/a/diabliyo/html/em-clanmoh/
modulos/base.php:125) in /home/content/d/i/a/diabliyo/html/em-clanmoh/index.php on line 45


Les pongo las lienas de codigo que menciona...

La primera es del archivo base.php linea 610:

<?php
598 
function deamon_logd()
599 {
600 //Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
601
602 $log_consconsultar_con"LOG""SESION='"session_id(). "'" );
603 $ip$_SERVER['REMOTE_ADDR'];
604 $navget_browser();
605
606 if( mysql_num_rows($log_cons)==) //no existe la SESION, esta entrando nuevo usuario
607 {
608 //recolectamos informacion
609 while( list($key$val)=each($nav) )
610 {
if( !strcmp($key"parent" ) )
$navegador$val;
else if( !strcmp($key"platform" ) )
$so$val;
}

$trama= array(
"nick"=>"'Visitante'",
 "ip"=>"'"$ip"'",
 "so"=>"'"$so"'",
 "navegador"=>"'"$navegador"'",
 "sesion"=>"'"session_id(). "'"
 "fecha_login"=>"'"time(). "'" 
);

insertar_bdd"LOG"$trama );
unset($trama);
}
else //la SESION ya existe
{
if( usuario_legitimo() )
{
$trama= array(
"sesion"=>"'"session_id(). "'",
"nick"=>"'"$_SESSION["log_usr"]. "'"
);

actualizar_bdd"LOG"$trama );
unset($trama);
}
}

unset($log_cons);

//establece los cierres de sesion
temporizador_de_sesiones();
}
?>
#158
Hola:

Aqui les comparto mi documento de tesis, espero y les sirva de algo :D, el titulo de la tesis lo dice todo :D !!...

PDF: DESCARGAR
#159
Hola:

En mi sistema web tengo un Sistema de Log en donde el procedimiento es el siguiente:

1- Cuando el usuario accede a la pagina, guardo en la base de datos cierta informacion de el, por ejemplo:

<?php
$trama
= array( 
"nick"=>"'visitante'', 
"
ip"=>"'a.b.c.d'", 
"
navegador"=>"'AbcDe'", 
"
tiempo_login"=>"'". time(). "'" );

insertar_bdd( "
LOG", $trama );
?>


2- Cuando el mismo usuario se conecta a la pagina (usando su username y password, vaya logearse), entonces actualizo el LOG:

<?php
$trama
= array( 
"ip"=>"'a.b.c.d'"
"nick"=>"'"$_SESSION["log_usr"]. "'"  );

actualizar_bdd"LOG"$trama );
?>



Pero bueno, tengo un segundo campo en la base de datos LOG que es tiempo_logout, ya que tiempo_login toma el tiempo desde que accedio al sitio web, pero como pudo hacerle para registrar el tiempo_logout asumiendo que el usuario simplemente cierra el navegador o abandona la pagina sin cerrar su sesion !!???...

En realidad ya tengo mas de 7 horas programando y me he quedado trabado en esta parte jejeje, creo que ya me sature, hasta me duele el cuello, en fin... alguna idea !??

bye bye
#160
Hola:

Tengo mas de 8 meses codificando y puliendo mi aplicacion de software base a la cual llamo OneFloor (verla funcionando en http://em-clanmoh.sie-group.net/ y www.sie-group.net/), mi aplicacion en PHP no es un gestor de paginas web personales ni nada de eso, sino que algo mas de la RAIZ, vaya, OneFloor es un sistema para creacion de sitios web al gusto, ya que OneFloor basicamente es el sistema base para iniciar un proyecto de software brindandote un servicio de modulacion muy completo y seguro, en donde cada desarrollador puede disenar una aplicacion de software por separado codificando cada modulo y parte del sistema en un Modulo independiente (archivo.php), posteriormente subir este archivo al sistema OneFloor y este sera leido e interpretado por la aplicacion y formara parte del Panel del Sistema de Administracion, aparte cuenta con un conjunto de funciones muy utiles para facilmente realizar tareas como:

- Cortar noticias.
- Calendarios.
- Insertar, Modificar, Actualizar, Eliminar, Buscar Registros, Buscar Coinsidencias, Listas con limites, etc... de la Base de Datos.
- Cargar Temas y AutoProgramacion de los mismos (muy facil acoplar un tema al sistema).
- Manipulacion y moificacion de Menus y Secciones.
- Existen 4 formas de como visualizar el contenido de una sección:
--- Forma 'Posting' :: Los mensajes se cuelgan como los POST's de un foro.
--- Forma 'Hoja' :: Se cuega un solo mensaje en la sección y su modo visual es como una hoja simple de HTML.
--- Forma 'Galeria' :: Se visualizan los mensajes como Galerias, en recuadros con una foto establecida al frente.
--- Forma 'Descriptiva' :: Tipica forma de cuando estas en una sección de descargas.
- Puedes permitir o no permitir comentarios en secciones.
- Puedes Bloquear o Desbloquear secciones.
- Creacion de Grupos.
- Puedes asociar secciones a los grupos y que solo los integrantes del grupo vean dichas secciones.
- Sistema de Usuarios (mensajeria, perfil, avatars, firmas, etc...).
- Sistema de Descarga (contadores, estadisticas).
- Sistema de Publicidad (agregar, eliminar, modificar publicidad, pueden ser imagenes o anuncios con texto).
- Se permite BBCode :D.
- y mas cosas...

Palabras sobran, pero no ahi mejor como poder utilizarlo y ver el codigo, aparte el codigo pesa solamente unos 1.4 MB ;), todas las variables se protegen al ser insertadas en la BDD y de momento por mas intentos que hago no he encontrado vulnerabilidade de: HTML Injection, SQL Injection, XSS, LFI, RFI ni ninguna otra...

Licencia de OneFloor

OneFloor v1.0 :: Sistema para Gestión de Proyectos PHP y Sitios Web Personales, Desarrollado por SIE-Group.net
Licenciado bajo Creative Commons Reconocimiento-No comercial 2.5 México License, para la Comunidad de Software Libre.

Cual es la finalidad de este POST

Debido a que mi aplicacion puede ser copiada, distirbuida y modificada preservando siempre mi autoria, quisiera pedir la ayuda de la comunidad de internet para resolver un problema que me tiene hasta el chongo en mi software :S, el problema no es de seguridad, sino de rapidez, he notado que el sistema a veces al acceder varias veces a la misma sección se queda como pensando, nolo se, me gustaria que ustedes mismos lo comprobaran accediendo a http://em-clanmoh.sie-group.net y den click a todas las secciones de la derecha y notaran la lentitud en cierto momento.

Nose cual sera la causa directamente y consisamente de este problema, pero acepto cualquier comentario o aportacion y con gusto hasta podemos ir estudiando partes de codigo que ustedes me propongan a verificar para resolver este problema !!...

NOTA: La primer version estable aun no la ofresco por los detalles que les menciono mas arriba, pero la pueden descargar la version inestable de aqui:

Link: http://www.sie-group.net/files/onefloor-1.0-unstable.tar.gz

Gracias por su tiempo de antemano !!

bye bye
#161
Hola:

Pues mi problema es que no logro pegar una carita en un textarea apartir de una imagen que le dan click, pero tomando en cuenta que la carita (imagen) esta en una nueva ventana (pop-up). Aparte, las caritas las genero mediante una funcion en PHP, ya que las caritas estan guardadas en la Base de Datos.

Inicialmente tenia un conjunto de 10 caritas muy simples, las cuales no tenia problema para insertarlas al TEXTAREA, ya que simplemente llamaba la funcion listar_caritas() (en php), me listaba las caritas dentro del mismo form sin usar pop-up y a cada carita le asignaba algo asi

echo "<a href=\"javascript:void(0);\" onclick=\"reemplazar_carita( ':ass_suck:', document.forms.formulario_comentarios.comentario_mensaje); return false;\">";
echo "<img src=\"direccion/carita.gif\">";
echo "</a>";


Y esto es lo que tengo en mi script.js

function reemplazar_carita(text, textarea)
{
// Attempt to create a text range (IE).
if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
{
var caretPos = textarea.caretPos;

caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
caretPos.select();
}
// Mozilla text range replace.
else if (typeof(textarea.selectionStart) != "undefined")
{
var begin = textarea.value.substr(0, textarea.selectionStart);
var end = textarea.value.substr(textarea.selectionEnd);
var scrollPos = textarea.scrollTop;

textarea.value = begin + text + end;

if (textarea.setSelectionRange)
{
textarea.focus();
textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
}
textarea.scrollTop = scrollPos;
}
// Just put it on the end.
else
{
textarea.value += text;
textarea.focus(textarea.value.length - 1);
}
}


Pero debido a que encontre un conjunto de caritas mas (15), quiero que estas caritas NO esten disponibles directamente en el mismo FORM, sino que cuando el usuaro de click en [>Ver Caritas Extras<], le salga un POPUP donde se listen las caritas extras y apartir de ahi al dar click se inserten en el TEXTAREA !!...

Actualmente de esta manera abro el pop-up y listo las caritas:


<?php
echo "<div id=\"espacio_caritas\">";
listar_caritas(); //funcion que lista las caritas normalmente y que se insertan con un solo clik
echo "[><a href=\"javascript:void(0);\" onclick=\"ver_caritas();\">Ver Caritas-Extra</a><]";
echo 
"</div>";
echo 
"<form name=\"formulario_comentarios\">";
echo 
"<textarea name=\"comentario_mensaje\"></textarea>";
echo 
"</form>";
?>


function ver_caritas()
          {
          var ventanita;
          ventanita= window.open( 'loader.php?mod=caritas_extra', '', 'width:100px,height:100px' );
          }


<?php
//LOADER.PHP

switch( $_GET["mod"] )
          {
          case 
'caritas_extra':
                    
listar_caritas_extra(); //esta funcion lista las caritas extra
                    
break;
          case 
'caritas_blabla':
                    break;
          default:
                    echo 
"Hola jejejej xD";
                    break;
          }




//esto es solo una aproximacion de como se quedan listadas las caritas en el HTML
function lista_cartas_extra()
{
echo "<a href=\"javascript:void(0);\" onclick=\"reemplazar_carita( ':ass_suck:', document.forms.formulario_comentarios.comentario_mensaje); return false;\"><img src=\""CARITAS_URL"/012.gif\" border=\"0\" alt=\":ass_suck:\" title=\":ass_suck:\"></a> ";
}
?>
#162
Hola:

Estoy terminando un sistema personal y me encuentro atorado en la parte de mostrar noticias, en especifico la parte cuando queremos mostrar codigos o texto de algun lenguaje de programacion utilizando las etiquetas CODE, pero por mas que lo intengo no logro imprimir bien algunas cosas...

El proceso que realizo para guardar la noticia de una forma muy resumida es:

OJO: register_globals= Off asi esta mi php.ini configuado.

<?php
switch( $buf_sec["TIPO"] ) //dependiendo el tipo de mensaje/noticia a colgar, es el modo
{
case 'noticia':
$msgstrip_tags($_POST["mensaje_noticia"]); //eliminamos etiquetas HTML
$msgmsg2caritas$msg ); //de CODIGO a CARITAS, Ejm: :D => <img src="blabla">
$msgmsg2msgtags$msg ); //de BBCode a HTML Tags, Ejm: [b] => <b>

//generamos array de insercion mysql
$valores= array(
"autor"=>"'"$_SESSION["log_usr"]. "'",
"titulo"=>"'"htmlentities($_POST["titulo_noticia"], ENT_QUOTES). "'"
"mensaje"=>"'"htmlentities($msgENT_QUOTES). "'",
"fecha"=>"'"time(). "'",
"menu"=>"'"htmlentities($buf_menu["NOMBRE"], ENT_QUOTES). "'",
"sección"=>"'"htmlentities($buf_sec["NOMBRE"], ENT_QUOTES). "'" );

unset($msg);

if( insertar_bdd"NOTICIAS"$valores )==//insertamos a la BDD la trama
echo "Error en la Insercion de los Datos.";
else
echo "Datos Agregados con Exito.";
break;
//otros case...
}
?>


Para mostrar la noticia al publico es (de forma resumida):

<?php
//en una funcion anterior se reviso la validez y seguridad de la variable
//que actualmente esta pasandose como argumento con el  nombre de 'id_tmp'

$consconsultar_con"NOTICIAS""ID='"$id_tmp"'" );
$tmpmysql_fetch_array($cons);

$fechadate"j"$tmp["FECHA"] ). " de ";
$fecha .= mes_esp(date"m"$tmp["FECHA"] )). " del "//el mes en espanol
$fecha .= date"Y"$tmp["FECHA"] ). " a las ";
$fecha .= date"g:i a"$tmp["FECHA"] );

$com_conconsultar_con"SECCIONES""NOMBRE='"$tmp["sección"]. "':RELACION='"$tmp["MENU"]. "'" );
$commmysql_fetch_array($com_con);

echo 
"<th colspan=\"2\"><a href=\"index.php?hoja="$tmp["ID"]. "\" alt=\""$tmp["TITULO"]. "\" title=\""$tmp["TITULO"]. "\">"$tmp["TITULO"]. "</a></th><tr>";
echo 
"<td><div id=\"datos_publicacion\">Publicado por ";
echo 
"<a href=\"mailto:"consultar_datos_usuario$tmp["AUTOR"], "email" ). "\" alt=\""consultar_datos_usuario$tmp["AUTOR"], "email" ). "\" title=\""consultar_datos_usuario$tmp["AUTOR"], "email" ). "\">";
echo 
"<b>"$tmp["AUTOR"]. "</b></a> el "$fecha"</div></td><tr>";
echo 
"<td>"html_entity_decode($tmp["MENSAJE"], ENT_QUOTES). "</td>";

ver_comentarios_thtd$comm["COMENTARIOS"], $tmp["ID"], $id_tmp );
echo 
"<tr>";

unset(
$cons);
unset(
$id_tmp);
?>


La funcion de msg2msgtags:

<?php
function msg2msgtags$mensaje )
{
/*
strchr( lugar, palabraclave )  busca la "palabraclave" en "lugar"
str_replace( palabraclave, sustituto, lugar )  busca en "lugar" la "palabraclave" y la sustituye por "sustituto"
*/
if( strchr$mensaje"[b]" ) &&  strchr$mensaje"[/b]" ) )
{
$mensajestr_replace"[b]""<b>"$mensaje );
$mensajestr_replace"[/b]""</b>"$mensaje );
}
if( strchr$mensaje"[i]" ) &&  strchr$mensaje"[/i]" ) )
{
$mensajestr_replace"[i]""<i>"$mensaje );
$mensajestr_replace"[/i]""</i>"$mensaje );
}
if( strchr$mensaje"[u]" ) &&  strchr$mensaje"[/u]" ) )
{
$mensajestr_replace"[u]""<u>"$mensaje );
$mensajestr_replace"[/u]""</u>"$mensaje );
}
if( strchr$mensaje"[center]" ) &&  strchr$mensaje"[/center]" ) )
{
$mensajestr_replace"[center]""<center>"$mensaje );
$mensajestr_replace"[/center]""</center>"$mensaje );
}
if( strchr$mensaje"[img]" ) &&  strchr$mensaje"[/img]" ) )
{
$mensajestr_replace"[img]""<img class=\"img_post\" src=\""$mensaje );
$mensajestr_replace"[/img]""\">"$mensaje );
}
if( strchr$mensaje"[code]" ) ||  strchr$mensaje"
" ) )
      {
      $mensaje= str_replace( "", "<div id=\"etiqueta_code\">", $mensaje );
$mensaje= str_replace( "
", "</div>", $mensaje );
      }
   if( strchr( $mensaje, "\n" ) )
      {
      $mensaje= str_replace( "\n", "<br>", $mensaje );
      }
   if( strchr( $mensaje, "<script>" ) )
      {
      $mensaje= str_replace( "<script>", htmlentities( "<script>", ENT_QUOTES ), $mensaje );
      }
   if( strchr( $mensaje, "</script>" ) )
      {
      $mensaje= str_replace( "</script>", htmlentities( "</script>", ENT_QUOTES ), $mensaje );
      }
   /*if( strchr( $mensaje, "" ) &&  strchr( $mensaje, "" ) )
      {
      $mensaje= str_replace();
      $mensaje= str_replace();
      }*/
   return $mensaje;
   }
?>[/code]

El estilo de la etiqueta #etiqueta_code en mi css es:

#etiqueta_code
{
background-color:yellow;
width:390px;
padding:3px 5px 3px 5px;margin-left:5px;
}
#163
PHP / Como puedo mostrar un codigo fuente ???
21 Abril 2008, 22:30 PM
Hola:

Pues asi es, digamos que tengo mi propio Sistema de Noticias, y pues se me ocurre escribir un mensaje en donde quiero mostrar FRAGMENTOS de codigo fuente, vaya, puede ser codigo fuente de lenguajes como: C, C++, PHP, etc, etc...

He intentado de diferentes formas que el codigo se visualize asi:

#include <stdio.h>
#include <stdlib.h>

int main()
          {
          printf( "hola" );
          getchar();
          return 0;
          }


Pero al intentar que mostrar el mensaje NO muestra ciertas cosas, digamos que se come lo que va delante de: #include, y cosas asi !!...

Despues de seguir buscando me encontre con la funcion highlight_file() que te muestra el contenido de un codigo ya formateado, pero no  me muestra el code bien :(

Como ejemplo, quisiera saber como puedo hacer para que se imprima esto:

<?php
$var
='#include <stdio.h>
#include <stdlib.h>

int main()
      {
      system( "clear" );
      printf( "hola" );
      getchar();
      return 0;
      }
'
;

echo 
$var;
?>


Resultado:
//como vemos, se comio lo que esta delante del '#include'

#include #include int main() { system( "clear" ); printf( "hola" ); getchar(); return 0; }


En cambio si escribo el CODIGO FUENTE en una rchivo, y despues lo invoco con la funcion highlight_file(), el codigo se muestra bien formateado.. Pero no logro hacer que highlight_file() funcione mediante una variable que contiene dicho codigo :( :
<?php
echo highlight_file("codigo.c");
?>


El fin de todo esto es poder consultar los datos de la BDD e imprimir el codigo dentro de un area determinada (usando <div>), he invocando la insecion de esto con etiquetas tipo BBCode...
#164
Hola:

Ya estuve intentando con move_uploades_file() y copy() y me sigue dando error, no logro subir la imagen :S !!!..

Primeramente les adelanto que la configuracion del PHP.INI de mi servidor es: register_globals= Off. Por lo tanto para manejar archivo subidos debo usar la variable reservada: $_FILES["var"]... El code que uso es el siguiente !!

<?php
function comprobar_extencion_imagen$extensión )
{
/*
image/jpeg Imagen JPEG, JPG
image/png Imagen PNG
image/gif Imagen GIF
*/

if( !strpos$extensión"jpg" ) && !strpos$extensión"jpeg" ) && !strpos$extensión"png" ) && !strpos$extensión"gif" ) )
{
echo "Tipo de extensión/archivo inaceptable.<br>";
return 0;
}
return 1;
}


//... code y mas code..

//si hacemos un 'getcwd()', nos da la siguiente direccion: '/home/miuser/public_html/modulos/'
//y la carpeta de imagenes esta en: '/home/miuser/public_html/imagenes/noticias/'
$path"../imagenes/noticias/";

if( !
comprobar_extencion_imagen$_FILES["imagen_noticia_01"]["type"] ) || !move_uploaded_file$_FILES["imagen_noticia_01"]["tmp_name"], $path.$_FILES["imagen_noticia_01"]["name"] ) )
echo "Problema para subir imagenes al servidor.";


Como resultado al intento de subir la imagen dice: "Problema para subir imagenes al servidor."
#165
Hola:

Tengo problemas en cierta parte de mi codigo, en el cual no logro insertar un campo tipo TEXT (mensaje), el resultado al intento de insercion me retorna un error de sintaxis un poco rara :S !!... Ahi les va mas informacion:

Tabla NOTICIAS
//esta es la TABLA
ID bigint(20)
AUTOR varchar(30)
TITULO varchar(30)
MENSAJE text
FECHA bigint(20)
FECHA_MOD bigint(20)
AUTOR_MOD varchar(30)
MENU varchar(40)
sección varchar(40)


Por lo tanto, intento insertar el contenido, asumiendo que el formulario es este:
echo "<form action=\"index.php?id=noticias&mov=agregar_noticia&id_src=". $ctl. "\" method=\"POST\">";
echo "</span></td><tr>";
echo "<td>Titulo: <input type=\"text\" name=\"titulo_noticia\" class=\"estilo_01\"></td><tr>";
echo "<td>Contenido:</td><tr>";
echo "<td><textarea name=\"mensaje_noticia\" class=\"estilo_02\">";
echo "</textarea></td><tr>";
echo "<td align=\"center\"><input type=\"submit\" class=\"boton_01\" value=\"Publicar Noticia\"></td>";
echo "</form>";


Y el texto puesto como ejemplo en el formulario es este:
Titulo: Bienvenido al Sitio !!
Contenido:
Que tal, buen dia !!

Esta es la primer noticia que colgamos debido a la inaguracion del sitio y estreno de nuestra herramienta de softwrae libre.

Espero que la comunidad internauta pueda colaborar con nuestros proyectos de software libre.

..:: SIE-Group.net ::..
Grupo de Soluciones Inteligentes para tu Empresa.

Ing. Angel Haniel Cantu Jauregui <angel.cantu@sie-group.net>


Y el codigo de formacion de trama e insercion es el siguiente:
<?php
#Algunas variables como 'buf_sec', 'buf_menu', etc... se omiten,
#porque son tratadas mas arriba para consultar datos !!

$msgmsg2caritas$_POST["mensaje_noticia"] ); //de CODIGO a CARITAS
$msgmsg2msgtags$msg ); //de BBCode a HTML Tags

//generamos trama de insercion mysql
$valores="";
$valores .= "autor=";
$valores .= "'"$_SESSION["log_usr"]. "'";
$valores .= ":";
$valores .= "titulo=";
$valores .= "'"$_POST["titulo_noticia"]. "'";
$valores .= ":";
$valores .= "mensaje=";
$valores .= "'"htmlentities($msgENT_QUOTES). "'";
$valores .= ":";
$valores .= "fecha=";
$valores .= "'"time(). "'";
$valores .= ":menu=";
$valores .= "'"$buf_menu["NOMBRE"]. "'";
$valores .= ":sección=";
$valores .= "'"$buf_sec["NOMBRE"]. "'";

if( 
insertar_bdd"NOTICIAS"$valores )==)
echo "Error en la Insercion de los Datos.";
else
echo "Datos Agregados con Exito.";
?>


El error que muestra es el siguiente:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near ' SIE-Group.net , , .. <br>Grupo de Soluciones Inteligentes para
tu Empres' at line 1Error en la Insercion de los Datos.



Los datos como es ovio, no se insertan :( y el problema persiste :S !!....

Pero es importante mencionar, que si en el formulario omito este pedazo de texto:

..:: SIE-Group.net ::..

El mensjae se inserta con exito... :D

Que puedo hacer ??
#166
PHP / como Invocar funcion de un PHP incluido !!
7 Febrero 2008, 23:19 PM
Hola:

Espero poder explciarme bien, debido a que el sistema que estoy programando en PHP es demasiado automatizado...En fin, aqui voy jejeje

Deseo invocar una funcion de un archivo includio (include()), el problema es que este archivo es tomado de una carpeta llamada modulos, en donde se encuentran varios archivos importante del sistema, por ejemplo:

modulos/noticias.php
modulos/usuarios.php

Cada uno de estos archivo *.php son invocados desde la LECTURA DEL DIRECTORIO, de modo que cada archivo PHP tiene un boton unico y pues cada boton es generado desde la LECTURA DEL DIRECTORIO, de este modo se puede ENRIQUECER el sistema agregando MODULOS que se puedan AUTO-Instalar !! (esa es la idea)..... Deseo invocar la funcion noticias(); del archivo modulos/noticias.php...

El problema es que NO LOGRO invocar el nombre de la funcion de algun archivo.php dentro de la carpeta "modulos/" debido a que no se como invocarla desde variables :(...

Aqui les djeo un poco de codigo...

<?php

//esta funcion genera los botones automaticamente realizando la lectura del directorio "modulos/", su logica 
//es muy simple, solamente toma el archivo *.php, le quita la extensión ".php" y deja el puro nombre, 
//despues solo modifica la letra incial por MAYUSCULA y finalmente lo convierto en link <a></a>...

echo "<td vlign=\"top\">";
echo "<table cellspacing=\"5\" cellpadding=\"0\" align=\"center\" id=\"tabla_areabotones\">";
echo "<td>Inicio</td>"; //establecido
echo "<td><a href=\"index.php?id=modulos\">Modulos</a></td>"; //establecido

chdir"modulos/" ); //nos movemos

$fpopendirgetcwd() ); //abrimos directorio

while( ($bufreaddir$fp )) !==FALSE //leemos
{
if( strchr$buf".php" ) ) //sercioramos de tener un archivo ".php"
{
if( strcmp$buf"modulos.php" ) && strcmp$buf"base.php" ) ) //excluimos archivos
{
$xexplode".php"$buf ); //partimos

echo "<td><a href=\"index.php?id="$x[0]. "\">"ucfirst($x[0]). "</a></td>"//imprimimos en la pagina

unset( $x );
}
}
}

unset( $buf );
closedir$fp );

echo "</table>";
echo 
"</td><tr>";
?>


</php

//esta funcion es la que MUESTRARA el contenido de cada archivo.php de los modulos, todo dependiendo
//el archivo.php a consultar, posteriormente se debe invocar la funcion principal, el nombre de la funcion
//principal es el nombre del archivo.php mismo...  ejemplo.php, ejemplo()

echo "<td valign=\"top\">";

if( $_GET["id"] ) //verificamos que se invocara la variable para modulos
{
$fp= opendir( getcwd() ); //abrimos directorio

while( ($buf= readdir( $fp )) !== FALSE ) //leemos
{
if( strchr( $buf, ".php" ) ) //comparamos que sea archivo PHP
{
if( strcmp( $buf, "modulos.php" ) && strcmp( $buf, "base.php" ) ) //comparamos que sea distintio
{
include( $buf ); //incluimos archivo PHP
//==COMO INVOCAMOS el nombre ??? === $buf();  ???
}
}
unset( $buf ); //vaciamos buffer
}
closedir( $fp );
}
else
{
echo "<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\" id=\"tabla_areatrabajo\">";
echo "<td>Area de Trabajo</td>";
echo "</table>";
}

echo "</td>";
?>
#167
Hola:

De un tiempo buen tiempo aca casi todos los hosting que ofrecen soporte de PHP poseen la configuracion de register_globals=off, por lo cual varias aplicaciones que he realizado en PHP he tenido que modificarlas para que funcionen :( !!...

Pero me he topado con un PROBLEMON :(, el cual va asi:

En una aplicacion que realize es indispensable tener a la mano un conjunto de variables para conectarme a la base de datos (mysql), en donde dichas variables las tenia dentro de un archivo *.php, asi que, cuando el usuario cambia sus PASSWORDS (ya sea del PANEL DE CONTROL o BASE DE DATOS) antes lo unico que hacia era abrir el archivo (fopen) config.php y escribia la informacion, de tal manera que el archivo quedaba asi (NOTA: es solo un ejemplo):

//Archivo: config.php

<?php
$user
"usuario";
$pass"password";
$user_db"userdb";
$pass_dv="passdb";
$server"nombre";
$base_dd"nombre_base_de_datos";
?>


Y pues actualmente este archivo de configuracion NO funciona :(, debido a la configuracion de 'register_globals=off'... 'Uso de Variables GLOBALES desactivado'....

Ahora he tenido que realizar la carga de variables de esta forma:

//Nuevo archivo: config.php

<?php
define
USER"" );
definePASS"" );
//etc, etc...
?>


Mi problema es que: no enccuentro la forma para que de cierta manera el usuario al momento de instalar la aplicacion, escribir la informacion en dichas variables SIN necesidad de realizar la apertura de archivo directamente (fopen)...

Alguien podria decirme alguna forma que pueda realizar la escritura en dicho archivo config.php ???...

Otra cosa, es conveninete el uso de variables definidas de esa forma ??

Gracias por su atencion !!

bye bye
#168
Hacking Mobile / Sobre Piconets !!!
20 Octubre 2007, 18:11 PM
Hola:

Estoy realizando un proyecto de universidad en bluetooth, y leyendo el "Trabajo de Fin de Carrera" de Gospel, vi que en una de las imagenes en la parte donde menciona Dispositivos Bluetooth, pone la imagen de un tipo de Concentrador el cual me imagino es un Gateway para intercomunicacion de redes, en base a esto... Me imagino que si ha de existir algun tipo de Concentrador para realizacion de redes bluetooth (piconets), cierto ??... Y creo que este tipo de concentrador tenga una alcance mayor a los que presentan los dispositivos Bluetooth en formade modulo (usb) ???...

Bueno, en si esa es mi duda, existe algun tipo de concentrador para redes en donde me permita formar mis redes bluetooth con fines de intercomunicar esta red bluetooth con redes LAN y Wireless !????...

De ser asi, alguien tendria algun link a algun tipo de concentrador para observar su precio ??

Mientras estare googleando viendo si existe este hardware !!

bye bye
#169
PHP / Duda en la subida de archivos en php !!!
25 Abril 2007, 15:54 PM
Hola:

Como podria subir archivos al servidor, sabiendo que el PHP.ini esta:

register_globals= off
Ya intente usando: $_FILES["archivo"]["name"] (para mostrar nombre), pero no logro obtener su nombre :S !!!

Por Ultimo, como puro testeo de mi aplicacion, subi manualmente las imagenes en el directorio que elijo (tmp/), para despues mover dichas imagenes con un nombre distinto a la carpeta fotos/ y asi tener un mejor control con las fotos y no tener problemas con la repeticion de los nombres, pero al realizar move_uploaded_file( $url.$buf, "fotos/".$buf ); y sigue marcando error al intenta mover la o las imagenes :( !!!

Sobre los permisos, los puse 0775, a todos los archivos .php y carpetas...

OJO: uso slackwrae linux, y estoy testeando en mi propia PC, tengo Apache, PHP y MySQL corriendo....

bye bye
#170
Hacking Mobile / Ayuda con mi bluetooth !!!
23 Marzo 2007, 07:05 AM
Hola:

Utilizo Slackware Linux 11.0 kernel 2.6.20.3, tengo una bluetooth version 2.0 + EDR, chipset nolose :S.... Antes de conectarla al USB, instale los 4 o 5 *.tar.bz2 de BlueZ.

Posteriormente recompile mi kernel para poder ver el modulo bluetooth asi:

shell# modprobe -l | grep bluetooth
/lib/modules/2.6.20/kernel/net/bluetooth/sco.ko
/lib/modules/2.6.20/kernel/net/bluetooth/rfcomm/rfcomm.ko
/lib/modules/2.6.20/kernel/net/bluetooth/l2cap.ko
/lib/modules/2.6.20/kernel/net/bluetooth/hidp/hidp.ko
/lib/modules/2.6.20/kernel/net/bluetooth/bnep/bnep.ko
/lib/modules/2.6.20/kernel/net/bluetooth/bluetooth.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/hci_vhci.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/hci_usb.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/hci_uart.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/bpa10x.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/bfusb.ko
/lib/modules/2.6.20/kernel/drivers/bluetooth/bcm203x.ko


Enseguida carge el modulo:
shell# modprobe bluetooth

Conecte mi USB Bluetooth y nada :( !!...

Intente haciendo esto (pero no tuve exito):

shell#hcitool inq
Inquiring ...
Inquiry failed.: No such device


shell# sdptool search SP
Inquiring ...
Inquiry failed


Que puedo hacer ???, ya que mi Bluetooth ni si kiera parpadea :S, y este es un lsmod por si les sirve de algo:

shell# lsmod
Module                  Size  Used by
hci_usb                17340  0
bluetooth              49508  1 hci_usb
snd_seq_dummy           4236  0
snd_seq_oss            30848  0
snd_seq_midi_event      7296  1 snd_seq_oss
snd_seq                47728  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          7948  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            41920  0
snd_mixer_oss          16256  1 snd_pcm_oss
appletalk              34988  0
psnap                   4356  1 appletalk
llc                     7956  1 psnap
ipv6                  234784  20
sr_mod                 15272  0
ide_scsi               17676  0
nvidia               6829668  22
i2c_nforce2             5888  0
agpgart                32968  1 nvidia
ohci1394               33588  0
snd_hda_intel          20792  1
snd_hda_codec         155440  1 snd_hda_intel
pata_amd               12940  0
snd_pcm                73484  3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
rt73                  278144  0
ieee1394               93408  1 ohci1394
i2c_core               21120  2 nvidia,i2c_nforce2
shpchp                 31648  0
forcedeth              40604  0
ohci_hcd               19852  0
snd_timer              22152  2 snd_seq,snd_pcm
snd                    49380  11 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
snd_page_alloc          9992  2 snd_hda_intel,snd_pcm


Gracias de antemano !!

bye bye
#171
PHP / problema con header()
10 Enero 2007, 20:54 PM
Hola:

Tengo mas o menos el siguiente codigo en PHP:


//Este file se llama:  TEST.PHP

<html>
          <head>
          <title>HOLA</title>
          </head>

          <body>
          switch( $_GET["modulo"] )
                    {
                    case 'opcion'
                              //hace algo y luego
                              header( "Location: TEST.PHP" );
                              break;
                    default:
                              //formulario
                              break;
                    }
          </body>
</html>


Y me da el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\jorge\fotos\loader_files.php:4)

Porque en WINDOWS no puedo usar esa funcion header() ???.... Como puedo hacer que funcione dicha funcion ??, ya que el codigo es mucho mas amplio y necesito tener la funcion dentro del SWITCH, que a su vez, este SWITCH esta dentro de <body>.

Ayuda porfavor!!!

bye bye
#172
PHP / Problemas con funcion copy()
7 Enero 2007, 00:47 AM
Hola:

Utilizo un servidor Windows Small Bussiness Server 2003 con ISS, SQL y PHP funcionando, el problema que se me presenta es que NO puedo copiar archivos/imagenes/text-files (nada) hacia el servidor con la funcion copy ni move_uploaded_file() !!!...

NOTA IMPORTANTE: por razones de trabajo es necesario que el codigo funcione en WINDOWS :(, ya que este mismo codigo corre perfectamente en mi Linux (porke es mi propia Laptop).

Este es el error:
Warning: copy(c:\inetpub\wwwroot\jorge\fotos/001.htm) [function.copy]: failed to open stream: Permission denied in c:\inetpub\wwwroot\jorge\fotos\loader_files.php on line 88

Y aqui un poquito dle codigo:
<?php
if( $_FILES["fotos"] )
{
$urlgetcwd(). "/";
if( copy$_FILES["fotos"]["tmp_name"], $url.$_FILES["fotos"]["name"] ) == FALSE )
{
echo "Problemas para subir el Archivo: "getcwd();
echo "<br>Nombre: "$_FILES["fotos"]["name"];
echo "<br>Tipo: "$_FILES["fotos"]["type"];
echo "<br>TempName: "$_FILES["fotos"]["tmp_name"];
echo "<br>Hacia: "$url.$_FILES["fotos"]["name"];
}
else
header"Location: loader_files.php" );
}
else
echo "ERROR";
?>


Otro dato importante que dejo, son la configuracion del php.ini, aqui dejo algunas cosas que creo importante que sepan:

::sessions]::
session.save_path = "C:\Inetpub\wwwroot\php_tmp"

::file uploads::
upload_tmp_dir = "C:\Inetpub\wwwroot\php_tmp"


Ayuda porfavor !!... Hasta luego !!

bye bye
#173
-------------------- INTRODUCCION --------------------

Este Manual lo he realizado ya que me vi en un gran lio para la configuracion de un servidor HTTP sobre sistemas operativos Windows (XP/NT/Server) y por mas que me la pase buscando en la Red, siempre encontraba Manuales los cuales "segun" proporcionaban la mejor configruacion para un correcto funcionamiento de PHP sobre IIS, y al finalizar dichos manuales nunca enia Servicion de PHP :(....

Tras muchos intento y post INCONCLUSOS en distintos Foros, realize mi propia configuracion e instalacion de un metodo muy simple, muy practico y RAPIDO. Mas que nada, sin la necesidad de estar Re-Iniciando el Equipo Servidor o donde queramos instalar y tener presente el Servicion de PHP sobre IIS.

Les dejo este Manual con el fin de ir incrementando nuestros conocimientos y tengan una mejor opcion para su configuracion facil y rapida de su servidor HTTP.

Antes de continuar con la lectura de este manual, debes saber que he utilizado como ejemplo un PC con Windows XP SP2 e instalando una version de PHP v4.4.4, pero esta misma configuracion sirve para Windows 98/NT/2000 Server/Small Business Server 2003/XP y PHP 5.2.0 o versiones mas recientes, asi mismo esto esta comprobado por mi mismo ya que he instalado la version mas reciente en otros Servidores y todo funcionando correctamente.

NOTA: las imagenes del manual y el manual completo descargable, lo puedes encontrar en el enlace a mi Repositorio de Archivos(Ver alFinal del Manual).






-------------------- DESCARGA DE UTILERIAS --------------------

Solamente necesitamos descargar un par de aplicaciones, tambien quiero hacer constar que mi configuracion NO solo se aplica para PHP 5.2.0, sino que funciona para cualquier PHP que se desee instalar:

- php-5.2.0-Win32.zip - Descargar
- browscap.ini - Descargar

A continuacion la explicacion paso a paso de la instalacion de ISS y PHP.






-------------------- Instalando IIS --------------------

Accesamos a: INICIO(Start) >> PANEL DE CONTROL(Control Panel) >> AGREGAR/QUITAR PROGRAMAS(Add/Remove Programs) y en la ventana que se nos despliega, da click en el boton: AGREGAR/QUITAR COMPONENTES DE WINDOWS(Add/Remove Windows Components), en seguida se abrira otra ventana [Ver Imagen 1], en seguida da click sobre Internet Information Services y da click en DETALLES y palomea las opciones de [Ver Imagen 2]:

-Common Files.
-File Transfer Protocol.
-Internet Information Services.
-SMTP Services.
-World Wide Web Services.

Ahora ACEPTAMOS/OK todo y esperamos a que Windows Instale los componentes necesarios.

NOTA: si utilizas Apache deberas desinstalarlo o bien Quitarlo del Inicio del Sistema.






-------------------- INSTALANDO PHP --------------------

Una vez descargado el paquete comprimido de PHP, lo descomprimes y renombras como: php, despues lo pones en la Raiz del Sistema y quedaria asi:

C:\php

Accedes al directorio php y encontraras el archivo php.ini-dist, lo renomrbas y quedara asi [Ver Imagen 22]: php.ini

En seguida crea la carpeta extras (si es que no existiese), y copia en dicha carpeta el archivo browscap.ini [Ver Imagen 21].

Sal del directorio extras y abre el archivo php.ini, Busca la linea de browscap y modificala poniendo la direccion del browscap.ini [Ver Imagen 23].

Finalmente nos sercioramos que en la raiz del directorios php(C:\php\) se encuentre el archivo DLL isapi de neustro php [Ver Imagen 22]. Este archivo se llamaria asi: php[VERSION]isapi.dll, en los PHP anteriores al 5 se encuentra en el directorio sapi.






-------------------- CONFIGURANDO IIS con PHP --------------------

En esta parte veremos la configuracion que se adapta para cualquier version de Windows, y mas abajo unos TIPS extras para los Windows Server(NT/2000/Business SErver 2003), pero recuerden NO brincarse esta parte, ya que en todos los Windows es necesario hacer esta configuracion.

Entramos a INICIO(Start) >> PANEL DE CONTROL(Control Panel) >> HERRAMIENTAS DE ADMINISTRADOR(Admin Tools) y en la ventana que estamos ahora, abrir Internet Information Services [Ver Imagen 3.

Se abrira una Ventana Nueva y Abrimos las Ramas:

Internet Information Service >> YOUR_SERVER_NAME >> WEB SITES y aparecera Default Web Site]]. Damos click derecho sobr enuestro Default Web Site y Stop [Ver Imagen 11](detenemos el servicio), ahora click Derecho Nuevamente y Propiedades [Ver Imagen 4].

Se abrira otra ventana referente a la configuracion d eneustro Default Web Site, y nos situamos en la pestana ISAPI Filters y pulsamos el boton ADD y configuramos[Ver Imagen 5]. En esta parte le dimos a ISS el ISAPI DLL de nuestro PHP.

Nos posicionamos en la pestana Home Directory y en la parte de Application Settings configuramos asi: [Ver Imagen 6]. Ahi mismo pulsamos el boton Configuration y en la pestana Mapping y pulsamos ADD [Ver Imagen 7], en esta parte agregar le diremos la extension de nuestras hojas PHP (.php) y junto el ISAPI DLL de nuestro PHP. [Ver Imagen 8].

Ahora vamos a la pestana Documents y pulsamos ADD y agregamos nuestra index para archivos PHP [Ver Imagen 9]. Despues eliminamos las demas de esa misma lista para que queden solo 2 en la lista [Ver Imagen 10].






-------------------- CONFIGURACION EXTRA DE ISS CON PHP PARA SERVIDORES --------------------

En esta parte veremos una configuracion extra que se realiza en Windows NT/2000/Small Business Server 2003.

En la ventana de Internet Information Services nos aparece una Carpeta Extra, la cual es Web Service Extensions. Damos click en dicha carpeta y del lado derecho aparecera un listado de las Extensiones Permitidas para el Servidor, pulsamos Add a new WebService Entension... [Ver Imagen 1_SRV] y saldra una ventana donde Agregamos el nombre PHP y proporcionamos la ISAPI DLL de nuestro PHP [Ver Imagen 2_SRV].

Finalmente aparecera en nuestro listado la Extension PHP de nuestro SAPI DLL PHP, nos sercioramos que aparezca ALLOWED, de caso contrario solo damos click a nuestra Extension PHP y pulsamos el boton ALLOW [Ver Imagen 3_SRV].






-------------------- CONFIGURANDO PATH DE WINDOWS Y REGISTRO --------------------

Damos Click Derecho y Propiedades sobre el icono de Mi PC(My PC) [Ver Imagen 12], nos posicionamos en la pestana Advanced y pulsamos el boton Environment Variables y aparecera una nueva ventana [Ver Imagen 13].

En la parte de System Variables buscamos la variable Path y pulsamos Edit [Ver Imagen 14]. Agregamos la direccion donde tenemos el PHP [Ver Imagen 15], en mi caso lo tengo en: C:\php444.

Con esto finalizamos la configuracion de las Variables, ahora vamos a INICIO(Start) >> EJECUTAR (Run) y escribimos: regedit.

La ventana del RegEdit [Ver Imagen 18] la dejamos abierta para checar la configuracion que haremos en los siguienets pasos, recuerda utilizar la direccion a TU PROPIO PHP, ya que yo utilizo la direccion C:\php444:

1- Abrimos el Block de Notas(Notepad) escribimos como se muestra en la imagen [Ver Imagen 16] y guardamos el archivo como: phpexe.reg. Este archivo .reg lo ejecutamos y ACEPTAMOS, ya que nos guardara en el registro la direccion a nuestro php.exe que esta ubicado nuestro PHP (C:\php444 en mi caso).

2- Abrimos un nuevo Block de Notas(Notepad) y escribimos como se muestra en la imagen [Ver Imagen 17] y guardamos el archivo como: phpini.reg. Este archivo .reg lo ejecutamos y aCEPTAMOS, ya que guarda la direccion donde esta guardado nuestro php.ini correspondiente a donde tenemos PHP instalado (C:\php444 en mi caso).

Regresamos a la ventana del RegEdit que habiamos dejado abierta y nos vamos hacia la siguiente direccion del arbol: HKEY_LOCAL_MACHINE >> SYSTEM >> CURRENT CONTROL SET >> SERVICES >> W3SVC >> PARAMETERS >> SCRIPT MAP y nos sercioramos que aparezca la variable registrada a la direccion del nuestro php.exe [Ver Imagen 19].

Ahora accedemos a esta otra direccion del arbol: HKEY_LOCAL_MACHINE >> SOFTWARE >> PHP y nos sercioramos que aparezca la variable registrada a la direccion hacia nuestra carpeta donde tenemos PHP instalado [Ver Imagen 20].








-------------------- REINICIO(Opcional) Y PHP FUNCIONANDO --------------------

Finalmente si deseamos podemos reiniciar el Systema, pero en si NO es necesarios xD, ahora solo regresamos a la ventana de: Internet Information Services y damos CLICK DERECHO y PROPIEDADES sobre nuestro Default Web Site y nos posicionamos en la pestana de ISAPI Filters y checamos que este en verde ;) [Ver Imagen 24].

Con esto concluye la configuracion y funcionamiento de nuestro PHP de la mejor forma :D. Espero y haya sido de su agrado, entendimiento y haya sido de gran ayuda ;).








-------------------- AGRADECIMIENTOS --------------------

Foro.elHacker.net
Staff: el-brujo, SoulLost, Zeo, otros..... Gracias por Ayudarme tanto y por la existencia del foro :D

Foro elRincondelC
Staff: gorka, rir y otros que se me escapen jijiji.... Gracias por su atencion, pasciencia y por un foro tan cool de programacion.

Foro Piratas Informatico
Staff:BenRu....  Gracias por la Invitacion al Foro y Muy Buena genete que anda por aqui ;)

Foro EspacioLinux
Staff: Al equipo Etel, que se esmeran por hacer Linux para todos jejeje y brindan la mejor ayuda que pueda haber en los foros de linux :D

Foro MCTekk
Staff: SparoHawk por tener una web de Anime tan interesante, por la atencion y buena raza :D








-------------------- NOTAS DEL AUTOR --------------------

Este Manual fue realizado el 21 de Diciembre del 2006 por:

Diabliyo
darkdiabliyo@hotmail.com
http://elite-mexicana.blogspot.com
http://darkdiabliyo.iespana.es (Mi Repositorio de Archivos)

Asi que cualquier queja y duda es bienvenida...

Cualquier Publicacion porfavor se pide que se conserve el nombre del Autor y se Respete la informacion :D.

Slackware, el mejor !!!

byeee
#174
Hola:

Utilizo PHP 4.4.4, Apache 2.0.59 y SO Windows XP SP2.

Intento enviar un email y me marca el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\web\email.php on line 34

Dejo este pedazito de mi php.ini:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =


Y tambien lo referente a mail en el phpinfo():

---PHP Core---
sendmail_from no value no value
sendmail_path no value no value
SMTP localhost localhost
smtp_port 25 25

---standard---
Internal Sendmail Support for Windows  enabled


Otro Dato Importante talvez
Estoy en una Red Windows Small Business 2003 con ActiveDirectory y Controlador de Dominios.

Server IP: 192.168.1.1
Router Internet IP: 192.168.1.254
Mi IP: 192.168.1.11

El firewall del Router de Internet esta en modo normal, permie filtrado de datos de todo tipo (como si estuviera en DMZ), pero solamente no permite programas P2P, te conecta pero con Baja ID o bien con poco ancho de banda.

Los demas usuarios de la Red utilizan Outlook para envio/recepcion de correos y funcionan a la perfeccion !!!

Soy el Admin de dicha red, asi que NOSE que pueda hacer al respecto con PHP o en el SERVER o MI MAQUINA para poder utilizar la funcion mail().

Que puedo hacer ??

Gracais de antemano por su ayuda !!
#175
PHP / Limite de consultas en MySQL desde PHP !!???
11 Diciembre 2006, 16:44 PM
Hola:

Me ha surgido este error:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\web\modulos\backups.php on line 18

La linea 18 es la linea donde esta el mysql_query() el cual esta perfectamente echo y formado, ademas de 1900 datos a insertar, solo inserta 900 mas o menos y deja de insertar lanzando el error ya mencionado en la hoja PHP :(.

Cual es la mejor forma de solucionar este problema ???, haciendo un time() para que al momento de llegar a 20 segundos, espere 1 segundo y continue insertando ??? o como :S ???

Este mismo error sale conectando a la BDD MySQL tanto como usuario hasta como root :(.

bye
#176
PHP / Como Instalar PHP en IIS !!!???
7 Diciembre 2006, 19:50 PM
Hola:

Uso IIS en mi empresa sobre un Windows Small Business Server 2003, estoy intentando dejar listo el PHP para empezar a realizar aplicaciones Web.

Segun lo que he leido por ahi sobre como instalar PHP en IIS, los pasos realizados fueron los siguientes:

1-Como utilizo C:\Inetpub\wwwroot para alojar mis paginas, tons abri el Manejador de IIS, despues abro la rama de Web Sites y click DERECHO y Propiedades sobre Default Web Sites, voy a la pestaña ISAPI Files y agrego el dll. (ver imagen)

http://darkdiabliyo.iespana.es/fortune/001.JPG

2-Voy hacia la pestaña de Home Directory y agrego el Ejecutable/extensión. (ver imagen).

http://darkdiabliyo.iespana.es/fortune/002.JPG

3-Entro a la carpeta de la rama, llamada WebService Extensions y agrego un nuevo servicio como nombre PHP y ejecutable/s asi (ver imagen).

http://darkdiabliyo.iespana.es/fortune/003.JPG

4- Finalmente dejo una imagen de la pestaña Documents para no dejar dudas sobre la conf. del IIS.

http://darkdiabliyo.iespana.es/fortune/004.JPG

Reinicio Servicio IIS:
C:\> net stop iisadmin
C:\> net start iisadmin
C:\> net start w3svc


Intento acceder al sitio y no puedo cargar la pagina PHP (index.php) :(.

Intento con: localhost  y nomas se keda pensando.
Intento con: localhost/otra.html y se carga la pagina satisfactoriamente.

Que estoy haciendo mal ??? que me falta ??

Gracias por su ayuda y tiempo !!

byee
#177
Hola:

Intento conectarme a MySQL pero no me deja :(, este es el error:

Fatal error: Call to undefined function mysql_connect() in C:\web\modulos\funciones_bdd.php on line 4

Ya tengo como 3 años programando en PHP y no habia experimentado un error de este tipo :S, ya cheque la funcion y esta bien, creo que la bronca es el PHP.

Aqui paresita del httpd.conf:
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module C:\php\php5apache2_2.dll
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so


Aqui le dejo la funcion de conectar():
<?php
function conectar()
{
if( ($linkmysql_connect"localhost""user""password" )) == FALSE )
{
echo "<span>Problemas para Conectar con la Base de Datos.<br>";
echo mysql_error$link );
echo "</span>";

return 0;
}

else if( mysql_select_db"fortune" )==FALSE )
{
echo "<span>Problemas para Seleccionar Base de Datos.<br>";
echo mysql_error($link);
echo "</span>";

return 0;
}

return $link;
}
?>


Aqui mi php.ini:
[PHP]
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.  Specify the location of the extension with the
; extension_dir directive above.


; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

;extension=php_mbstring.dlle
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off


byee
#178
Hola:

PHP es muy sencillo ya que tiene cierta similitud con C... pero he llegado a la parte de MySQL con PHP, e hice mi primer aplicacion que es un tipo LIBRO DE COMENTARIOS... se que no esta perfecto ni nada, que no esta ocultado lo que NO se debe de ver ( pass y basedd ), pero quiero primero verque mis codigos compilen y jalen bien, despues buscare el mejoramiento mas avanzado...  Por ahora me trabe aqui en mi LIBRO DE COMENTARIOS... nose porke...chequen mi codigo..

<html>
<head>
<title>Aprendiendo PHP</title>
</head>

<body>
<center>
<form action="insertar.php" method="POST" name="comentarios">
<table cellpadding="5" cellspacing="10" border="0">
<td>Nick: </td><td><input type="text" size="30" name="txtnick"></td><tr>
<td>E-Mail: </td><td><input type="text" size="30" name="txtemail"></td><tr>
<td colspan="2">Comentario:<br><textarea rows="10" cols="60" name="txtcomentario"></textarea></td><tr>
<td colspan="2" align="center"><input type="submit" value="Enviar"></td>
</table>
</form>
</center>
<p align="center"><b>MESAJES HASTA AHORA</b></p>
<?php
$server"localhost";
$user"root";
$pass"mipass";
$base"td_inicia";
$idmysql_connect$server$user$pass );  <------------ War 23
mysql_select_db$base$id ); <------------ War 24
$consulta'select nick, email, mensaje from td_inicia;';
$id_consultamysql_query$consulta$id ); <------------ War 26
$nfilasmysql_num_rows$id_consulta ); <------------ War 27
?>

<center>
<table cellpadding="4" cellspacing="3" border="0" bgcolor="#7BA9E8">
<?php
for( 
$i=0$i<$nfilas$i++ )
{
$respuestamysql_fetch_array$id_consulta );
print( "<tr>" );
print( "<td>Nick: "$respuesta['nick']. "</td>" );   <---------------  LIENA 36
print( "<td>email: "$respuesta['email']. "</td>" );
print( "<tr><td colspan=2>"$respuesta['mensaje']. "</td>" );
}
?>

</table>
</center>
</body>
</html>


El error que me manda es este:
Parse error: parse error in c:\web\index.php on line 36

Gracias por su atencion, esperare respuesta !!

byeeee
#179
Java / Sobre Java !!
5 Mayo 2004, 17:06 PM
Hola:

Algun buen tuto en especial que me recomienden, ???...

byee
#180
Hola:

Soy un Mega Fanatico de este juegazo..... el unico problemilla que he tenido (y nose si les pase a ustedes tambien), es que baje el Breakthrough y cuando lo estaba jugando, ahi una parte del juego en el que al bajar unas escaleras o cierto lugar me saca al MENU PRINCIPAL (donde elijes NEW GAME o MULTIPLAYER).

Nose porque, pero me pasa lo mismo con mi PC y mi PORTATIL. Ya baje el juego 2 veces (de diferentes usuarios la imagen) y es lo mismo :(....

Estas son las caracteristica de mis maquina (aunque NO creo que ese sea le problema):

--------- PC ---------
Pentium 4 2.0GHz
256 MB-RAM
Tarjeta de Video: ATI Radeon ALL IN WONDER 64MB
SO Windows XP Prof. y Drivers Actualizados

--------- PORTATIL ---------
Pentium 4 1.7GHz
128 MB-RAM
Tarjeta de Video: ATI Radeon 32MB
SO Windows XP Pro. y Drivers Actualizados

Porfas alguien que le suceda lo mismo ??  :'(

byeeeeeeeee