C

Cagmaster

Usuario (Argentina)

Primer post: 27 oct 2010Último post: 3 jun 2012
4
Posts
150
Puntos totales
100
Comentarios
Clases de PHP (3 Lecciones simples)
Clases de PHP (3 Lecciones simples)
InfoporAnónimo10/27/2010

Cómo funciona el intérprete de PHP (Este es el capítulo más teórico del curso, imprescindible para entender qué hace PHP). PHP es la sigla de "PHP: Hypertext Preprocessor", o sea, "Pre-procesador de Hipertexto marca PHP". Que sea un "pre" procesador, es lo que diferencia el proceso que sufren las páginas programadas en PHP, de aquellas páginas web estándar escritas sólo en lenguaje HTML. Vamos a examinar cuál es la diferencia entre el proceso de un archivo o página web "normal" (HTML) y el "pre" proceso de un archivo o página escritos en lenguaje PHP. -Proceso de archivos HTML: A) -¿Cuál es el camino que sigue una página web estándar (HTML) desde que escribimos su dirección en nuestro navegador, hasta que la vemos? 1) Primero, el pedido de ver esa página "viaja" (imaginémoslo como si fuera una especie de e-mail que enviamos) desde nuestro navegador hasta la máquina que hospeda el archivo solicitado. El pedido de ver esa página no viaja solo, sino que va acompañado por un número que nos identifica inequívocamente (nuestra dirección IP). -Pensemos esto como un "delivery" de pizza: le decimos "de qué gusto" queremos, y "a qué dirección" nos la deben enviar. 2) Cuando el pedido llega a la máquina indicada, un programa que está corriendo en esa máquina llamado "servidor web" recibe el pedido, y va a buscar el archivo solicitado en el disco rígido. -Es el empleado de la pizzería que atiende al teléfono y pasa el pedido a la cocina de la pizzería, indicando qué pizza hay que preparar. 3) Ese servidor web despacha, entrega o "sirve" (por eso lo de "servidor" el archivo al navegador que está esperando una respuesta en esa dirección IP que nos identificaba. -Sale la moto con la pizza caliente hacia nuestra casa. 4) Y finalmente nuestro navegador se encarga de "interpretar" lo que llega en ese archivo de sólo texto, armando cada elemento (textos, tablas, colores) de esa página recibida en nuestra pantalla. -Vemos y nos comemos la pizza! Nuestro navegador tiene la capacidad de "entender" y descifrar archivos con extensión ".html" o ".htm". Servidor HTML -Hasta aquí, eso sucede cada vez que solicitamos ver un archivo HTML. -Pre-proceso de archivos PHP: B) -¿Cuál es el camino que sigue una página web cuya extensión es ".php" desde que escribimos su dirección en nuestro navegador, hasta que la vemos? Cuando la extensión del archivo solicitado es ".php", se introduce un elemento diferente en este circuito: 1) Hacemos el pedido de ver una página "cualquiera.php" desde nuestro navegador; 2) el servidor web recibe nuestro pedido, y de inmediato "se da cuenta" de que el archivo solicitado tiene extensión ".php", y por lo tanto le deriva el pedido a otro software que está encendido en esa máquina hosting; ese programa se llama software "intérprete de PHP" (es una especie de "ser mágico" cuya presencia es difícil intuir, y que debemos comprender que "está ahí" para poder programar correctamente en PHP!). sonrisa 3) Este programa intérprete de PHP busca en el disco rígido del hosting el archivo que fue solicitado, y comienza a leer su código, buscando determinadas "marcas", etiquetas o tags, que indican que desde ese momento "le están dando órdenes" a ese software intérprete de PHP; cuando encuentra estas "órdenes", ejecuta esas órdenes, y reemplaza todas las órdenes que estaban entre la apertura y el cierre del tag PHP por el resultado de esas órdenes. Por ejemplo, podríamos imaginar que en una de esas órdenes le hemos dejado dicho al intérprete de PHP que averigüe la fecha actual y la escriba en ese lugar exacto donde le dejamos la orden. La orden que le dejamos será borrada del código fuente, y en su lugar quedará escrita la fecha, que es lo que le pedimos que escriba. No se dice así de simple y en castellano, pero es parecido!... Así que no hagan la prueba de ejecutar esto, es solo para dar una idea: <?php Ey software de PHP, escribí la fecha actual aquí! ?> 4) El software de PHP ejecuta ese pedido que le hicimos, y finalmente, envía sólo código HTML al navegador, que lo interpreta como si éste código HTML que incluye la fecha hubiera estado escrito allí desde siempre: 1 de Enero de 2025 Servidor HTML + PHP En el código fuente que le llega al navegador, no vemos ningún rastro de la orden que habíamos escrito para el software de PHP, este software se ocupó de "borrarla" para que nadie la vea, y en el lugar donde habíamos escrito la orden, colocó "el resultado de ejecutar esa orden", es decir, la fecha que le habíamos pedido que escriba. Entonces: le dejamos órdenes (que casi siempre tienen que ver con que el software de PHP obtenga cierta información, como la fecha) y esas órdenes suelen decirle que "haga algo" con esa información, típicamente, QUE ESCRIBA esa información en el código fuente de la página que está por ser enviada al navegador del usuario. Includes Muchas páginas de un sitio o aplicación web tienen elementos en común, que se repiten una y otra vez a lo largo de decenas de páginas. Por ejemplo, un encabezado, la botonera del menú de navegación, o un pie de página, o una zona con banners de propaganda. Es muy poco práctico que el código de esos bloques se repita idénticamente en cada uno de los numerosos archivos del sitio, ya que cuando sea preciso hacer actualizaciones o cambios a alguno de estos elementos (agregar un botón nuevo en el menú, o un cambio de teléfono en el pie de página), será necesario reemplazar ese bloque a lo largo de tooodos los archivos que componen el sitio, y subir por FTP decenas o cientos de archivos. Para evitar este problema, PHP posee las construcciones (no son funciones) llamadas include, require, include_once y require_once. La idea al utilizarlas es que colocaremos dentro de un archivo aparte el código HTML (y/o PHP) que conforma cada "bloque" que tengan "en común" muchas páginas. Por ejemplo, colocaremos en un archivo llamado "menu.php" el menú, el pie de página en otro archivo llamado "pie.php", y así sucesivamente con todos los elementos comunes a varias páginas, y luego, en cada página del sitio, haremos que sea incluido el archivo en cuestión en el lugar que especifiquemos. De esta manera, cuando sea necesario realizar un cambio, lo haremos en el archivo del menú o el del pie de página, actualizándose en cuanto subamos por FTP ese único archivo modificado, y no tendremos que cambiar absolutamente nada en las otras decenas o cientos de páginas que conforman el sitio, las cuales reflejarán los cambios de inmediato, ya que en ellas solo dice "mostrar aquí lo que haya en menu.php" (de una forma más técnica, pero la idea es esa). Veamos un ejemplo, el archivo "pagina.php": Esquema con CSS El código de este archivo "pagina.php" -que figura ser una de las tantas páginas estándar del sitio- sería así: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title> Esquema con CSS </title> <style type="text/css"> <!-- body{ text-align:center; font-family: sans-serif; margin:30px 0; background-color: #999; } p { font-size:.9em; line-height:1.3em; margin:20px auto; } #contenedor { width:700px; margin:0 auto; } #encabezado { background-color: #fc0; width:100%; line-height:50px; } #contenidoPrincipal { background-color: #fff; width:75%; line-height:250px; float:right; } #botonera{ background-color: #9ac; width:25%; line-height:250px; float:left; color:#fff; } #pie{ background-color: #fc0; width:100%; line-height:50px; clear:both; } a{ font-weight:bold; color:#000; cursor: pointer; } --> </style> </head> <body> <div id="contenedor"> <?php include ("encabezado.php"; ?> <div id="contenidoPrincipal"> Contenido Principal </div> <?php include ("botonera.php"; ?> <?php include ("pie.php"; ?> </div> </body> </html> Y por otro lado, tendríamos un archivo por cada "pedazo" de página: -El archivo "encabezado.php": <div id="encabezado"> Encabezado </div> -El archivo "botonera.php": <div id="botonera"> Botonera </div> -El archivo "pie.php": <div id="pie"> Pie </div> Queda claro entonces que la ventaja es la facilidad de mantenimiento de un sitio de muchas páginas. Include de archivo con funciones Además del principal uso "visible" de colocar "partes del sitio" -bloques enteros, usualmente- en archivos externos que son incluidos en las páginas, las funciones include/require también se utilizan para cosas "invisibles"; por ejemplo, para crear un archivo externo que contenga todas las funciones de un sitio necesarias a lo largo de varias páginas. Por ejemplo, éste sería el archivo "funciones.php": <?php function doble($numero){ return $numero * 2; } function cuadrado($numero){ return $numero * $numero; } ?> Y en las páginas que deben usar luego estas funciones, simplemente agregaremos la siguiente línea: <?php include ("funciones.php"; ?> Notemos que la extensión de las páginas que llaman (o ejecutan) includes debe ser ".php", para que ejecuten la orden include. En cambio, los archivos externos que son incluidos no necesitan la extensión ".php", ya que primero son incluidos en la página (que sí tiene extensión ".php" y luego son interpretados. Pero si dentro de estos archivos externos hay código PHP, es imprescindible abrir el tag de PHP: <?php ya que de lo contrario el contenido se considerará HTML. Y al terminar el código, debemos cerrar PHP con: ?> Diferencias entre include, require, include_once y require_once Las diferencias entre include y require son mínimas, simplemente se diferencian por el tipo de error que generan si fracasan en su intento de incluir un archivo (por ejemplo, si ese archivo no existe). Un include genera en ese caso un "Warning", esto es, envía una advertencia por pantalla pero no interrumpe la ejecución del resto del archivo. En cambio require al fallar genera un "Fatal error", con lo cual se interrumpe definitivamente en ese punto la ejecución del archivo que estaba haciendo el intento de inclusión. Por lo tanto, en casos donde sea imprescindible contar con los datos guardados en el archivo externo a incluir, es mejor usar require (un caso típico son los archivos externos que contienen usuario y password de una base de datos, ya que si no accedemos a esos datos "clave" no tiene sentido continuar la ejecución de las órdenes que vengan a posteriori, por eso en ese caso será mejor usar "require". ¿Y cuál es la diferencia entre require/include y require_once o include_once? (Nota: "once" en inglés quiere decir "una sola vez". Que con "xxxx_once" si el código ha sido ya incluido, no se volverá a incluir. Esto puede ser útil en los casos en los que un mismo archivo pudiera ser potencialmente incluido más de una vez durante la ejecución de un código, y se quiera estar seguro de que se incluye una sola vez, para evitar problemas con redefiniciones de funciones, valores de funciones, variables, etc. Include según una variable Veremos ahora una técnica muy utilizada para el "armado" de sitios dinámicos que consta de una única página como "molde", la cual no contiene nada de HTML, sino solamente un código PHP que decide qué página (.html o .php) debe incluirse, según el link desde el cual está llegando a esa página el usuario (en verdad, según la variable que pasa el usuario junto con el link). Tomemos como ejemplo el único contenido del archivo "home.php": <?php $pagina = $_GET["pagina"]; include("../".$pagina.".php" ?> Efectivamente, ésa es la única línea que contiene ese archivo. A este archivo se llega pulsando links como éstos: <a href="home.php?pagina=pag1">Ir a página 1</a> <a href="home.php?pagina=pag2">Ir a página 2</a> Hilando un poco más fino, podríamos considerar la posibilidad de que el usuario escriba "home.php" en la barra de dirección del navegador, sin pasar ninguna variable, con lo cual no se incluiría nada. Para evitar este error, podemos encerrar al include en un if o, mejor aún, un switch: Ejemplo de validación con if: <?php if (isset($_GET["pagina"])){ $pagina = $_GET["pagina"]; include("../".$pagina.".php"; } else { echo 'Ha introducido una URL no válida.'; //o mejor aún, hacer un include de una página de error en el else... } ?> De esta forma evitamos que si deja en blanco la variable $pagina dé un error, pero el problema que se presenta en este caso es que el usuario podría setear la variable $pagina con un valor cualquiera que no sea el nombre de ninguna de nuestras páginas a incluir, con lo cual... otro error en puerta. El switch sí lo evita por completo: <?php if (isset($_GET["pagina"])){ $pagina = $_GET["pagina"]; switch ($pagina){ case "pag1": include ("pag1.php"; break; case "pag2": include ("pag2.php"; break; case "pag3": include ("pag3.php"; // etcétera... break; default: include ("error.php"; break; } // fin del switch } // fin del if ?> Manejo de Fechas y Horas El concepto de Timestamp. En PHP tenemos a nuestra disposición diversas funciones para el manejo de fechas y horas; su elección dependerá de nuestra necesidad concreta en cada caso. Pero antes de entrar en ellas, veremos un concepto fundamental para comprender cómo trabajan varias de estas funciones: el de "timestamp" o "registro de hora", utilizado en los sistemas operativos Unix y Linux desde hace mucho tiempo. El valor timestamp de un instante dado es la cantidad de segundos transcurridos desde el primero de enero de 1970 hasta ese momento. Un ejemplo: 10 de enero de 1980 a las 10 y 30 de la mañana en formato timestamp se escribiría: 316359000 ya que esa es la cantidad de segundos desde las cero horas del 01/01/1970 hasta las 10:30 hs. del 10/01/1980. Este número es muy práctico ya que es un número entero, y permite realizar operaciones con fechas sumando y restando, cosa que con fechas formateadas con barras o guiones no es sencillo. En este capítulo veremos cómo averiguar estos números y cómo utilizarlos para operaciones con fechas y horas. Obtener fecha y hora actual con la función time(). La función más básica para obtener el número de timestamp de la fecha y hora actuales es la función time(). Esta función no necesita ningún parámetro, y nos devuelve la cantidad de segundos pasados desde el 01/01/1970 hasta el momento en que es ejecutada. Probémosla: <?php $ahora = time(); print ($ahora); ?> Si creamos una página con este código, y actualizamos la página varias veces en el navegador, veremos cómo cada vez que la ejecutamos va incrementando el número (ya que la cantidad de segundos transcurridos desde el 01/01/1970 cada vez es mayor). Si queremos hacer operaciones, como por ejemplo, calcular un plazo de 2 horas desde el momento actual, podemos sumarle la cantidad de segundos necesaria (lo mismo vale para restas, multiplicaciones o divisiones): <?php $ahora = time(); $vence = $ahora + 7200; /* 60 segundos cada minuto, por 120 minutos, da 7200 segundos*/ print ("El plazo vence en: ".$vence." segundos"; ?> Cómo "traducir" de timestamp a un formato más "humano": la función getdate(). Si una vez obtenido el valor timestamp mediante la función time() necesitamos mostrarlo de una forma más entendible, precisaremos emplear la función getdate(). Esta función necesita como parámetro un número timestamp, y genera un vector de diez celdas o posiciones, guardando un dato en cada una, lo que luego nos permite ir imprimiendo por separado la hora, los minutos, segundos, el día, mes, año, etc., en varias formas. Los índices del vector que genera son los siguientes: Se almacena : En el índice: Hora "hours" Minutos "minutes" Segundos "seconds" Día del mes, en número "mday" (month day) Mes, en número "mon" Año, en número "year" Día de la semana, en número (comienza en 0 para el domingo, y llega hasta el 6 -sábado-) "wday" (week day) Día del año, en número "yday" (year day) Día de la semana, la palabra completa, en inglés "weekday" Mes, la palabra completa, en inglés "month" Veamos un ejemplo de su uso: <?php $ahora = time(); $detalle = getdate($ahora);// Convirtió a $detalle en un vector print("Hora: ".$detalle["hours"]."<br />"; print("Minutos: ".$detalle["minutes"]."<br />"; print("Segundos: ".$detalle["seconds"]."<br />"; print("Día: ".$detalle["mday"]."<br />"; print("Mes: ".$detalle["mon"]."<br />"; print("Año: ".$detalle["year"]."<br />"; print("Día de la semana: ".$detalle["wday"]."<br />"; print("Día del año: ".$detalle["yday"]."<br />"; print("Nombre del día de la semana: ".$detalle["weekday"]."<br />"; print("Nombre del mes: ".$detalle["month"]."<br />"; ?> Otra forma de mostrar fechas y horas: la función date(). Una función de uso similar pero un tanto más breve es la función date(). También parte de un número de timestamp o, en su ausencia, supone que queremos partir del instante actual. La diferencia es que no genera un vector, sino una cadena de texto formateada que nos permite especificar fácilmente muchas maneras de mostrar una fecha u hora con simplemente una sola letra. Veamos su tabla de letras clave: Para mostrar: Letra: Hora, de 01 a 12 h Hora, de 00 a 23 H Hora, sin ceros, de 1 a 12 g Hora, sin ceros, de 0 a 23 G Minutos, de 00 a 59 i Segundos, de 00 a 59 s Día del mes, con ceros, de 01 a 31 d Día del mes, sin ceros, de 1 a 31 j Mes, con ceros, de 01 a 12 m Mes, sin ceros, de 1 a 12 n Nombre del Mes completo, en inglés F Abreviatura del Mes, 3 letras, en inglés M Año, cuatro cifras Y Año, dos cifras y Día de la semana, en número (comienza en 0 para el domingo, y llega hasta el 6 -sábado-) w Día del año, en número z Día de la semana, la palabra completa, en inglés l (es una "ele" minúscula) Abreviatura del Día de la semana, 3 letras, en inglés D Mes, la palabra completa, en inglés F Abreviatura del Mes, 3 letras, en inglés M Número de días del mes, de 28 a 31 t Segundos desde el 1ro. de enero de 1970 (timestamp) U Diferencia horaria en segundos (de -43200 a 43200) Z "am" o "pm" a "AM" o "PM" A Si el año es bisiesto ("1" o no ("0" L Sufijo ordinal para los días, en inglés, 2 caracteres S Lo más interesante de esta función es que dentro de ella se pueden especificar separadores o palabras, con la única excepción de las letras del listado precedente, ya que si no, serían reemplazadas por su valor de fecha u hora. Todo el conjunto de caracteres dentro de los paréntesis de la función date() va entre comillas. <?php print (date("d-m-Y"); // Observar el separador "-" ?> El siguiente ejemplo daría un error (ya que las "d" imprimirán el día cada vez que aparecen): <?php print ("Hoy es ".date("d de m del Y"); ?> La solución sería concatenar: <?php print ("Hoy es ".date("d"." de ".date("m"." del ".date("Y"); ?> Además de usarse para el momento actual, como en estos ejemplos, también se le puede especificar un valor timestamp, con la particularidad de que se lo suma a partir de la hora cero del meridiano de Greenwich o su equivalente desde el meridiano en que esté el servidor (por ejemplo, Buenos Aires va tres horas por detrás del meridiano de Greenwich, con lo cual si le pasamos un "1" como segundo argumento, nos imprimiría 21:00:01 -un segundo desde la cero hora GM, adaptado a nuestro huso horario, lo que da las 21 hs.-). <?php $hora = date("H:i:s",3600); ?> Partir de una fecha y hora real y convertirla a timestamp con mktime(). La función mktime ("make time" toma como argumento una fecha y hora y devuelve el número en formato timestamp correspondiente. El orden de los argumentos es: hora, minutos, segundos, mes, día y año, y hay un último argumento opcional que especifica si es horario de verano (en países en que se adelanta la hora) en cuyo caso se escribe un "1" en ese argumento, un "0" si es horario de invierno, y un "-1" si se desconoce ese dato. Veamos un ejemplo, en el que omitimos el argumento opcional (es lo más común); notemos que al contrario de date(), los argumentos no llevan comillas. Un detalle al cual prestar especial atención para quienes estamos acostumbrados a decir primero el día, luego el mes y finalmente el año, es que en esta función el mes va antes del día, al modo norteamericano: <?php $navidad = mktime(23,59,59,12,24,2006); // No lleva comillas print("Esta navidad es: ".$navidad); ?> Un uso complementario de esta función es el de corregir errores como resultado de operaciones de suma o resta entre fechas, ya que, por ejemplo, si le pasamos como argumento 32 de enero, nos devuelve un número timestamp que, si lo convertimos con getdate, da 1 de febrero. Validar si una fecha es correcta con checkdate(). Muchas veces necesitaremos validar una fecha que, por ejemplo, haya ingresado un usuario en un campo de formulario. Para ello nos sirve la función checkdate, que recibe como argumentos el mes, el día y el año (cuidar ese orden, recordar la función anterior). Da como válidas fechas entre el año 0 y 32767 inclusive, meses del 1 al 12, y días entre el 1 y el 28 a 31 según el mes, considerando según el año la posibilidad de que sea bisiesto o no. Su resultado puede ser "true" o "false" únicamente (se dice que es una función booleana -por Boole, un famoso matemático-: o da verdadero, o da falso, no puede tener otro resultado). Veamos ejemplos de su uso: <?php $primera = checkdate(12,24,2006); if ($primera){ // preguntamos tácitamente si dio verdadero print("Fecha buena"; } else { print("Fecha equivocada"; } ?>

20
5
Vaya gifs! para matárse de la risa![Incluído justin golpe]
Vaya gifs! para matárse de la risa![Incluído justin golpe]
HumorporAnónimo12/15/2010

¡Vaya gif! Por que un gif vale más que mil palabras. EL MÁS ESPERADO [JUSTIN SE GOLPEA CON UN VIDRIO!] Oserven lo pelotudo que es.

0
0
H
Hago trabajos PHP [Acá hay algunos]
Hazlo Tu MismoporAnónimo10/31/2010

Hago trabajos PHP por Mensaje Privado para su página web. Algunos trabajos: PHP COMO HACER TU PROPIO CÓDIGO CON ETIQUETAS HTML, EJ: CUAL IMAGEN <?php $busqueda = "[aca va el codigo, EJ: imagen]"; $cambiar = "aca va lo que cambia, ej: <img src=y una comilla"; $contenido = $_GET["lo que se envia por get"]; // Puede ser: codigo.php?envia=Miabuela.jpg $contenido = str_replace($busqueda,$cambiar, $contenido); //etiquetas para insertar imagen ?> Y así hacemos otra y otra... Pero, ¿Y en función para hacerlo más fácil?: <?php function codigo($cambiar, $contenido, $busqueda){ $buscar = $busqueda; $change = $cambiar; $contenido2 = $_GET["".$contenido.""]; $contenido2 = str_replace($buscar,$change, $contenido2); echo $contenido2; } echo codigo("cosa","nicolas","nico"); // Así funcionaría... // ¿Qué hace?, busca esto: nombrearchivo.php?nicolas=nico // Y luego lo cambia por: cosa. :) ?> COMO SABER SI UN ARCHIVO EXISTE <?php // Muy fácil: $cualarchivo = $_GET["archivo"]; if(file_exists($cualarchivo)){ echo 'El archivo existe'; } else { echo 'El archivo NO existe'; } ?> COMO QUITARLE LAS ETIQUETAS HTML A UN GET O POST O UNA VARIABLE. <?php // Como probar esto?, hacemos lo siguiente: nombrearchivo.php?variable=Prueba que no está en negrita $variable = $_GET["variable"]; $variable = strip_tags($variable); $variable = stripslashes($variable); echo $variable; ?> COMO SABER SI LLENARON UNA VARIABLE POR GET O POST <?php if(isset($_GET["variable"])){ echo 'Ok, la llenaste'; } else { echo 'Ja!, no la llenaste'; } ?> MYSQL COMO VER UNA TABLA, COMO IMPRIMIRLA. <?php mysql_connect("localhost", "tu user", "tu password"); mysql_select_db("la base de datos"); if($consulta = mysql_query("SELECT * FROM latabla") ) { $filas = mysql_fetch_array($consulta); echo $filas["algun campo"]; } else { echo 'No se pudo hacer nada'; } ?> COMO VER MUCHAS TABLAS, WHILE <?php mysql_connect("localhost", "tu user", "tu password"); mysql_select_db("la base de datos"); if($consulta = mysql_query("SELECT * FROM latabla") ) { while ( $filas = mysql_fetch_array($consulta) ) { echo $filas["algun campo"]; } } else { echo 'No se pudo hacer nada'; } ?> Gracias por pasar por mi post. Enviarme un MP.

57
0
Cómo hacer un script para editar Taringa! [Parte 1]
Cómo hacer un script para editar Taringa! [Parte 1]
Hazlo Tu MismoporAnónimo6/3/2012

Crear un script para editar Taringa! PARTE 1 Este tutorial es a prueba de tontos y también te enseña a programar en Javascript. Estas aplicaciones son las simples que sirven con Tampermonkey en Chrome y con Greasemonkey en Firefox. ¿No tenés Greasemonkey? ¿No tenés Tampermonkey? Bueno como habrán visto, si buscan un tutorial para poder crear un script, no van a encontrar uno bien explicado, así que yo decido hacer un tutorial fácil de puro código (haciendo entender para que sirve cada cosa, claro) que les servirá para crear buenos scripts. Bueno, principalmente, hay que saber algo de HTML, y si no sabes un joraca, te explico simple en unos párrafos: 1. En el HTML hay etiquetas como <hola> y ese <hola> tiene que cerrarse si o si, y se cierra asi: </hola> entonces la estructura queda <hola>Aca va algo</hola> 2. En las etiquetas hay atributos como <hola asd="que tal loco?" soy="re gay viteh">entonces aca meto algo</hola> y asi seria cada estructura simple 3. Hay varias etiquetas y atributos que están definidos, veamos un caso: <strong></strong> = hace negrita <i></i> = hace cursiva <h1></h1> = pone en letra grande similar al de T! pero más extendido 4. En las cosas que poner hay clases, como <hola class="asd"></hola> y eso tendrá una clase CSS (que luego enseñaremos eso ._.) y todas las clases ponen diseños, ponele que la class "asd" pone un color amarillo a un texto, entonces si la sacamos volvera al texto comun, como estaba antes viteh. Creando un proyecto en Greasemonkey Si ustedes van a "Herramientas > Greasemonkey" verán varias cosas raras, asi que solo nos servirá el boton que dice "New User Script...", ahí aparecerán unos campos como "Name, NameSpace, Description, Includes (One per line) y Excludes (One per line)" y ponen lo siguiente: Name El nombre de su script (ej: Sacar publicidad) Namespace Acá ponen su nick en Taringa, o su nombre real, o su mención, que vendría siendo el creador del script (ej: @Cagmaster) Description Acá vá la descripción de su script (ej: Esta cagada saca la publicidad de T!) Includes (One Per line) Acá ponen la url de la web en donde va a estar el script, si va a ser taringa, pongan http://*taringa.net/*, los asteriscos son como que dicen que en cualquier lado de taringa va a funcionar, y en cualquier subdominio, pero si quieren un lugar expecifico, ejemplo, que solo funcione en la comu wtf, ponen http://*taringa.net/comunidades/whatthefuck/ o en cualquier comunidad: http://*taringa.net/comunidades/* en la de excludes no hace falta poner nada. Luego, ya estará creado, nos dirá Greasemonkey "el script tal tal ha sido instalado" (en inglés) y se nos abrirá Notepad, o algún editor de texto y nos dirá unas cosas como Userscript y no van a entender nada, pero ya tienen la base de su script. Empezando a programar Después de en donde dice "// ==/UserScript==" hagan un enter y escriban: jQuery = $ = unsafeWindow.jQuery y ahí les importará una libreria que hará más fácil el trabajo... bueno, y después de esa linea, hacen otro enter y ya está, pueden escribir lo que sea en javascript. Programando lo más simple Bueno, y como hago para poder sacar esto, y eliminar aquello, y agregar un botón que me lleve a algún lado, y esto otro, bueno, para eso, se necesita usar el Código fuente, o el Inspeccionar elemento de Chrome :B Abren todo el código fuente con Control + U porque eso es como la guía para poder hacer lo que quieran. Empezemos con lo básico-- LES ENSEÑO ALGO BÁSICO antes de seguir. Si ustedes tienen: <div class="algo"> caca </div> Y quieren sacar el "caca" hacen: $('.algo').html(); y ya ahi lo tienen lo pueden poner en una variable, para luego imprimirlo algo así: lacaca = $('.algo').html(); o si no, si quieren editar el caca $('.algo').html('algo mas que no sea una caca ._.'); y si luego tienen algo más complejo como: <div class="coso raro" id="esto"> <span class="eme">Coso. <div id="great">Eso</div></span> </div> Y quieren sacar el "Eso" solo usan la lógica 1. $('.coso'); 2. $('.coso span.eme') 3. $('.coso span.eme #great') 4. $('.coso span.eme #great').html(); y listo, tienen "Eso" ah, y otra cosa #algo = saca el coso que tiene id="algo" .algo = saca el coso que tiene class="algo" Bueno, quiero imprimir mi usuario de T! Escriben algo así (los "// algo" son sólo comentarios, no intervienen en el código) nick = $('.navitem .clearfix a .nick').html(); esto obtiene el nick, que esta dentro de la div con class "navitem" pero lo sacará con espacios, porque si ven, en la mierda del html en código fuente, salen un montonaso de espacios y luego dice tu nick y luego siguen los espacios, si quieren que eso no pase usan $.trim(y aca ponen el $('.navitem...').html()); y ya estaría y acá mandamos una alerta que nos muestra nuestro nick: alert(nick); ¿Y si quiero cambiar mi nick y mi avatar para que parezca que estoy en otro user? como hice recien: $('.navitem .clearfix a .nick').html('Aca cambio el nick que quiera'); y luego el avatar: $('.navitem .clearfix a .avatar').attr('src', 'Aca iria la URL del avatar nuevo'); el .attr('Atributo', 'Contenido') sirve para editar el Atributo="Contenido" Y fin, hagan alguna cosa y si tienen alguna duda, no les funciono algo, o no entienden algo, simplemente comenten o manden MP. Si quieren hacer alguna extensión sencilla o algo complejo, y quieren aprender como hacer esto y esto por parte, me dicen por mp Saludos! si pudieron hacer algo mandenlo! subanlo a http://userscripts.org/ (se tienen que registrar) y si no entendieron, pongan un comentario, o manden mp, les respondo todo.

73
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.