![]() |
Como Rotar banners con estadísticas En esta ocasión voy a demostrarles cómo armar un rotador de banners con estadísticas de clicks e impresiones. Para poder hacer un buen rotador de banners con sus estadísticas correspondientes, vamos a hacer una tabla en una base de datos MySQL. ban_id es índice y se auto incrementa con cada nuevo registro añadido, contiene la id de cada banner. ban_url es donde almacenaremos las direcciones de los sitios. ban_img es donde almacenaremos las direcciones de los banners. ban_click es donde pondremos la cantidad de clicks de cada banner. ban_impre es donde pondremos la cantidad de impresiones de cada banner. Comencemos con lo más fácil, el rotador. Para el rotador usaremos el siguiente código: banner.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } $qbaney = mysql_query("SELECT * FROM tabla"); mt_srand(time()); $max = mysql_num_rows($qbaney); $rand = mt_rand(1,$max); $sqldo = mysql_query("SELECT * FROM tabla WHERE ban_id='$rand'"); while($ban = mysql_fetch_assoc($sqldo)) { echo "<a href='click.php?id=".$ban['ban_id']."' target=_blank>”. “<img src='".$ban['ban_img']."' width=468 height=60 border=0></a>"; } mysql_query("UPDATE $table15 SET ban_impre=ban_impre+1 WHERE ban_id='$rand'"); ?> Vamos a traducir el código línea por línea: 1. Si se puede establecer una conexión al motor MySQL... 2. Se selecciona una base de datos. 3. De lo contrario... 4. Se imprime “Hubo un error, disculpa las molestias”. 5. Se sale del programa. 6. Se cierra el IF. 7. Se selecciona todo de la tabla. 8. Se crea la semilla del rotador (mejorado). 9. Se cuentan todos los banners y se los guarda en $max. 10. Se genera un número aleatorio entre 1 y el máximo ($max). 11. Se selecciona un banner de la tabla donde el campo ban_id sea igual al número aleatorio. 12. Mientras $ban sea un array asociativo... 13. Imprimir en la pantalla un link a click.php?id= id elegido en la tabla. 14. La imagen desde la dirección almacenada en la tabla, cerramos link. 15. Cerramos el while. 16. Actualizamos la tabla con una impresión más de la que ya había. Ese fue el rotador de banners con contador de impresiones. Ahora nos falta el contador de clicks y redireccionador al sitio donde pertenece el banner. Para eso, guardamos el siguiente archivo: click.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } mysql_query("UPDATE tabla SET ban_click=ban_click+1 WHERE ban_id='{$_GET['id']}'"); $showurl = mysql_query("SELECT * FROM tabla WHERE ban_id='{$_GET['id']}'"); while($rowed = mysql_fetch_assoc($showurl)) { header("Location: ".$rowed['ban_url']); } ?> Comenzaremos a leer desde la línea siete, ya que las seis primeras son iguales a las del archivo anterior. 7. Se actualiza la cantidad de clicks en el banner contenido en $_GET[‘id’]. 8. Se muestra la información como un array asociativo. 9. La página es redireccionada al sitio del banner. Para ver sus estadísticas pueden crear una página que muestre los datos de cada campo, eso es muy fácil de hacer, y les doy el ejemplo con el campo de ban_id ;-) admin.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } $sel = mysql_query("SELECT * FROM tabla"); echo "<table width=100%>"; while($show=mysql_fetch_assoc($sel)) { echo "<tr>". "<td>".$show['ban_id']."</td>". "</tr>"; } echo "</table>"; ?> Lo que haría es: 7. Seleccionar todo de la tabla 8. Imprimir el tag de la tabla HTML 9. Se muestra la información como un array asociativo 10. Se abre una fila 11. Se imprime la celda con el id 12. Se cierra la fila 13. Se cierra el while 14. Se cierra la tabla HTML NOTA 1: Un error común que todos hacemos es usar mysql_fetch_array() en vez de mysql_fetch_assoc(). Esto nos da un gasto de procesos innecesarios, ya que con array abrimos tanto un índice numeral como el índice asociativo (nombre del campo). Usando assoc directamente, nos ahorra tiempo si solo necesitamos usar los nombres de los campos para nuestras aplicaciones. NOTA 2: Colocando un @ antes de una función evita (no en todas las funciones) que se muestre un mensaje de error, en caso que algo salga mal. Es por eso que cuando algo salga mal en la conexión al motor MySQL, sólo se mostrará el mensaje que he colocado. Espero que les haya sido tan útil como a mí este pequeño script y que lo disfruten mucho ;-) Cuenten muchos clicks e impresiones! |
Como Utilizar cookies en PHP En un artículo anterior explicamos qué son y cómo utilizar las cookies con ASP, para aquellos que no leyeron les comentaremos nuevamente de que se tratan las cookies. ¿Qué es una cookie? Una cookie es un archivo de texto de peso sumamente bajo que se guarda en la PC del usuario, y son enviados por algunos servidores para almacenar datos para que puedan ser utilizados después. Algunos de los usos más frecuentes que se les suele dar a las cookies son: • Guardar información como nombre de usuario y contraseña • Guardar las preferencias del usuario • Guardar el nombre del usuario, u otros datos • Y muchísimos usos más Función setcookie() Se encarga de crear la cookie definiendo sus propiedades. La sintaxis es: setcookie (nombre, contenido, expiracion (segundos), path, dominio, seguridad) Toda cookie debe definirse antes de que comience la cabecera de la página (es decir, antes de la etiqueta <html>) ya que es una restricción que poseen, no tiene nada que ver con PHP. Todos los parámetros de la sintaxis anterior son opcionales menos nombre, el cual debe tener si o si un valor para poder crearla. Escribir y recuperar una cookie Para entender el funcionamiento de la función setcookie veremos el siguiente ejemplo: Código PHP: |
Recomendar Sitio Tema: Recomendar Sitio web Pregunta: ¿Como recomendar mi sitio web a un amigo? Respuesta: Con el siguiente ejemplo podremos crear nuestro Recomendador, ademas podrias agregar comprobaciones para que no queden sueltos algunos campos. Código PHP: Recomendar un sitio! |
Tema: Error Pregunta: Mi sitio esta publicado en un servidor(como ej:www.tripod.lycos.com/) y en las paginas no me salen las advertencias de errores que suelo ver en mi PC. ¿Hay alguna menare de verlos? Respuesta: Todos los servidores de hosting desavilitan la muestra de errores como "undefinided variable cTextoVeta". Nosotros en nuestra PC simplemente podemos modificar el php.ini donde editamos esta linea: error_reporting= E_PARSE; Pero no podemos editar la de un server. Por eso si queres ver detalles de error por diversos motivos, puedes agregar esta linea al principio de tu página: <? ini_set ('error_reporting', E_ALL); ?> Y con esto podras ver todos las advertencias de errores. Tambien existe una funcion especifica para cambiarlo:error_reporting(), de esta función pueden ver mas en www.php.net/error_reporting. |
TEMA: Cadenas y Loops Pregunta: Como recorrer el abecedario de forma simple? Utilizando un sencillo bucle FOR, ya que esta construcción permite usar caracteres como elementos de comparación e incremento. Digamos que quieres recorrer de la a a la m Código PHP: Código PHP: |
Como hacer Reportes con la clase PDF de R&OS Como generar un reporte PDF? Bueno, primero que nada un agradecimiento a cadrogui y a cluster por sus tips y contribuciones a este usuario inexperto. Con la inquietud de generar reportes para PHP, me recomendaron la clase PDF de R&OS (la cual la pueden encontrar en http://ros.co.nz/pdf) genere el siguiente script para una tabla MySQL. A este reporte pueden modificar los headers de la tabla, las columnas las pueden formatear de acuerdo a sus necesidades, pueden modificar los encabezados y demas. Ademas al final nos da un total por importe, anticipo y numero de registros. Espero y les sea de utilidad como a mi. Saludos :adios: Jose de Jesus Segundo Monterrey - Mexico Código PHP: http://www.industrialmexicana.com/finanzas.jpg |
Como generar un reporte PDF? Parte 2 Aqui esta un volcado de ejemplo para que utilicen o tomen como ejemplo para este reporte. # phpMyAdmin MySQL-Dump # version 2.2.6 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # servidor: 127.0.0.1 # Tiempo de Generacion: 02-12-2003 a les 12:50:55 # Version del Servidor: 3.23.49 # Version del PHP: 4.3.2 # Base De Datos : `indmex` # -------------------------------------------------------- # # Estructura de tabla para tabla `contratos` # DROP TABLE IF EXISTS contratos; CREATE TABLE contratos ( id int(11) NOT NULL auto_increment, contrato int(6) NOT NULL default '0', cliente varchar(70) NOT NULL default '', tipo char(1) NOT NULL default '', serie varchar(6) NOT NULL default '', modelo varchar(20) NOT NULL default '', cantidad double NOT NULL default '0', fechareg date NOT NULL default '0000-00-00', fechacomp date NOT NULL default '0000-00-00', importe double NOT NULL default '0', listamat char(1) NOT NULL default '', fechalm date NOT NULL default '0000-00-00', anticipo double NOT NULL default '0', fechaant date NOT NULL default '0000-00-00', compras char(1) NOT NULL default '', fechacompra date NOT NULL default '0000-00-00', fechaprod date NOT NULL default '0000-00-00', prod_c char(1) NOT NULL default '', prod_p char(1) NOT NULL default '', prod_d char(1) NOT NULL default '', prod_s char(1) NOT NULL default '', fechater date NOT NULL default '0000-00-00', embarcado char(1) NOT NULL default '', pagado char(1) NOT NULL default '', terminado char(1) NOT NULL default '', pedido varchar(25) NOT NULL default '', descripcion varchar(50) NOT NULL default '', vendedor varchar(15) NOT NULL default '', producto int(4) NOT NULL default '0', oficina int(4) NOT NULL default '0', PRIMARY KEY (id), KEY contrato (contrato,cliente,tipo,serie,modelo), KEY listamat (listamat) ) TYPE=MyISAM; # # Volcar la base de datos para la tabla `contratos` # INSERT INTO contratos VALUES (1, 467, 'INGRIA. ESPECIALIZADA EN REFRIG., SA CV', 'R', '', 'BOMBA 1.5HP #300210', '1', '2003-11-13', '2003-12-25', '9173.39', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'IERI-138-03', '1BOMBA 1.5HP', 'RAR', 605, 1); INSERT INTO contratos VALUES (2, 468, 'CANCELADO (FRYVITEC)', 'R', '', 'SELLADOR BUTYLO', '2', '2003-11-13', '2003-11-14', '0', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-11-13', '', '', '', '', '2003-11-14', '', '', 'C', 'S/N', 'SELLADOR BUTYLO', 'FLR', 605, 7); INSERT INTO contratos VALUES (3, 469, 'CONDOMINIO WORLD TRADE CENTER CD. MEXICO', 'R', '', 'REFAC. VARIAS', '0', '2003-11-13', '2003-12-04', '17302.84', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'S/N', 'REFAC. VARIAS', 'AFG', 605, 2); INSERT INTO contratos VALUES (4, 470, 'FABRICAS MONTERREY, SA CV', 'R', '', 'BANDA Y POLEA', '0', '2003-11-17', '2003-12-15', '4542.92', '', '0000-00-00', '0', '0000-00-00', '/', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', '4500047080', 'BANDA Y POLEA', 'AFG', 605, 2); INSERT INTO contratos VALUES (5, 471, 'RANCHO EL AGUATOCHE, SA DE CV', 'R', '', 'TORNILLERIA', '0', '2003-11-18', '2003-11-18', '1365', '', '0000-00-00', '0', '2003-11-19', '', '0000-00-00', '2003-11-18', '', '', '', '', '2003-11-18', 'X', '', 'T', '2403', 'TORNILLERIA', 'OFNA', 605, 1); INSERT INTO contratos VALUES (6, 472, 'MANUFACTURAS ESPECIALIZADAS, SA', 'R', '', 'KG. TUBO COBRE 1/4"', '127', '2003-11-18', '2003-11-19', '20095.35', '', '0000-00-00', '0', '2003-11-19', 'X', '0000-00-00', '2003-11-18', '', '', '', '', '2003-11-19', 'X', '', 'T', 'OC-002731', '641 KG. TUBO COBRE', 'OFNA', 605, 1); INSERT INTO contratos VALUES (7, 473, 'CIA. CERVECERA DE ZACATECAS, SA CV', 'R', '', 'LAINAS P/ACOPLAM.', '1', '2003-11-18', '2003-12-08', '390.92', '', '0000-00-00', '0', '0000-00-00', '/', '2003-11-24', '2003-11-19', '', '', '', '', '2003-11-26', '', '', 'T', '27703', '1 JG. LAINAS ACOPL.', 'LMS', 605, 3); INSERT INTO contratos VALUES (8, 474, 'HEAVY DUTY, SA DE CV', 'R', '', 'REFAC. VARIAS', '0', '2003-11-19', '2003-12-31', '9657.6', '', '0000-00-00', '5591.37', '2003-11-20', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'S/N', 'REFAC. VARIAS', 'AFG', 605, 2); INSERT INTO contratos VALUES (9, 475, 'FRYVITEC, SA DE CV', 'R', '', 'ROLLO SELLADOR', '10', '2003-11-19', '2003-11-20', '2110.1', '', '0000-00-00', '2435', '2003-11-19', '', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', 'X', 'X', 'T', '76-03', '10 ROLLO SELLADOR BUTYLO', 'FLR', 605, 7); INSERT INTO contratos VALUES (10, 476, 'SERVICIOS BTF, SA CV', 'R', '', 'REFAC. VARIAS', '0', '2003-11-19', '2003-12-10', '2114.54', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', '', '', 'T', 'S/N', 'REFAC. VARIAS', 'RAR', 605, 1); INSERT INTO contratos VALUES (11, 477, 'GRUPO I.QU.A., SA DE CV', 'R', '', 'RELLENO Y BANDAS', '0', '2003-11-19', '2003-12-24', '115056.09', '', '0000-00-00', '57808.8', '2003-11-24', '', '0000-00-00', '2003-11-25', '', '', '', '', '0000-00-00', '', '', 'V', '181 / 182', 'RELLENO Y BANDAS', 'RAR', 605, 1); INSERT INTO contratos VALUES (12, 478, 'PROCITRUS, SA DE CV', 'R', '', '2 VENT. #250092', '2', '2003-11-19', '2003-11-20', '1710.29', '', '0000-00-00', '2008.31', '2003-11-20', 'X', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', 'X', '', 'T', 'S/N', '2 VENT. #250092', 'RAR', 605, 1); INSERT INTO contratos VALUES (13, 3703, 'EXISTENCIA ALMACEN', 'T', 'FXV', '1-FXV-422', '1', '2002-05-06', '0000-00-00', '0', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-05-02', '', '', '', '', '0000-00-00', '', '', 'V', '', '1-FXV-422', '', 601, 1); INSERT INTO contratos VALUES (14, 3818, 'INGROS. EN REFRIGERACION, SA CV', 'T', 'VC1', 'VC1-30', '1', '2003-10-14', '2003-12-09', '48304.2', 'X', '2003-11-07', '29102.93', '2003-10-29', '/', '2003-11-24', '2003-10-29', '', '', '', '', '0000-00-00', '', '', 'V', '', '', 'LMS', 603, 3); INSERT INTO contratos VALUES (15, 3819, 'AQUASISTEMAS INTEGRALES, SA DE CV', 'T', 'FXT', 'FXT-142', '1', '2003-10-16', '2003-12-11', '51335', 'X', '2003-10-24', '31411.41', '2003-10-27', '/', '2003-10-23', '2003-10-21', 'X', 'X', '', '', '0000-00-00', '', '', 'V', 'AQS-1101', '', '669', 601, 5); INSERT INTO contratos VALUES (16, 3820, 'ALTOPRO, SA DE CV', 'T', '33000', '33646', '1', '2003-10-29', '2003-12-26', '271074', 'X', '2003-11-06', '164374.25', '2003-10-31', '/', '2003-11-24', '2003-10-31', '', '', '', '', '0000-00-00', '', '', 'V', 'B32451', '', '639', 601, 2); INSERT INTO contratos VALUES (17, 3821, 'MAYEKAWA DE MEXICO, SA DE CV', 'T', 'VC2', 'VC2-420', '1', '2003-10-22', '2003-12-17', '278705.8', 'X', '2003-11-10', '100741.71', '2003-11-07', '/', '2003-11-24', '2003-11-07', '', '', '', '', '0000-00-00', '', '', 'V', '10359', '', '671', 603, 7); INSERT INTO contratos VALUES (18, 3822, 'PACSA SUMINISTROS Y APLICACIONES, SA DE CV', 'T', 'IL', 'IL-56-7-P3', '2', '2003-10-22', '2003-12-18', '190546', 'X', '2003-10-29', '100000', '2003-10-23', '/', '2003-11-24', '2003-10-28', '/', '', '', '', '0000-00-00', '', '', 'V', '1290', '', '650', 601, 2); INSERT INTO contratos VALUES (19, 3823, 'JABIL GLOBAL SERVICES', 'T', 'JE', 'JE-31055', '1', '2003-10-30', '2003-12-25', '617780.8', 'X', '2003-11-14', '355223.96', '2003-11-11', '/', '0000-00-00', '2003-11-11', '', '', '', '', '0000-00-00', '', '', 'V', '22AS03424B', '1 JE-31055', '280', 601, 1); INSERT INTO contratos VALUES (20, 3824, 'ALTOPRO, SA DE CV', 'T', 'VTL', 'VTL-079-K', '1', '2003-11-13', '2004-01-22', '76807.71', 'X', '2003-11-19', '43705.13', '2003-11-13', '/', '0000-00-00', '2003-11-13', '', '', '', '', '0000-00-00', '', '', 'V', 'B32788', '1 VTL-079-K', 'AFG', 601, 2); INSERT INTO contratos VALUES (21, 3825, 'EATON CONTROLS, S DE RL DE CV', 'T', '33000', '33568', '2', '2003-11-05', '2004-01-02', '489277.12', 'X', '2003-11-12', '278352.75', '2003-11-14', '/', '2003-11-24', '2003-11-12', '', '', '', '', '0000-00-00', '', '', 'V', '5070-000988-00', '2 33568', 'RSG', 601, 1); INSERT INTO contratos VALUES (22, 3826, 'INGROS. EN REFRIGERACION, SA CV', 'T', 'VC1', 'VC1-46', '1', '2003-11-05', '2003-12-31', '58771.89', 'X', '2003-11-10', '33442.38', '2003-11-10', '/', '2003-11-24', '2003-11-05', '', '', '', '', '0000-00-00', '', 'X', 'V', '364-2003', '1 VC1-46', 'LMS', 603, 1); INSERT INTO contratos VALUES (23, 3827, 'PACE INDUSTRIES DE MEXICO, SA DE CV', 'T', 'FXT', 'FXT-87', '1', '2003-11-11', '2004-01-20', '51419.85', 'X', '2003-11-25', '29173.47', '2003-11-13', '/', '0000-00-00', '2003-11-13', '', '', '', '', '0000-00-00', '', '', 'V', '2028759', '1 FXT-87', 'GGA', 601, 1); INSERT INTO contratos VALUES (24, 40798, 'CARRIER MEXICO, S.A. DE C.V.', 'M', '39L', '39LD35', '2', '2003-01-10', '0000-00-00', '7294', '', '0000-00-00', '0', '2020-00-01', '', '0000-00-00', '2020-00-01', '', '', '', '', '0000-00-00', '', '', 'T', '802297', '', '', 601, 1); INSERT INTO contratos VALUES (25, 41110, 'CARRIER MEXICO, SA DE CV', 'M', '39N', '39NF50', '2', '2003-11-12', '2003-12-24', '161389.49', 'X', '2003-11-14', '0', '0000-00-00', '/', '2003-11-20', '2003-11-17', '', '', '', '', '0000-00-00', '', '', 'V', '803088', '2 39NF50', 'CARRIER', 613, 1); INSERT INTO contratos VALUES (26, 41111, 'CARRIER MEXICO, SA DE CV', 'M', '39N', '39NF11', '1', '2003-11-18', '2003-12-30', '24144.01', 'X', '2003-11-20', '0', '0000-00-00', '/', '2003-11-26', '2003-11-18', '', '', '', '', '0000-00-00', '', '', 'V', '803105', '1 39NF11', 'CARRIER', 613, 1); |
Leer un a pagina web y sacar las imagenes Tema: Expresiones regulares/Archivos HTML Pregunta: ¿Como leer un a pagina web y sacar las imagenes Con las siguiente funcion podemos hacerlo: Código PHP: Código PHP:
(*) Para abrir paginas "externas" (que empiezan con http://blablabla) es necesario setear allow_url_fopen = ON en el PHP.INI (http://ar2.php.net/manual/en/ref.fil...llow-url-fopen) |
Tema: Interacción PHP+Javascript+MySQL Pregunta : ¿Cómo hacer una marquesina rotaria con resultados de una BD? Respuesta: Marquesina Rotaria de Noticias (o de lo que sea) (PHP+javascript+MySQL) La idea de esta marquesina es hacer un include( ) en donde queramos de un archivo que llamaremos marquesina.php Utiliza javascript para efectos de hacer la rotación de los titulares de las noticias (o lo que sea) y PHP para hacer que dicha marquesina algo dinámico facilmente actualizable. Para efectos del ejemplo usaremos una tabla que contenga lo siguiente: Tabla: noticias Campos: idnot fecha titulo contenido idnot (Tipo: tinyint / Atributos: UNSIGNED / Extra: Autoincrement) fecha (Tipo: DATE) titulo (Tipo: VARCHAR(50)) contenido (Tipo: longtext) Luego definimos el javascript que genera la rotación de los titulares (este lo conseguí en la red, no manejo javascript) Código: <script language="JavaScript1.2">Código PHP: Por ejemplo si fuera la noticia idnot=1 , fecha=2004-01-01 , titulo=’Comienza el 2004’, contenido=’Comienza el 2004 y en la Alameda quedó la…..etc’ Se corta el título en 25 caractreres y le agrego puntos suspensivos. (substr($row[titulo],0,25) El html generado sería: <a href=noticias.php?idnot=1>Comienza el 2004…<br>01-01-2044</a><br> y así hasta los 5 últimos titulares. El código final quedaría así: Código PHP: Luego para que funcione por completo debemos crear una página que reciba el idnot y muestre el contenido de la noticia. Con el siguiente php (archivo “vernoticia.php”) Código PHP: Código PHP: La página tiene un poco de propaganda pero nada tan terrible. Saludos Darkoi |
[B]Creación de Thumbnails de imágenes[/B] Pregunta:¿Como Crear Thumbnails de imágenes? Respuesta: Un Thumbnails consiste en previsualizaciones de menor tamaño de una imagen original lo cual se utiliza mucho para galerías, mostrando una copia de la imagen original pero de menor tamaño. Para el ejemplo utilizare una como formato de imagen el GIF, Primero presentare el codigo y luego la explicacion linea por linea al igual que como hacerlo con diferentes formatos de imagen. Supongo que el nombre del archivo es imagen.php Código PHP: Código PHP: http://www.servidor.com/cuenta/imagen.php Y la imagen, en este caso supondremos el nombre "01.gif", se encuentra en: http://www.servidor.com/cuenta/galeria/01.gif A imagen.php Solo Le Pasaremos galeria/01.gif como valor de ruta: http://www.servidor.com/cuenta/image...galeria/01.gif Pero esto no es todo, recordemos que recibe otros dos parametros, los cuales son alto y ancho, Estos no se refieren al alto y ancho de la imagen original, se refieren al alto y ancho que queremos la previsualizacion(Thumbnail), entonces si queremos que nos devuelva la imagen 01.gif, ubicada en el directorio galeria y cuyo tamaño original es de 400 pixeles de anchura y 300 pixeles de altura pero queremos la previsualizacion de 200 pixeles de anchura y 150 pixeles de altura tendriamos que llamarla de esta manera: http://www.servidor.com/cuenta/image...o=200&alto=150 Obviamente si lo llamamos para presentarlo como imagen dentro de un archivo al usuario(.html, .php, etc), lo llamamos mediante el tag IMG: <IMG SRC="http://www.servidor.com/cuenta/imagen.php?ruta=galeria/01.gif&ancho=200&alto=150"> Ahora que ya sabemos como llamar a la imagen, vamos a ver como se hace la previsualizacion(Thumbnail), como es que se crea desde una imagen mas grande una imagen mas pequeña tanto en pixeles como en tamaño para su presentacion al usuario. Primero creamos una copia de la imagen desde archivo, la igualamos a $fuente, ya que alli quedara un identificador de tipo ENTERO(INT) para dirijirnos a la imagen creada, esto es necesario ya que sera de esta imagen que haremos la Previsualizacion(Thumbnail). Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Utilizamos la funcion Código PHP: Esto puede sonar un poco confuso, por eso es mejor que mira la documentacion oficial en http://www.php.net/ para informacion sobre los parametros que recibe esta funcion. Código PHP: Código PHP: image/jpeg ó image/png Ahora devolvemos la imagen directamente al browser(navegador) del usuario. Código PHP: -------------------------------------------------------------------------------- Bien espero haya quedado claro, pero vamos a ver otro aspecto, que tal si no queriamos devolver la imagen, lo que queriamos era guardar la nueva imagen(Thumbnail) en el servidor, para su uso posterior?... Al ponerle un segundo parametro al imageGif($imagen,"imagenPequena.gif"), Lo lograremos, en este caso guardaria la imagen que acabamos de crear en el servidor, especificamente en la misma carpeta con el nombre de "imagenPequena.gif". Esto puede ser muy util, ya que si queremos crear thumbnails de todas las imagenes en un directorio, podemos hacer un loop que lea los archivos del directorio, y repita el proceso anterior(de crear imagen en blanco y copiar) y guarde las nuevas imagenes para su uso posterior, realmente es una herramienta con muchos usos. Cabe recordar que su servidor tiene que tener soporte para manipular imagenes, segun el tipo que desee utilizar, en caso de no tenerlo el servidor le dara un mensaje de error como "Jpeg is no support..." dependiendo del formato de imagen. |
Sitios multilingües Pregunta: Como crear Sitios multilingües? Respuesta: http://www.programacionweb.net/index...ticulo&num=111 |
Contabilizar visitas de páginas internas. Pregunta: ¿Como hago para contabilizar en php y mysql las visitas que tienen mis páginas/secciones internas en mi web? Respuesta: Primero de todo crear esta base de datos MySQL con tu PhpMyAdmin: Código PHP: id pagina contador 1 /index.php 0 2 /noticias.php 0 3 /juegos.php 0 4 /chat.php 0 Despues, poner este codigo en todas tus páginas/secciones: Código PHP: Código PHP: Un saludo! ;-) PD: Gracias a Vulcar por su ayuda para terminar este script en el foro de DataFull: http://foros.datafull.com/viewtopic....er=asc&start=0 |
Pregunta: ¿Como hago para saber los usuarios en linea en mi web? Respuesta: Con esta Clase PHP: 1.- Primero necesitamos usar una tabla que sera la que guarde los registros y esta debe ser su estructura: Código: CREATE TABLE `usuariosenlinea` (Código PHP: Código PHP: |
Pregunta:Cómo Saber la MAC Address Respuesta: Script para saber la MAC Address de una máquina en una ethernet probado en un Solaris 9, IRIX y Windows Vamos a interactuar un poco con el sistema operativo con los comandos ping y arp. PING (Packet InterNet Groper): El ping envía uno o más datagramas a un host destino esperando una respuesta, básicamente es utilizado par ver si el host destino está activo. Si tienes instalado un firewall(Cortafuegos) en tu red es necesario tener privilegios en el,para poder ejecutar sin problemas este comando. Sintaxis del ping: UNIX: Solaris 9 /usr/sbin/ping 192.168.0.44 5 Irix:/usr/etc/ping -w 1 192.168.0.44 Windows: ping -w 1 192.168.0.44 La respuesta que obtenemos al ejecutar un ping varia dependiendo el OS En Solaris 9: 192.168.0.44 is alive si esta activa y no answer from 148.215.12.1 si no lo esta En IRIX y Windows: Haciendo ping a 192.168.0.44 con 32 bytes de datos: Tiempo de espera agotado para esta solicitud. Tiempo de espera agotado para esta solicitud. Tiempo de espera agotado para esta solicitud. Tiempo de espera agotado para esta solicitud. Estadísticas de ping para 129.168.0.44: Paquetes: enviados = 4, recibidos = 0, perdidos = 4 (100% perdidos), Tiempos aproximados de recorrido redondo en milisegundos: mínimo = 0ms, máximo = 0ms, promedio = 0ms lo que nos interesa es "recibidos = 0" si no esta activa y "recibidos = 4" si esta activa Protocolo ARP (Address Resolution Protocol) : ARP asocia las direcciones físicas de Hardware a cada dirección IP lógica asignada a una interfaz de red, una Máscara de Control de Acceso al Medio: es un identificador de Hardware único que es asignado por el fabricante de la NIC. Las MAC son adjuntadas a las cabeceras de IP origen y destino. UNIX: Solaris 9 /usr/sbin/arp 192.168.0.44 5 Irix:/usr/etc/arp 192.168.0.44 Windows: arp -a 192.168.0.44 Esta es una pequeñísima descripción de ARP y PING. Código PHP: |
Muchas veces nos preguntamos si el mail que nos ponen en un formualrio es valido, osea que existe, pues bien con esta funcion podemos comprobar si este mail existe, y si este esta escrito correctamente Código PHP: Saludos |
Funcion Genera Pasw Palabras Legibles - Gd+Sessiones Código PHP: |
Pregunta ¿como configurar mi php y un pequeño servidor de correo en forma local? Respuesta: probando un monton de servidores de correo que ocupaban 15MB otros 20MB, me tope con una pequeña MARAVILLA de apenas 288 KB (SIIIII LEISTE BIEN KB) que me permitia sin configurarlo utilizar rapida y comodamente la BENDITA y FAMOSA funcion de PHP mail() para probar mis scripts les listo algunas caracteristicas que me gustaron - Es muy pequeño 288KB - Esta en ESPAÑOL - Posee LOG de todos los eventos que ocurran para enviar un mail - NO hay que configurar nada!!! - Permite trabajar como servidor SMTP en un red LAN - y esto es lo mejor............es FREEWARE!!!!!!!!! bueno bueno no se desesperen aqui les dejo el link a la pagina oficial y abajo el link para bajarse la version 0.9.77c pagina oficial de Mini-relay http://webs.ono.com/usr000/NetVicious/ Descarga Directa del Mini-relay 0.9.77chttp://netvicious.iespana.es/netvici.../miniRelay.zip ahora bien ya tenemos descargado este maravilloso programita, pasamos a configurar el PHP.INI de nuestra carpeta windows. Buscamos la directiva SMTP y le asignamos la ip: 127.0.0.1 entonces quedaria asi: [mail function] ; For Win32 only. SMTP = 127.0.0.1 y listo!!!!! a probar los scripts no mas!!!!!! SUERTE!!!! |
Tema: Formularios+Mysql Pregunta: Como hacer una lista desplegable (<select> ) con valores de una tabla Mysql que dependa del valor seleccionado en la primera. Respuesta: Se trata de hacer una consulta a tu tabla "hija" con la clausula (confición) que identifique la relación entre ambas tablas. (usando como clave un campo de nuestra tabla hija q nos haga de clave foranea para nuestra consulta). En este caso usaremos el campo id_padre de la tabla_hija como "clave foranea" .. ambos del mismo tipo y relación 1 -> N (1 registro es a muchos registros de la otra tabla ..) Partiende de una estructura SQL así: (como ejemplo completo de funcionamiento ..adaptenla a sus necesidades) Código: #Y el código de nuestras consultas a realizar: Código PHP: Otras Técnicas que sería interesante ver sobre el tema, sería el denominado "Remote Scripting" que se basa en disponer de iframe/frames ocultos donde se realiza la petición de datos al servidor (petición de nuestro .php que ejecutará la consulta SQL pertinente y obtendrá sus datos), eso datos serán "pasados" a la página principal (frame o "padre" que contenga el iframe oculto) por médio de javascript. De esta forma .. no se verá una recarga "aparente" de la página que estamos visualizando sin que será ese "frame" el que se recarga ante una petición que hagamos vía javascritp de mover algún <select> u otro evento javascript que lance dicho proceso de "Remote Scripting". Puede ver un tutorial sobre el tema con algunos ejemplos en: http://www.ashleyit.com/rs/main.htm Un saludo, PD: Agradecimiento a bhonox por localizar esta FAQ "perdida" xDD. |
Función para Dígito Verificador de RUT (Chile) Tema: Funciones Pregunta: ¿Como puedo obtener el dígito verificador de un RUT? (Chile) Respuesta: Sólo coloca esta función en el lugar que más te acomode, obviamente antes de hacerle una llamada :risa: Código PHP: Código PHP: y, $_POST['rut_dv'] es la variable que nos trae el DV enviado por el mismo formulario. Luego de esto es una simple comparación :risa: Eso seria, espero les sirva de algo :adios: PD: Quedo espectacular la implementación de la nueva versión de vBulletin, resaltan las nuevas opciones :aplauso: |
Mini phpMyAdmin ¿Como creo una tabla sql en línea, usando php? La respuesta es este script: Su funcionamientos es bastante simple, ya que consta de un Formulario y la parte donde ejecutara la consulta simulando un mini phpMyAdmin, pero mucho mas sencillo. La razón de este manual es por que cuando empezaba a aprender este lenguaje (PHP), no sabia como ejecutar una, y por esa razón creo que aun debe haber varios con ese problema, esperando que de alguna manera esto le pueda servir a alguien. Empezaremos creando nuestro formulario que contendrá lo siguiente: Código HTML: <html>http://phpwebmasters.com/manuales/sql.gif Este es el contenido del script, el cual debes guardar como tabla.php Código PHP: http://phpwebmasters.com/descargas/tabla.zip |
Cómo mostrar una tabla de mi base de datos entera (con título de columnas y datos) Tema: PHP y MySQL Pregunta: Cómo mostrar una tabla de mi base de datos entera (con título de columnas y datos) Respuesta: Código PHP: |
Creando un menú de lista por medio de una función. Tema: Funciones en PHP Pregunta: ¿Como puedo crear por medio de una función un menu de lista pasandole como parámetros el nombre, cadena de etiquetas y cadena de valores?. Respuesta: Puedes utilizar esta pequeña función creada por mi :-D (lee las notas IMPORTANTES) Código PHP: Esta función utiliza la función (valga la redundancia) del lenguaje array_combine() que viene incluida con PHP5, para los usuarios de PHP4 pueden utilizar ésta misma función del mismo nombre la cual, en caso de trasladar la funcion combinedListbox() a PHP5, no entrará en conflicto con la que trae ésta. Código PHP: |
Forzar al IE a mostrar las imagenes sin usar su cache Tema: Imágenes Pregunta: Cómo hago para forzar al IE a que me recargue una imagen sin usar su cache. Respuesta: Cuando usamos en una página la carga de imágenes que siempre tienen el mismo nombre, el IE busca esa imagen en su cache. Los metodos como: Código PHP: Entonces lo que hay que hacer es "engañar" al IE, haciendole creer que nuestra imagen es una página dinamica. (Referenciado por josemi) Al mandar a imprimir la imagen en la etiqueta HTML le contatenamos un número aleatorio dentro de un query string: Código PHP: Código HTML: <img src="<?php echo $Nombre_Foto; ?>"> |
Mostrar la cantidad que quiero de palabras Tema: Funciones. Pregunta: ¿Cómo puedo mostrar la cantidad que quiero de palabras? Respuesta: Tenemos una función que nos puede servir de mucho: str_word_count() Código PHP: |
Tema: Generando archivos no HTML (creo) Pregunta: ¿Cómo hacer un código visual de seguridad? (CAPTCHA) Respuesta: Muchos hemos querido desarrollar un código visual al estilo Google, Hotmail, etc... donde tenemos que escribir en un campo input el contenido de una imagen. Este código fue originalmente solicitado por Section1, desarrollado por Cluster, con aportes de josemi, sin embargo... tenía algunos errorcitos pequeños de sintaxis que corregí. Basicamente serían 4 archivos: gen_codigo.php donde se generará el código que mostrará nuestra imagen Código PHP: donde colocarás tu formulario y aparecerá la imagen generada Código PHP: el cual precisamente generará la imagen que contendrá el password generado por gen_codigo.php Código PHP: el cual mostrará el resultado en cuando al proceso, si la imagen es correcta o incorrecta. Código PHP: Discusión completa en: http://www.forosdelweb.com/f18/como-hacer-codigo-visual-seguridad-183848/ Actualización 22/6/2006 por bauhaus1975: falta inicio sesión en genera_imagen.php Actualizado: 21/02/08 por GatorV: mejorado el codigo para el Captcha y agregado codigo para verificar y prevenir contra Spam Bots. |
¿como Pasar un numero a palabras? Pregunta:¿Como pasar numero a palabras? Respuesta:Esta Funcion es Demasiado Buena. La Busque en los faq y no la encontre asiq ue tuvimos que hacerla, y como no soy amargao ni apretao aqui esta. Bueno esta funcion la necesitaba para Imprimir un Comprobante de pago al cual aparate del monto en digitos habia que imprimirlo con palabras. Código PHP: ojala les sirva.... |
Calendario Tema: Calendarios y Fechas Pregunta: ¿Cómo creo un calendario de con días y meses donde los vínculos solo lleguen hasta el dia, mes y año actual? Respuesta: Bueno a lo mejor muchos se han visto en este problema de crear calendario para mantener las cosas y realizar consultas a BDatos obtniendo las mismas por fechas. El calendario Consta de 4 funciones básicas: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Salu2 |
Restar Fechas en DB Pregunta: ¿Cómo puedo restar 2 fechas que se encuentran en campos de mi DB directamente con el MySQL? Respuesta: Primero debemos asegurarnos que ambos campos son de tipo DATETIME. Para el ejemplo, usaremos: Campo 1 = fecha_inicio; Campo 2 = fecha_fin; Tabla en la DB = nombre_tabla La función a utilizar será TIME_TO_SEC. EJ: Código PHP: Suerte |
¿Como hacer Thumbnails con PHP? ¿Como hacer Thumbnails con PHP? Con la siguiente función podremos generar un thumbnail (imagen pequeña) de una original. Código PHP: Bueno eso sería todo, suerte. http://www.port21.com.mx/webmasters/manuales/gd.html :-D |
aqui un pequeña contribucion que tenia hace muuuucho guardada por ahi... Pregunta:Que es y para que sirve el Control de Salida? Respuesta: Las funciones de Control de Salida nos permiten controlar las salidas producidas por el script. Esto puede resultar util por ejemplo para trabajar para trabajar con con funciones que deben ser ejecutadas utilizando datos que se han "salido", pero deben ser ejecutadas sin que se halla enviado ninguna como setcookie() o header(). Acontinuacion haremos un script para tratar de explicar como el control de salida puede servirnos. Lo que el script hace es tomar unas variables definidas por nosotros, o por que no, proveninentes de algun formulario; realizar una salida determinada utilizando estos datos, transformar esa salida es una variable y enviarla como mensaje en un mail. .mandar.php Código PHP: .peso.php Código PHP: Espero les haya gustado, cualquier duda me pueden contactar a traves de mi emailo mejor posteen aqui :-D |
| La zona horaria es GMT -6. Ahora son las 20:30. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.