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

#1
PHP / Optimizacion PHP: Funciones VS Includes
28 Julio 2011, 04:21 AM
Hola.

He buscado bastante sobre el tema y en ningún sitio he encontrado exactamente lo que necesitaba saber, así que voy a plantear mi pregunta de modo que pueda servir también a otros.

Ya conocemos las ventajas de programación dinámica en PHP, y las mejoras de escalabilidad que ofrecen las funciones e includes a la hora de modificar y adaptar un proyecto a necesidades futuras.

En algunos casos (cuando necesitamos que un dato sea retornado por el script) se utilizan funciones, y a la hora de añadir páginas que se repiten (como un menu) utilizamos includes, por lo general.

Pero hay situaciones en las que un include nos hace el mismo papel que una función, como por ejemplo a la hora de parsear elementos de un $_GET en ciertas situaciones. Cuando se dan estos casos, que resulta más eficiente para PHP; utilizar una función (o clase) o un include? Las variables del include (o require, por si acaso) estarán en el mismo ámbito en el que vana  ser utilizadas despues, por lo que llamarlas resultará mucho ,más eficiente, ademas, ahorraremos el tiempo de llamar a la función (que además deberá haber sido previamente incluida o se habrá tenido que crear una instancia, según el tipo de función), una vez terminada tendrá que devolver los valores y estos deberán ser almacenados. Todo este trabajo con el include no se realiza, pero PHP debe leer el fichero a incluir y ejecutarlo junto con lo demas, por lo tanto, mi pregunta en resumen es:
En igualdad de condiciones, que es mas eficiente, un include o una función?
#2
PHP / ctype y la seguridad
27 Julio 2011, 08:03 AM
Hola.

Estoy haciendo un diseño web en el cual hay de por medio un diseño de búsquedas.
A buscar.php se le pasarán por GET una serie de parámetros y éste se encargará de devolver el array que contiene la respuesta de la DB a la consulta.

Las queries se van a crear dentro de buscar.php, así que tengo que parsear las variables que llegan por GET.

Primero pensé en expresiones regulares o preg_replaces a secas para sustituir, pero luego me dije:
¿Por que tengo que gastar recursos del servidor en reescribir los intentos de un hijo de p*t* de buscar fallos en mi web? Y encontre ctype.
ctype_alnum($string) devuelve 1 si la string es alfanumérica.

Invocando ctype_alnum de esta forma:
ctype_alnum(str_replace(array('-','+'), '', $_GET['genres']))

Si no es positivo, no se asigna el $_GET a la variable y ese parametro de búsqueda queda no definido, o directamente se corta la ejecución del script.

Si se parsean así las variables ANTES DE HACER NADA MAS CON ELLAS, es seguro? o existe alguna forma de que alguien cuele SQL injection/ LFI /RFI/ cross-site scripting??
#3
PHP / Menu dinámico PHP
21 Julio 2011, 04:42 AM
Hola.
Estaba creando una web dinámica con php y me di cuenta de que necesitaba que el menú variase según en que módulo de la página nos encontrásemos, mostrando las subcategorías del módulo en el que nos encontramos, y no de otros. La variable $module es la que, en otras páginas, ha sido definida y tratada correctamente para contener solo los valores que nos interesan.

Como no se me ocurría ningún método mejor utilice un simple if para ejecutar o no ciertos echo; el código que utilice esta a continuacion.
Se os ocurre un método mejor de hacerlo o una forma de mejorar éste? Gracias.
<?php
if (!defined('nI')){
	
die(
'No se permite vizualizaci&oacute;n directa');
}
echo 
"<div class=\"leftmenu\">
	
<p>Inicio</p>
	
<p>Peliculas</p>"
;
if ((
$module=="peliculas") or ($module=="pelicula"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores películas</p>
	
	
<p>Las películas más vistas</p>
	
	
<p>Ultimas peliculas estrenadas</p>
	
	
<p>Ultimas peliculas añadidas</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Series</p>"
;
if ((
$module=="series") or ($module=="serie"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores series</p>
	
	
<p>Las series más vistas</p>
	
	
<p>Ultimas series estrenadas</p>
	
	
<p>Ultimas series añadidas</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Documentales</p>"
;
if ((
$module=="documentales") or ($module=="documental"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores documentales</p>
	
	
<p>Los documentales más vistos</p>
	
	
<p>Ultimos documentales estrenados</p>
	
	
<p>Ultimos documentales añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Juegos</p>"
;
if ((
$module=="juegoss") or ($module=="juego"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores juegos</p>
	
	
<p>Los juegos más jugados</p>
	
	
<p>Ultimos juegos estrenados</p>
	
	
<p>Ultimos juegos añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Musica</p>"
;
if ((
$module=="musica") or ($module=="artista"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores músicos</p>
	
	
<p>Los albums más escuchados</p>
	
	
<p>Ultimos albums estrenados</p>
	
	
<p>Ultimos albums añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Programas</p>"
;
if ((
$module=="programas") or ($module=="programa"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores programas</p>
	
	
<p>Los programas más utilizados</p>
	
	
<p>Ultimos programas estrenados</p>
	
	
<p>Ultimos programas añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"</div>
<div class=\"Clear-leftmenu\"></div>"
;
?>
#4
Bases de Datos / Duda PK y FK
17 Julio 2011, 20:45 PM
Hola.

Estoy diseñando una DB y para que la organizacion del contenido sea natural se me ocurrio utilizar taxonomías (no voy a explicar detralladamente como funciona la tabla y organizacion porque no lo creo necesario para la pregunta)

Las tablas son asi:

Taxonomies:
TaxID   (pk)
TaxFatherID (fk related to Taxonomnies.TaxID)
TaxNameSpa
TaxNameEng


Peliculas
Mov.ID (pk)
MovTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada pelicula tendra su taxonomía propia!)
RestoTabla

Series
Ser.ID (pk)
SerTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada serie tendra su taxonomía propia!)
RestoTabla

TVFilms
TMov.ID (pk)
TMovTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada serie tendra su taxonomía propia!)
RestoTabla


Tengo 2 preguntas: Pueden las fk de TVFilms, series y pelis ser indices? Seria esto compatible con la forma normal 3? los elementos serian únicos, no es realmente necesario el surrogated key ModID

He leido en un documento de MySQL lo siguiente:
En la tabla que hace referencia, debe haber un índice donde las columnas de clave extranjera estén listadas en primer lugar, en el mismo orden.

Las taxonomías se crean a la vez que las pelis/series, así que el orden sera el mismo, pero por cada elemento en movies se preveen alrededor de 5-10 entradas en taxonomies, entre las que pertenecen a series,tvmovies y las subcategorias de cada una
#5
Bases de Datos / Sobre el diseño de una DB
16 Julio 2011, 04:59 AM
Hola.

Estoy diseñando una DB para una especie de CMS desde 0 que quiero hacer (por favor, no me sugirais utilizar un CMS ya creado, estoy haciendo esto además de para utilizarlo para aprender programacion PHP, javascript y sobre el diseño y mantenimiento de DBs) y se me plantea una duda:

En caso de contenidos similares (por ejemplo; la ficha de una película y de una serie, en las cuales en una hipotética tabla tendrian el mismo dominio en todos los atributos); es mejor crear una única tabla "PelisySeries", añadiendo un campo que diga si es película o serie o dos tablas, "películas" y "series".

Las consultas serían, en caso de una búsqueda por el usuario tanto pedir una lista de películas o una de series como dos listas, una de cada.

En términos de rendimiento, que consume menos recursos del sistema (con recursos no me refiero a espacio en el HDD, sino en RAM y procesador):
-Consultar una tabla de peliculasyseries en busca de películas o series (es un o exclusivo)
frente a:
-Consultar en una tabla de películas O (exclusivo) en una de series en busca del contenido de su tipo.
En el caso anterior supongo que la segunda, debido a que la tabla es más pequeña; pero en el siguiente caso:
-Consultar una tabla de peliculasyseries en busca de películas y series
frente a:
-Consultar en una tabla de series las series y seguidamente en una tabla de películas las películas.

En ambos casos la búsqueda puede tener diferentes parámetros y tal, pero con resolver esta conslta creo que casi todas las dudas con el diseño básico de la DB estaran contestadas, a falta de que surjan futuras dudas.


En resumen mi duda podria resumnirse en algo como:
"En bases de datos con tablas de más de 200.000 filas, es rentable en términos de rendimiento dividir las tablas según un atributo (en este caso tipo_contenido) a cuyo dominio solo pertenecen 3 o 4 valores (por ej: pelis,series,juegos) en tablas diferentes? Ahorra tiempo la reduccion del número total de elementos a buscar frente al acceso a multiples tablas?)"

O sería mejor utilizar una vista? Que hace MySQL para mantener actualizada una vista; modificarla cada vez que se modifica la tabla origen o "crearse" por cada consulta que el usuario realiza?Es decir, si yo modifico una tabla apuntada por una vista y antes de que nadie más modifique la tabla 20 usuarios acceden a la vista; esta consumirá recursos para actualizarse 20 veces o solo 1?


Pregunta 2: Para almacenar mensajes privados que NO deben desaparecer del outbox del usuario que lo envia en caso de que el usuario que los recibe los elimine se me ocurren 2 cosas:
La peor: Guardar 2 veces el mensage, una en el inbox y otra en el outbox del usuario.

La que según creo es la mejor: Crear 1 sola version del mensage, con sender_id;  msg_id y reciever_id. Crear tablas inbox y outbox que contengan msg_id; y a la hora de listar compruebe el out/inbox. Cuando NI el outbox NI el inbox listen un mensage, este podrá (o no, segun intereses) ser eliminado del sistema
#6
Hola.

Estoy trabajando en un proyecto personal de página web que contenga una base de datos con películas, detalles, enlaces y demás, y mientras planeaba la estructura de la DB he pensado que no tengo ni idea sobre el rendimiento de MySQL cuando se enfrenta a multiples consultas en uan base de datos potencialmente grande.

He estado buscando un buen rato por google pero no he encontrado ningun manual genérico sobre la optimizacion de MySQL, y por esta web he de confesar que no he buscado demasiado porque ya tengo sueño y llevo varias horas con el pc...

En fin, si alguien conoce algun manual al respecto, tanto en inglés como en castellano (preferiblemente castellano, pero me desenvuelvo con el ingles aceptablemente jeje).

Gracias y perdon por la molestia, que estoy siempre pidiendo, pero cada dia hay más basura por internet, buscar hoy en dia da asco, antes buscabas algo en google y salian cosas útiles, ahora la mayoria son copias malas de algun documento con la esperanza de obtener algun click que les regale algun centimo >.<.

Oh, si alguno sabeis de algun ejemplo publicado de estructuras de una base de datos enfocadas a una web del tipo seriesyonkis o a una red social podriais linkarlas tambien? estoy buscando ideas para la estructura de ciertas bases de datos y me vendrian bien ejemplos hechos por gente que sabe del tema (no pido que me hagais el trabajo, pero creo que la mejor forma de aprender es ver código, o en este caso, estructuras de algo parecido a lo que yo quiero hacer).
#7
Hola.

Me he pillado una Alfa Network AWUS036NEH, y por lo visto tiene el chipset Ralink 3070 (RT3070)
Segun he leido en la web en donde la compre, para poder auditar con esta tarjeta tengo que usar el CD de arranque llamado Beini.
Hasta aqui todo bien, el Beini funciona y esas cosas.
(por si te ha surgido el mismo problema, Beini se obtiene aqui: http://www.ibeini.com/), es un tiny core linux.

El tema es que este sistema carece de diccionaros de claves, así qyue el tema se eterniza bastante.

Lo que quiero saber: Es posible con las versiones actuales de wifiway utilizar esta tarjeta? He estado buskando topics, pero son todos viejos, de la epoca de wifiway 1, y como que de poco me sirve eso.

Gracias, y espero que si alguien ha tenido el mismo problema y no lo pudo solucionar el tema de Beini le sirva como parche


Solucionado! Con wifiwai 2.0.1 o superior funciona
#8
PHP / Duda PHP
13 Abril 2011, 19:06 PM
Hola.

He estado mirando la biblia de PHP, y he visto que es posible acceder a una página web remota y obtener informacion de la misma, asi como crear archivos en un servidor remoto, pero es posible que un script php ACCEDA a un sitio web externo y lo "utilice"?

Es decir, un ejemplo de implementacion seria:
Alguien introduce un enlace en mi sitio web. Un script php captura el enlace del formulario y lo envía digamos a un rapidleech o sborg (scripts que descargan/suben archivos a fileserve etc) alojado en un servidor externo. Para que este segundo servidor se lo descargue, resuba y al devolver los enlaces el script del primer sitio web los guarda en la base de datos.

La pregunta es, es posible que el script del sitio web A "utilice" automaticamente el sborg o rsapidleech en lugar de tener que ir yo manualmente a dar los clicks necesarios. En caso afirmativo, donde hay un manual que explique como acceder e interactuar con otros sitios web
#9
Hola.

Quiero crear una página web de enlaces a descargas (con esto del cierre de webs habrá que colocarla en otro pais, pero weno eso ya es otro problema jeje) pero no me gusta el estilo de foro de cara al usuario, estaba pensando algo más como seriesyonkis (perdon por dar el nombre de la web, pero no creo que sea publicidad sino más bien un ejemplo).

Lo que me interesa es hacer la web en php con un diseño modular (se llama asi cuando ciertas partes de la web se mantienen siempre y solo se cambia una parte cuanddo se bucea en los menus, no?),  con un sistema de usuarios y base de datos mysql para los aportes.

Una vez dicho lo que quiero crear, mi peticion:
Qué manuales recomendais para leer? estoy estudiando informática, pero no hemos hecho absolutamente nada de PHP aun) necesito aprender sobre interaccion php-mysql, programacion de php modular y de sistemas de usuarios.
Utilizais algun editor o alguna base preescrita para sistemas de usuarios o programacion modular o programais de cero?

Sobre apache y demás instalaciones en el servidor no necesito ayuda

Muchisimas gracias.


[EDIT]  He pensado en utilizar algún CMS, pero no cumplen todo lo que quiero implementar en mi web, así que prefiero escribirila yo mismo y poder añadir las cosas que necesite. [/EDIT]
#10
Hola.

Me interesa conectar un router a otro router wifi, y desde el primer router ofrecer conexion a distintos ordenadores.
En la universidad aun no nos han enseñado nada sobre wireless (triste, eh?) y no se si hacer esto es posible, y si se necesitan 1 o mas interfaces wifi. Tambien se que tengo que hacer NAT, pero no hemos visto tampoco el NAT en wifi, solo entre puertos ethernet -.-

No me interesa robar wifi si es lo que pensais xD, el tema es que la casa de mi madre esta a unos 400 metros de la mia, y tengo una antena que me sirve para conectarme con un ordenador desde casa, pero tengo tres ordenadores, la ps3 y demás y me interesaria mucho conectarlas por wifi, y no quiero comprar antenas para todo, asique pense en conectar la antena aun router y establecer ahi un punto de acceso para mi casa. Ya pagamos 1 conexion, no voy a pagar 2, coño, que estos de timofonica son unos careros.

Gracias.

No pido una solucion directa, si teneis un enlace a algun capitulo de un manual que hable sobre wifi me vale.
#11
Vale, esto antes era una peticion de ayuda con wordpress, pero aprendi a solucionar el tema.
Vamos al lio, si lo que quieres es representar en la página principal de tu blog tablas separadas con las listas de los últimos posts de una categoria de tu blog o solo una tabla, o loq que querais, este es el cógido:


<table>
<tr>
 <th>Post</th>
 <th>Autor</th>
 <th>Antigüedad</th>
</tr>
<?php
 $lastposts 
get_posts('numberposts=3&category_name=NOMBREDETUCATEGORIA');
 foreach(
$lastposts as $post) :
    
setup_postdata($post);
    
$age time()-get_the_time('G');
 
?>

<tr>
 <td><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a></td>
 <td><?php the_author() ?></td>
 <td>
  <?php if ($age 84600) :?>
   <?php echo round(($age/60)/60); ?>
   Horas
  <?php else : ?>
    <?php if ($age 2073600) : ?>
     <?php echo round((($age/60)/60)/24); ?>
     Días
    <?php else : ?>
     <?php if ($age 64281600) :?>
      <?php echo round(((($age/60)/60)/24)/31); ?>
      Meses
     <?php else : ?>
      <?php echo round((((($age/60)/60)/24)/31)/12); ?>
     <?php endif; ?>
    <?php endif; ?>
   <?php endif; ?>
 </td>
</tr>
<?php endforeach; ?>
</table>


Según que tema useis, las tablas no se mostrarán. Eso teneis que solucionarlo en el archivo .css o insertando scripts en la cabecera de wordpress, no se muy bien como hacerlo bien, asique no me meto ahi.

Por cierto, lo que estas tablas hacen es mostrar SOLO el título del post en una celda, el autor en la siguiente, y el tiempo que hace que se posteo redondeado.
Si hace más de un dia, se ignoran las horas. Si hace más de un mes, se ignoran dias, si hace más de un año (no te pases sin postear un año en tu blog!) se ignoran los meses. Se hace redondeo, pero la verdad es que no importa mucho.
#12
Desarrollo Web / Website descargas
20 Octubre 2010, 18:53 PM
Hola.
Os parecera estúpido, pero he buscado tanto en ingles como en castellano (quiza no use los temrinos adecuados) pero no he podido encontrar ningun script para instalar una web preparada para hostear enlaces a servidores de descarga, y llevar una cuenta, para poder hacer rankins de mas descargados, etc.

Si no entendeis a lo que me refiero, un ejemplo seria elitedivx

Bueno, ya he decidido el enfoque del negocio:
Primero, voy a poner un blog wordpress hosteado en HGator para ver como va el negocio. Si despues del SEO (tengo desarrollada una linkwheel pa flipar, si a alguien le interesa el tema que me de un toke) rankeo 1 en google y veoq ue hay traifco pensare en preparar un custom script.

Sobre WP, conoceis algun theme o los mejores plugins (mejor si es de pago y publicado en warez) util para hacer de CMS? Esque he encontrado muchos para rankear posts, o para contar descargas, pero no tengo nada que, por ejemplo, ordene los post en uan categoria por orden alfabético o por orden de novedad o lo que al usuario le interese.
He encontrado muchos plugins distintos, pero ninguno cumple con mis espectativas.
#13
PHP / Arboles de tuplas en php?
30 Agosto 2010, 23:36 PM
Hola.
Estoy estudiando ITIG, y en primero hicimos pascal, y conozco algo de C++.
Ahora (por mi cuenta, no quiero leechear un trabajo de universidad xD) estoy haciendo una paginilla en phpnuke para los colegas, y queria añadir cierta funcion que no he encontrado por ningun sitio.
Para implementarla, he pensado en hacerlo mediante un arbol de tuplas, siendo la tupla el usuario con los datos necesarios etecé.
El problema me surge en dos puntos distintos:
Si utilizo como soporte para el arbol un documento... os parecera de risa, pero como se abre un documento en escritura sin perder todos los datos?? Esque solo nos han enseñado abrir en modo lectura y escritura.

Como por este lado no sabia solucionarme la papeleta, pense en utilizar una base de datos MYSQL, pero la verdad que no tengo ni **** idea del tema de MySQL... obviamente, no quiero una solucion al tema del MySQL con los datos tan vagos que doy, simplemente alguna referencia al respecto.

Muchas gracias
#14
Programación Visual Basic / Uploader?
22 Febrero 2009, 16:27 PM
Buenas.
Un amigo me sugirio hacer una aplikacion que me parecio muy interesante, pero no tengo mucha idea de esto, asique me gustaria que me dieran alguna directriz o link a un manual.

Tuenti es una red social en la que la gente comparte fotos etc, pero solo se pueden subir de 8 en 8. Me gustaria saber si es posible hacer un programa que tu selecciones una carpeta o lista de archivos y el programa automaticamente vaya subiendo de 8 en 8 hasta que termine.
Tuenti hace esto poniendo los 8 rutas de enlace y se van subiendo.
Muchas gracias