elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
41  Programación / Scripting / Cual es la mejor opción a corto plazo en: 7 Enero 2014, 15:41 pm
Hola foro, perdón por esta pregunta que quizás para muchos de ustedes sea un poco tonta, pero para terminar mi educación en LAMP, me falta aprender 2 tecnologías que considero son muy importantes, entre ellas Phyton y Perl.

Y quería preguntar a los expertos acá, por cual de ambas tecnologías debería empezar y cual es mejor manejar a corto plazo, porque no quiero meterme en ambas solo quisiera meterme en una de lleno hasta conocer al menos un 40%.

Espero me puedan ayudar.

Saludos Cordiales.



Bueno, leyendo temas antiguos en el mismo foro y en otros sitios web, he ido marcando uno por uno, y he llegado a la conclusión de que Python es mucho mejor que Perl, incluso Google lo usa, entonces creo que me voy a inclinar por el mismo.

Saludos cordiales.
42  Foros Generales / Noticias / YouTube y Netflix son responsables de la mitad del tráfico de datos en Norteamér en: 14 Noviembre 2013, 16:09 pm
YouTube y Netflix son responsables de la mitad del tráfico de datos en Norteamérica


Por otra parte, el tráfico de datos por redes P2P descendió por primera vez a menos del 10% del total en esa región.

Los analistas de la empresa canadiense Sandvine lanzan regularmente reportes sobre las tendencias mundiales del tráfico de datos en Internet, en el que reportan que por primera vez el intercambio de archivos por redes P2P bajó a menos del 10% del total del tráfico de datos en Norteamérica, una tendencia que se ha venido dando estos últimos años gracias a los servicios por streaming.

Este auge del streaming se puede ver además en que la descarga promedio mensual en la región del Asia-Pacífico de datos móviles ahora alcanzó 1GB, donde el 50% corresponde a streaming de video; y porque ahora en Norteamérica más del 50% de la descarga de datos desde servicios de Internet fijo corresponde a la suma de YouTube con Netflix.

El reporte asegura que en Norteamérica el 31,6% del tráfico de datos corresponde a YouTube, mientras que el otro 18,6% corresponde a Netflix, el que según la empresa tardó cuatro años en alcanzar la quinta parte del tráfico de datos en Estados unidos.

Fuente: :http://www.fayerwayer.com/2013/11/youtube-y-netflix-son-responsables-de-la-mitad-del-trafico-de-datos-en-norteamerica/
43  Foros Generales / Noticias / Facebook no consigue comprar SnapChat ni por 3.000 millones en: 14 Noviembre 2013, 16:01 pm
Facebook no consigue comprar SnapChat ni por 3.000 millones


Tres mil millones no son suficientes. El gigante Facebook no ha podido comprar un enanito llamado, Snapchat, una red social juvenil que hace desaparecer fotos y vídeos 10 segundos después de su envío.

El precio que pagaba Facebook por SnapChat, del que ha informado The Wall Street Journal- es muy superior a sus ingresos, a su evaluación financiera incluso a sus usuarios, pero tienen algo que Facebook persigue desesperadamente, como se ha visto por la intentona, juventud. La misma que intentó obtener con la compra de Instagram.

Snapchat, creado por los jóvenes Bobby Murphy (24 años) y Even Spiegel (22 años) hace dos años en la universidad de Stanford, tiene 5 millones de usuarios diarios que envían 350 millones de mensajes, según los datos de esta red social. En diciembre, los usuarios eran tres millones y se envían 60 millones de fotos.

Hace unos meses, la red consiguió una financiación de 65 millones de dólares (48 millones de euros) y la empresa fue valorada en 850 millones de dólares (595 millones de euros).

En estos dos años, Snapchat ha ido añadiendo funcionalidades como el vídeo y, en octubre, su función Story, en donde las imágenes se mantienen vigentes durante 24 horas sin ser borradas.

Pese a que SnapChat es criticada frecuentemente porque su sistema sirve principalmente para enviar fotos picantes, por su carácter de autodestrucción en segundos, sus fundadores esperan que el valor de la empresa siga creciendo en usuarios y mensajes por lo que hasta el año que viene no tienen pensado escuchar ofertas.

“No puedes crear un negocio basado en el sexting”, declaraba hace unos meses Spiegel a The New York Times, empleando el término que designa el envío de imágenes picantes a través de chats de texto. “Es un caso específico. Pero esto es mucho más”.

La oferta de Facebook es la mayor de sus historia. Hasta ahora el récord lo tenía la adquisición de Instagram, por la que pagó mil millones de dólares (765 millones de euros). La aplicación de filtros fotográficos tenía 30 millones de usuarios y eso que, por entonces, solo servía para los iPhone. Ahora daba el triple por la sexta parte de usuarios.

La iniciativa de la primer red social refleja su preocupación por la fuga de usuarios jóvenes -o, al menos no aumento- como pusieron de manifiesto los directivos en la última presentación de resultados económicos de la red. SnapChat podría poner remedio a ese agujero, aunque también confiaban en Instagram para ello y, al parecer, no ha atajado el problema.

Fuente: :http://tecnologia.elpais.com/tecnologia/2013/11/14/actualidad/1384424484_214107.html
44  Programación / PHP / API MySQLi en: 12 Noviembre 2013, 21:22 pm
Buenas foro.

Voy a dar una explicación un tanto superficial pero muy útil sobre el mysqli, voy a dejar una clase de abstracción y algunos ejemplos con los que podrán trabajar en adelante.

Primero lo primero:

Requieres una versión 5.3.6 o superior de PHP.

MySQLi, es el conector para bases de datos MySQL recomendado por PHP, para interactuar desde tu aplicación con una base de datos MySQL.

¿qué es exactamente mysqli y en qué se diferencia de mysql?

Básicamente, como bien se define en el manual oficial de PHP, mysqli es “una extensión mejorada del conector mysql”.

Entre las principales diferencias, se encuentran además, sus dos grandes ventajas:

  • Permite trabajar en estilo orientado a objetos (también continúa proveyendo soporte para estilo procedimental);
  • Nos facilita una forma segura de filtrado de datos en sentencias SQL, para prevenir inyecciones SQL;

Sin dudas, mysqli es una gran ventaja frente al antiguo conector. Tiene una gran cantidad de clases, métodos, constantes y propiedades muy bien documentados.

Propiedades

Nuestra capa de abstracción, tendrá una única propiedad pública, destinada a almacenar los datos obtenidos tras una consulta de selección. El resto de las propiedades, serán de ámbito protegido, accesibles solo desde nuestra clase y clases que hereden de ésta.

Código
  1. class DBConnector {
  2.   protected static $conn; # Objeto conector mysqli
  3.   protected static $stmt; # preparacion de la consulta SQL
  4.   protected static $reflection; # Objeto Reflexivo de mysqli_stmt
  5.   protected static $sql; # Sentencia SQL a ser preparada
  6.   protected static $data; # Array conteniendo los tipo de datos más los datos a ser enlazados.
  7.   public static $results; # Coleccion de datos retornados por una consulta de selección
  8. }
  9.  

La consulta SQL, deberá ser seteada en los modelos (clases) donde se requiera, incluyendo marcadores de parámetros (embebidos con el signo ?), en la posición donde un dato deba ser enlazado. Un ejemplo de ella, podría ser el siguiente:

Código
  1. $sql = "INSERT INTO productos (categoria, nombre, precio)VALUES (?, ?, ?)";


Mientras que el array$data, deberá contener, como primer elemento, una string con el tipo de datos y los elementos siguientes, serán los datos a ser enlazados (todos de tipo string):

Código
  1. $data = array("isbd", "{$categoria}", "{$nombre}", "{$descripcion}", "{$precio}");

El primer elemento, siempre representará el tipo de datos correspondiente al marcador de parámetro que se desea enlazar. Siendo los tipos de datos posibles:
s (string), i (entero), d (doble) y b (blob).

Métodos

Conectar a la base de datos:

Código
  1. protected static function conectar() {
  2.   self::$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  3. }
  4.  

Requerirá 4 constantes predefinidas (se recomienda definir en un archivosettings): DB_HOST,DB_USER,DB_PASSyDB_NAME.

Archivo setting.php

Código
  1. define("DB_HOST", "localhost");
  2. define("DB_USER", "root");
  3. define("DB_PASS", "password");
  4. define("DB_NAME", "nombre_de_la_base_de_datos");
  5.  

Preparar una sentencia SQL (con marcadores de parámetros):

Código
  1. protected static function preparar() {
  2.   self::$stmt = self::$conn->prepare(self::$sql);
  3.   self::$reflection = new ReflectionClass('mysqli_stmt');
  4. }
  5.  

La clase ReflectionClass de PHP, cumple un papel fundamental: solo a través de ella podemos crear un objeto mysqli_stmtreflexivo, siendo ésta, la única alternativa que tenemos para preparar sentencias SQL con marcadores de parámetros, de forma dinámica.

La propiedad estática $sql (self::$sql) será creada por el único método público que tendrá la clase.

Enlazar los datos con la sentencia SQL preparada:

Código
  1. protected static function set_params() {
  2.   $method = self::$reflection->getMethod('bind_param');
  3.   $method->invokeArgs(self::$stmt, self::$data);
  4. }
  5.  

La propiedad estática $data que se pasa como segundo parámetro a invokeArgs, también será seteada por el único método público.

En este método (set_params), la variable temporal $method, llama reflexivamente (a través del método getMethoddereflectionClass), al método bind_paramde la clase mysqli.

En la siguiente instrucción, a través del método invokeArgsdeReflectionClass, le pasa por referencia a bind param, los datos a ser enlazados con la sentencia preparada (almacenados en el array $data). Podría decirse que invokeArgs, se comporta de forma similar a call_user_func_array().

Enlazar resultados de una consulta de selección:

Código
  1. protected static function get_data($fields) {
  2.   $method = self::$reflection->getMethod('bind_result');
  3.   $method->invokeArgs(self::$stmt, $fields);
  4.   while(self::$stmt->fetch()) {
  5.      self::$results[] = unserialize(serialize($fields));
  6.   }
  7. }
  8.  

Este método es uno de los más “complejos y rebuscados”, que incluso cuenta con algunas “pseudo-magias” un tanto “raras” como el uso de las funciones serialize y unserialize en la la misma instrucción. Pero analicémoslo detenidamente.

El parámetro $fields será recibido a través del único método público que crearemos en nuestra capa de abstracción (este método, a la vez, recibirá este dato, también como parámetro, pero opcional).

Este parámetro, será un array asociativo, donde las claves, serán asociadas al nombre de los campos, y el valor de esas claves, al dato contenido en el campo.

Si tuviese la siguiente consulta SQL:

Código
  1. SELECT nombre, descripcion, precio FROM producto WHERE categoria = ?

Mi array asociativo, podría paracerse al siguiente:

Código
  1. $fields = array("Producto" => "",
  2. "Descripcion" => "",
  3. "Precio" => "");
  4.  

mysqli->bind_result() enlazará el campo producto.nombre a la clave Producto, producto.descripcion a la clave Descripcion y producto.precio a la clave Precio.

Las instrucciones:

Código
  1. $method = self::$reflection->getMethod('bind_result');
  2. $method->invokeArgs(self::$stmt, $fields);

se comportan de forma similar, a sus homónimas en el método set_params. Llama reflexivamente al método bind_result de la clase mysqli y le pasa por referencia, el array $fields.

En el bucle while, estamos asociando iterativamente los datos obtenidos a nuestra propiedad pública$results. Pero ¿cómo lo hacemos? ¿para qué serializar y deserializar los datos?:

Código
  1. while(self::$stmt->fetch()) {
  2.   self::$results[] = unserialize(serialize($fields));
  3. }
  4.  

En cada iteración, stmt->fetch nos está retornando nuestro array $fields, asociado al registro de la tabla, sobre el cuál se está iterando.

Es decir, que en cada iteración, stmt->fetch nos retornará algo como esto:

Código
  1. // contenido del array $fields
  2. array("Producto" => "HD Magazine",
  3.  "Descripción" => "Magazine digital de edición mensual sobre Software Libre, Hacking y Programación",
  4.  "Precio" => "0.00");
  5.  

Pero nuestro array $fields, ha sido pasado por referencia.

Ergo, en cada iteración, su contenido será modificado.

Si a mi propiedad estática $results, le agrego como elemento, un array que está siendo modificado por referencia en el momento que lo estoy asignando a mi propiedad estática, mi propiedad estática, será también, modificada en cada iteración.

Para prevenir eso, serializo mi array$fieldsy lo almaceno en$resultsserializado. Pero como luego necesitará recuperarlo, ahorro un paso y lo deserializo en la misma iteración.

Al serializarlo, estoy “mágicamente” emulando una “inmutabilidad” de los datos asociados.

Cerrar conexiones abiertas:

Código
  1. protected static function finalizar() {
  2.   self::$stmt->close();
  3.   self::$conn->close();
  4. }
  5.  

Un método público que ejecute todas las acciones:


Código
  1. public static function ejecutar($sql, $data, $fields=False) {
  2.   self::$sql = $sql; # setear la propiedad $sql
  3.   self::$data = $data; # setear la propiedad $data
  4.   self::conectar(); # conectar a la base de datos
  5.   self::preparar(); # preparar la consulta SQL
  6.   self::set_params(); # enlazar los datos
  7.   self::$stmt->execute(); # ejecutar la consulta
  8.   if($fields) {
  9.      self::get_data($fields);
  10.   } else {
  11.      if(strpos(self::$sql, strtoupper('INSERT')) === 0) {
  12.         return self::$stmt->insert_id;
  13.      }
  14.   }
  15.   self::finalizar(); # cerrar conexiones abiertas
  16. }
  17.  

La estructura de control de flujo condicional, que utiliza el método ejecutar(), es la encargada de discernir si se trata de una consulta de “lectura” a la base de datos para así, llamar al método get_data, o si se trata de una consulta de “escritura” (INSERT, UPDATE o DELETE). En ese caso, verifica si es una escritura de tipo “INSERT” para retornar la id del nuevo registro creado.

Clase Completa:

Código
  1. <?php
  2. class DBConnector {
  3.  
  4.   protected static $conn; # Objeto conector mysqli
  5.   protected static $stmt; # preparación de la consulta SQL
  6.   protected static $reflection; # Objeto Reflexivo de mysqli_stmt
  7.   protected static $sql; # Sentencia SQL a ser preparada
  8.   protected static $data; # Array conteniendo los tipo de datos más los datos a ser enlazados
  9.   public static $results; # Colección de datos retornados por una consulta de selección
  10.  
  11.   protected static function conectar() {
  12.      self::$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  13.   }
  14.  
  15.   protected static function preparar() {
  16.      self::$stmt = self::$conn->prepare(self::$sql);
  17.      self::$reflection = new ReflectionClass('mysqli_stmt');
  18.   }
  19.  
  20.   protected static function set_params() {
  21.      $method = self::$reflection->getMethod('bind_param');
  22.      $method->invokeArgs(self::$stmt, self::$data);
  23.   }
  24.  
  25.   protected static function get_data($fields) {
  26.      $method = self::$reflection->getMethod('bind_result');
  27.      $method->invokeArgs(self::$stmt, $fields);
  28.      while(self::$stmt->fetch()) {
  29.         self::$results[] = unserialize(serialize($fields));
  30.      }
  31.   }
  32.  
  33.   protected static function finalizar() {
  34.      self::$stmt->close();
  35.      self::$conn->close();
  36.   }
  37.  
  38.   public static function ejecutar($sql, $data, $fields=False) {
  39.      self::$sql = $sql; # setear la propiedad $sql
  40.      self::$data = $data; # setear la propiedad $data
  41.      self::conectar(); # conectar a la base de datos
  42.      self::preparar(); # preparar la consulta SQL
  43.      self::set_params(); # enlazar los datos
  44.      self::$stmt->execute(); # ejecutar la consulta
  45.      if($fields) {
  46.         self::get_data($fields);
  47.      } else {
  48.         if(strpos(self::$sql, strtoupper('INSERT')) === 0) {
  49.            return self::$stmt->insert_id;
  50.         }
  51.      }
  52.      self::finalizar(); # cerrar conexiones abiertas
  53.   }
  54. }
  55. ?>
  56.  

Realizando un INSERT:

La tabla:

Código
  1. CREATE TABLE IF NOT EXISTS `productos` (
  2.  `id_productos` INT(11) NOT NULL AUTO_INCREMENT,
  3.  `categoria` VARCHAR(50) NOT NULL,
  4.  `nombre` VARCHAR(50) NOT NULL,
  5.  `descripcion` VARCHAR(200) NOT NULL,
  6.  `precio` DECIMAL(10,2) NOT NULL,
  7.  PRIMARY KEY (`id_productos`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  9.  

El codigo:

Código
  1. <?php
  2.  
  3. require_once("setting.php");
  4. require_once("connector.php");
  5.  
  6. // Estableciendo los parámetros a ingresar
  7.  
  8. $categoria = "Muebles";
  9. $nombre = "Ropero";
  10. $descripcion = "Estante de ropa";
  11. $precio = 1200.50;
  12.  
  13. // Iniciando el Insert
  14.  
  15. $sql = "INSERT INTO productos(categoria, nombre, descripcion, precio)VALUES(?,?,?,?)";
  16.  
  17. // Preparando los datos a insertar
  18.  
  19. $data = array("sssd", "{$categoria}", "{$nombre}", "{$descripcion}", "{$precio}");
  20.  
  21. // Ejecutando la Consulta
  22.  
  23. $insert_id = DBConnector::ejecutar($sql, $data);
  24.  
  25. // Imprimirá el ultimo ID ingresado
  26.  
  27. echo $insert_id;
  28.  
  29. ?>
  30.  

En caso de ser un update:

Código
  1. <?php
  2.  
  3. require_once("setting.php");
  4. require_once("connector.php");
  5.  
  6. // Estableciendo los parámetros a modificar
  7.  
  8. $id = 1;
  9. $nombre = "Ropero 2";
  10.  
  11. // Iniciando el UPDATE
  12.  
  13. $sql = "UPDATE productos SET nombre = ? WHERE id_productos = ?";
  14.  
  15. // Preparando los datos a insertar
  16.  
  17. $data = array("si", "{$nombre}", "{$id}");
  18.  
  19. // Ejecutando la Consulta
  20.  
  21. DBConnector::ejecutar($sql, $data);
  22.  
  23. ?>
  24.  

En caso de ser un DELETE

Código
  1. <?php
  2.  
  3. require_once("setting.php");
  4. require_once("connector.php");
  5.  
  6. // Estableciendo los parámetros a eliminar
  7.  
  8. $id = 1;
  9.  
  10. // Iniciando el DELETE
  11.  
  12. $sql = "DELETE FROM productos WHERE id_productos = ?";
  13.  
  14. // Preparando los datos a insertar
  15.  
  16. $data = array("i", "{$id}");
  17.  
  18. // Ejecutando la Consulta
  19.  
  20. DBConnector::ejecutar($sql, $data);
  21.  
  22. ?>
  23.  

En caso de realizar un SELECT:

Código
  1. <?php
  2.  
  3. require_once("setting.php");
  4. require_once("connector.php");
  5.  
  6. // Parametros de busqueda
  7.  
  8. $categoria = "Muebles";
  9.  
  10. // Iniciando el SQL
  11.  
  12. $sql = "SELECT nombre, descripcion, precio FROM productos WHERE categoria = ?";
  13.  
  14. $data = array("s", "{$categoria}");
  15.  
  16. $fields = array("Producto" => "", "Descripcion" => "", "Precio" => "");
  17.  
  18. // Ejecutando la Consulta
  19.  
  20. $values = DBConnector::ejecutar($sql, $data, $fields);
  21.  
  22. foreach ($fields as $key => $value) {
  23.   echo $value."<br>";
  24. }
  25.  
  26. ?>
  27.  

Espero les sirva.

Saludos cordiales
45  Comunicaciones / Redes / Bloqueo de IP publica en: 26 Septiembre 2013, 16:27 pm
Buenas,

Estoy experimentando problemas con el acceso a una página web y creo que es un problema de redes (IP).

Explico el problema...

Soy dueño de una IP publica y ofrezco web hosting en mi pais, y hace poco logre tener de cliente a una compañia muy grande que anteriormente estaba de cliente con otra empresa de web hosting mucho mas grande y con mas capital, esta empresa sigue siendo quien les ofrece el dominio, pero el hosting esta con mi empresa.

Se puede acceder al sitio web desde cualquier computador del mundo (creo yo), este es el sitio para verificacion: :http://www.elceibo.com/

Ahora bien, la compañia que accedio a poner su hosting con nosotros desde hace poco tiempo, no puede acceder al sitio web, ninguna de sus computadoras puede acceder al sitio web, pero si acceden a otros sitios web, a todos en realidad, únicamente a su propio sitio web no pueden acceder.

Revisamos su red, buscando prohibiciones y no existe ninguna, buscamos algun programa tipo "main in the middle" y tampoco hay nada, su red esta bien, entonces creemos que la empresa anterior ha bloqueado el acceso al sitio web para ellos únicamente, ya que ellos tambien cuentan con una IP pública desde la cual acceden al internet.

Ahora bien, la pregunta... Hay alguna forma de detectar que se ha prohibido el acceso via IP desde los servidores del dominio?
Porque necesitamos dar una solución al problema y no podemos hacer acusaciones sin tener pruebas.

Espero puedan ayudarme.

Saludos
46  Programación / PHP / Problema con los inputs y los arrays en: 21 Agosto 2013, 01:19 am
Buenas foro,

Estoy teniendo un problema con unos inputs que no me están devolviendo la información que requiero, sino que me esta cortando la información a cuando llega a los 38 o 39 datos, para explicarme mejor pongo el ejemplo:

Tengo un html/php que me genera inputs repetidamente las veces necesarias declaradas en una variable.

Código
  1. <?php
  2. $tope = 60;
  3. $is = 1;
  4.  
  5. while($is <= $tope){
  6. ?>
  7.  <input type="text" size="6" name="peso[<?php echo $is; ?>]" id="peso[<?php echo $is; ?>]" value="0"/>
  8. <?php
  9. $is ++;
  10. }
  11.  

Que como veran en el código me genera un input 60 veces y que lleva de nombre peso[1], hasta peso[60].
A cada input se le pone una información (en números) y se presiona el botón de submit.

Y al recibir los valores me pasa esto:

Código
  1. [peso] => Array
  2.        (
  3.            [1] => 0
  4.            [2] => 0
  5.            [3] => 0
  6.            [4] => 0
  7.            [5] => 0
  8.            [6] => 0
  9.            [7] => 0
  10.            [8] => 0
  11.            [9] => 0
  12.            [10] => 0
  13.            [11] => 0
  14.            [12] => 0
  15.            [13] => 0
  16.            [14] => 0
  17.            [15] => 0
  18.            [16] => 0
  19.            [17] => 0
  20.            [18] => 0
  21.            [19] => 0
  22.            [20] => 0
  23.            [21] => 0
  24.            [22] => 0
  25.            [23] => 0
  26.            [24] => 0
  27.            [25] => 0
  28.            [26] => 0
  29.            [27] => 0
  30.            [28] => 0
  31.            [29] => 0
  32.            [30] => 0
  33.            [31] => 0
  34.            [32] => 0
  35.            [33] => 0
  36.            [34] => 0
  37.            [35] => 0
  38.            [36] => 0
  39.            [37] => 0
  40.            [38] => 0
  41.        )
  42.  

No puedo recibir el valor del peso del 39 en adelante y hasta el 60.
Alguien sabe porque me esta pasando esto?

O es algo de teoría básica de PHP que desconozco y nunca podré hacer inputs válidos mayores a 38 datos, o que es lo que esta pasando...

Espero me puedan ayudar.

Saludos
47  Programación / Desarrollo Web / Jquery para principiantes en: 18 Junio 2013, 17:52 pm
Hola gente,

Pongo un enlace de videos tutoriales que me ayudaron bastante con Jquery, es para principiantes, pero a pesar de ello son muy buenos y explicativos.

Claro que hay un problema y este es que esta totalmente en ingles, lo pongo de todas formas porque se que somos una comunidad multi lenguaje.

Sin mas aquí les dejo el Link:

http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/

Espero les sirva, Saludos
48  Programación / PHP / Emisión de Reportes en: 18 Junio 2013, 16:33 pm
Buenas foro,

Conocen de algún script (Librería) en PHP que sirva para emitir reportes así como el JasperReports que sea para PHP y corra en Linux?

Saludos
49  Foros Generales / Foro Libre / cloud & outsourcing en: 7 Noviembre 2012, 14:13 pm
Hola gente  ;D

Tengo una duda sobre que es cloud & outsourcing, nose si alguno de ustedes me puede explicar que es con un ejemplo.

De antemano muchas gracias.

Saludos
50  Programación / Desarrollo Web / Existe forma de reemplazar el showModalDialog() por window.open() en: 20 Agosto 2012, 21:50 pm
Eso, quiero saber si existe forma de reemplazar el showModalDialog() por window.open().

Lo que pasa es que estoy haciendo un evento que cuanto se haga doble click en un textfield se abra una ventana donde se envien ciertos parámetros y en dicha ventana se realice alguna tarea adicional quizas una inserción a la base de datos y al finalizar se cierre y devuelva un valor al textfield que fue responsable de abrir esa ventana.

Ahora bien, con el showModalDiaglog() ya lo conseguí, pero en un archivo php limpio, cuando quiero integrarlo a mi modulo el showModalDiaglog() no me esta funcionando para nada y no entiendo porque, quizas porque estoy usando varios .js incluidos, desconozco la relación de conflicto que puedan tener, ademas estoy usando un contador en php para enumerar cada textfield porque seran como 15 que deben tener la misma característica algo asi como
Código
  1. id="nombre[<?php echo $contador; ?>]"
entonces se dificulta mucho en el momento de envio de parámetros.

Entonces probe lo mismo con window.open y me funciona tranquilamente, puedo enviar un parámetro por GET (url) a la ventana nueva, pero no se como hacer para al finalizar una accion en dicha ventana, esta se cierre y me devuelva otro valor al textfield que la invocó, nose si me explico.

Espero me puedan ayudar.

Un saludo
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines