Añadir imágenes a una base de datos y cargarlas usando PHP y MySQL

agosto 26, 2010 a las 4:50 pm | Publicado en PHP, Programacion | 48 comentarios
Etiquetas: , , , ,

En este tutorial les voy a enseñar a trabajar con imágenes y una base de datos con PHP y MySQL. Vamos a utilizar Dreamweaver CS5, el cual nos va a ahorrar bastante tiempo en algunas cosas.

Al trabajar con imágenes y bases de datos tenemos dos opciones, la primera es guardar la imagen en la base de datos, y la segunda es guardar la ruta de la imagen en la base de datos. El primer caso haría que la base de datos se vuelva un poco pesada, así que usaremos el segundo caso, almacenando únicamente la ruta de la imagen en la base de datos. Esta forma es más fácil y práctico de trabajar con imágenes.

Bueno ahora empecemos. Primero en Dreamweaver  vamos a crear un nuevo sitio. Nos vamos al menú Sitio y escogemos Nuevo sitio en la pestaña Sitio, le ponemos un nombre y su ruta:

Clic en la imagen para ampliar

Luego nos vamos a la pestaña Servidores, ahí damos clic en el símbolo + y llenamos con la siguiente información (en mi caso uso el puerto 8081, si usan otro deben modificar eso):

Clic en la imagen para ampliar

Luego en la pestaña avanzadas realizamos lo siguiente:

Clic en la imagen para ampliar

Luego damos clic en Guardar, en la primera ventana y seleccionamos el servidor que creamos:

Clic en la imagen para ampliar

Luego damos clic en Guardar.

Este proceso es en la version CS5 de Dreamweaver, en la versión 8 es un poco diferente.

Una vez hecho esto creamos un nuevo archivo PHP y lo guardamos en la ruta del sitio, en mi caso C:\xampp\htdocs\PracticaImagenes le vamos a poner el nombre de formulario.php.

Ahora vamos a crear la base de datos que contendrá la información de las imágenes. Usando el phpMyAdmin que trae el XAMPP vamos a crear la base ImagenesPractica y dentro la tabla Catalogo con los siguientes campos:

Ahora en Dreamweaver en el archivo formulario.php nos vamos al menú Ventana -> Bases de datos. En el panel que aparece damos clic en el símbolo + y escogemos «Conexión MySQL» y llenamos los datos como se muestra:

Clic en la imagen para ampliar

Ahora vamos a crear una página que se llame ingreso_exitoso.php la cual contendrá el texto «El dato ha sido ingresado correctamente».

Cerramos el archivo ingreso_exitoso.php y luego nos vamos al archivo formulario.php. Allí vamos a crear un formulario como el que se muestra en la imagen:

Clic en la imagen para ampliar

Junto a cada elemento del formulario puse el nombre que tiene cada uno, y el cuadro de la derecha muestra los atributos de la lista Tipo. Bueno en la imagen me faltó un botón que se diga Enviar. Ahí lo incluyen. Una vez hecho esto vamos al menú Insertar -> Objetos de datos -> Insertar registros -> Insertar registro y llenamos como se muestra:

Se debe ir escogiendo cada columna y asignarle el valor correspondiente. En tras insertar, ir a escogemos la página que creamos antes que solo tiene un texto. Damos clic en Aceptar.

Ahora en la ruta del sitio que en mi caso es C:\xampp\htdocs\PracticaImagenes vamos a crear una carpeta llamada images y dentro de ella dos carpetas, una llamada Camisetas y otra llamada Accesorios.

Hasta el momento lo que hace Dreamweaver es llenar la base de datos con lo que tenemos en el formulario. Pero todavia no almacena la ruta de la imagen. Eso vamos a hacer ahora. Antes tenemos un combobox que nos pide el tipo, ya sea Camiseta o Accesorio (suponiendo que es una tienda deportiva) si escogemos camiseta se debe guardar la imagen en C:\xampp\htdocs\PracticaImagenes\images\Camisetas y si escogemos  Accesorio se debe guardar en C:\xampp\htdocs\PracticaImagenes\images\Accesorios y además almacenar esa ruta en la base de datos.

Estando en el archivo formulario.php nos vamos en Dreamweaver a la opción de Código (Ver -> Código) y ubicamos la siguiente línea de código:

Clic en la imagen para ampliar

Debajo de la línea subrayada vamos a insertar el siguiente código PHP:

$tipo_prod = $_POST[«lstTipo»];

//Guardar imagen
if(is_uploaded_file($_FILES[‘fleImagen’][‘tmp_name’])) { // verifica haya sido cargado el archivo
$ruta= «images/$tipo_prod/».$_FILES[‘fleImagen’][‘name’];
move_uploaded_file($_FILES[‘fleImagen’][‘tmp_name’], $ruta);
}

Más abajo tenemos el código:

GetSQLValueString($_POST[‘fleImagen’], «text»),

Lo modificamos y le ponemos lo siguiente:

GetSQLValueString($ruta, «text»),

Listo ahora guardamos el archivo formulario.php y probamos la página web en el navegador.

Al llenar el formulario y escoger una imagen ésta se guarda en la carpeta correspondiente según sea Camiseta o Accesorio y su ruta se guarda en la base de datos:

Clic en la imagen para ampliarla

Ahora vamos a mostrar los datos en otro archivo. Creamos un nuevo archivo llamado catalogo.php

Vamos al menú Ventana -> Vinculaciones. En el panel damos clic en el símbolo + y llenamos el cuadro de diálogo como se muestra:

Clic en la imagen para ampliar

Damos clic en Aceptar. Ahora vamos al menú Insertar -> Objetos de datos -> Datos dinámicos -> Tabla dinámica:

Clic en la imagen para ampliar

Guardamos la página y la ejecutamos en el navegador, y podemos ver los datos de la base. Ahora para ver la imagen en lugar de la ruta nos vamos al código y ubicamos el siguiente código:

Clic en la imagen para ampliar

En la parte que dice <td><?php echo $row_catalogo_imag[‘Imagen’]; ?></td> le modificamos por lo siguiente:

<td><img src=»<?php echo $row_catalogo_imag[‘Imagen’]; ?>» / ></td>

Actualizamos la página y vemos las imágenes:

Clic en la imagen para ampliar

Espero que les haya gustado este tutorial. Espero sus comentarios y preguntas.

Pueden descargar el programa completo en: http://www.mygnet.net/codigos/php/manejodebasedatos/insertar_imagenes_en_una_base_de_datos_de_mysql_con_php.3238

«Soledad enamorada» otro sencillo del disco Poquita ropa de Ricardo Arjona

agosto 16, 2010 a las 2:29 pm | Publicado en Entretenimiento, Música | 1 comentario
Etiquetas: , , , , ,

El nuevo disco de Ricardo Arjona sale a la venta el próximo 24 de agosto.

La soledad no se toca el corazon, para humillarme
me pome a oir tus fotos
me pone a oler tu ausencia
a ver la luz que esta apagada

la soledad enamorada
es un misil golpeando el pecho
la menopausia encinta de un amor
que ya no es nada

la soledad es el brasier que se quedo
cuando te fuiste
el decibal de tu silencio
el calendario de tu ausencia
el alma máter de lo abusrdo

la soledad enamorada
es mi pistilo sin tu estambre
es la hija de puta mas perversa
y sigue aqui conmigo

yo no se si es una trampa que dejastes
yo no se si es una treta o una venganza
yo no se si tienes tu que ver con esto

la soledad enamorada sigue aqui conmigo
esta soledad se desliza
esta soledad que se incorpora
esta soledad de tus cenizas
esta soledad que me evapora
y te extraña igual que yo

Programa de encriptación simétrica con el método matricial hecho en Java

agosto 4, 2010 a las 10:03 pm | Publicado en Java, Programacion | 3 comentarios
Etiquetas: , , ,

Este es un programa que hicimos en la universidad. Está hecho en un applet de Java en Netbeans. Primero les explico cómo funciona este método de encriptación y desencriptación y luego el funcionamiento del programa.

El método de encriptación simétrica se llama así porque usa la misma clave para encriptar y desencriptar. La clave es un valor numérico.

Para entender cómo funciona vamos a usar un ejemplo.

El mensaje a encriptar será: HOLA MUNDO ES UNA FRASE COMUN y la clave va a ser 4.

Lo que hacemos es agrupar el texto en número de caracteres según la clave y formar una matriz. Así con esa frase y esa clave nos quedaría:

H   O   L   A
_   M  U  N
D   O   _   E
S   _   U   N
A   _   F    R
A   S   E    _
C   O   M   U
N  _    _    _

Para el ejemplo reemplacé los espacios con guiones bajos. Viendo esa frase en una línea sería:

HOLA | _MUN |DO_E | S_UN |A_FR | ASE_ | COMU | N_ _ _ |

Al último puse 3 guiones bajos para completar los 4 caracteres finales. Para encriptar la frase viendo la matriz vamos cogiendo los caracteres de la primera columna, luego de la segunda, etc, la frase nos queda:

H_DSAACN  -> Primera columna
OMO__SO_  -> Segunda columna
LU_UFEM_ -> Tercera columna
ANENR_U_ -> Cuarta columna

La frase encriptada completa nos queda:

H_DSAACNOMO__SO_LU_UFEM_ANENR_U_

Tomando en cuenta que los guiones bajos son en realidad espacios.

Ahora analizando el número de caracteres tenemos que la frase original tiene 29 caracteres incluyendo los espacios, mientras que la frase encriptada tiene 31 caracteres (no se toma en cuenta el último espacio).

Este dato necesitamos para el proceso de desencriptación. Para eso se parte de la frase encriptada y se divide el número de caracteres para la clave. Si el residuo es cero, la respuesta de la división es el número de filas de la matriz, si no es cero el número de filas de la matriz es la respuesta d ela división más uno.

Si dividimos 31 para 4 la respuesta es 7 con residuo 3, como no es exacta entonces el número de filas será 7 + 1 = 8. Quiere decir que debemos agrupar la frase encriptada en grupo de 8 caracteres así:

H_DSAACNOMO__SO_LU_UFEM_ANENR_U    -> Frase encriptada

H_DSAACN | OMO__SO_ | LU_UFEM_ | ANENR_U

Para formar la matriz cada grupo de caracteres es una columna de la matriz, nos queda por tanto:

H   O    L   A
_   M   U   N
D   O    _   E
S    _    U   N
A   _    F    R
A   S    E    _
C    O   M   U
N   _   _

Nuevamente volvemos a la matriz original y ya es cuestión de leer las filas en orden y se obtiene el mensaje desencriptado.

Esto es lo que haremos en el programa hecho en Java.

Lo pueden descargar del siguiente enlace: http://www.mygnet.net/codigos/java/criptografia/encriptacion_simetrica_con_metodo_matricial.3224

Usted el nuevo sencillo de Ricardo Arjona, escúchalo aquí

agosto 3, 2010 a las 6:20 pm | Publicado en Entretenimiento, Música | 12 comentarios
Etiquetas: , , , ,

Ya se puede escuchar el segundo sencillo del nuevo disco de Ricardo Arjona «Poquita Ropa» que saldrá a la venta el 24 de agosto de 2010. El nuevo sencillo se titula Usted y aquí lo compartimos contigo:

Usted que hace del mundo
algo más que una esfera
usted que me mira
usted que me cela
Usted me hace daño
Usted me da vida….

Usted que me construye
Usted que me aniquila
Usted que me destruye
Usted que me revive…

Que bonito es decir
que soy solo de Usted
el compas de mis ojos
son sus caderas
y no hago otra cosa
que seguir a la espera
de un beso furtivo
de un beso cualquiera

De una caricia suya de
un beso un quebranto
tenia que ser mujer
para gustarme tanto

Que bonito es decir
que soy solo de Usted
de Usted, de Usted, de Usted,
le digo así por ser discreto
de Usted, de Usted, de Usted,
suena mejor cuando es secreto

Porque un amor tan
clandestino y de trinchera
suena mejor cuando
es de Usted.

Usted hace de un pecado
un milagro cualquiera
mete el mundo aquí adentro
lo que estorbaba va afuera
Usted aunque ausente
Usted siempre se queda
Usted tiene otra historia
Usted porta una guerra
me escogió de venganza
y celebro su idea…

Que bonito es decir
que soy solo de Usted
de Usted, de Usted, de Usted,
le digo así por ser discreto
de Usted, de Usted, de Usted,
suena mejor cuando es secreto…

Porque un amor tan
clandestino y de trinchera
suena mejor cuando
es de Usted…

Video promocional de «Poquita Ropa», el nuevo disco de Ricardo Arjona

julio 27, 2010 a las 12:24 pm | Publicado en Entretenimiento, Música | 5 comentarios
Etiquetas: , , , ,

El video promocioal lanzado por la compañía discrográfica de Arjona, Warner Music, incluye un avance del nuevo video de Arjona del tema «Puente» el sencillo promocional de su nuevo disco. Además de estrenar nuevo disco, Ricardo Arjona aparece con nuevo look:

Circula en Internet parte de la nueva canción de Ricardo Arjona

May 29, 2010 a las 10:30 am | Publicado en Entretenimiento, Música | 2 comentarios
Etiquetas: , , ,

Ricardo Arjona habría terminado de grabar su nuevo disco que sería publicado este año aunque no se conoce una fecha exacta. Arjona confirmó el dato cuando estuvo en Chile después del concierto en Viña del Mar:

Recientemente se supo que parte de una de las canciones que compondría este disco fue robada del estudio de grabación.  Sin embargo era solo un rumor, ya que la canción no aparecía, hasta ahora. Una pequeña parte de la canción que contiene el siguiente texto:

Habana, siempre a las mitades tan mitad española tan mitad africana, saben bien las olas que en cada ventana siempre hay un testigo, Habana, juran lo que saben que no saben nada pa’ entender lo tuyo….

Aquí se puede escuchar la canción:

http://www.goear.com/listen/efcbd12/habana-ricardo-arjona

Manipulación de GoogleMaps con ASP.Net

May 15, 2010 a las 4:34 pm | Publicado en ASP, Programacion | 8 comentarios
Etiquetas: , , ,

Ahora les traigo otro tutorial muy interesante. Vamos a hacer lo siguiente:

  1. Vamos a tener en una página de asp.net insertado el GoogleMaps.
  2. Vamos a crear un buscador con Visual Studio.Net 2008 para encontrar cualquier lugar en GoogleMaps.
  3. El buscador será de dos tipos: podremos buscar por coordenadas, o podremos buscar por el nombre de algún lugar específico.

Esto será lo que vamos a crear:

Clic en la imagen para ampliar

Como se puede ver en la imagen tenemos el buscador por coordenadas o por localidad. Y el resultado nos mostrará en el GoogleMaps que insertamos en nuestra página web.

Para la programación utilizaremos el Visual Studio 2008 (con la versión 2005 también funciona igual). Y vamos a necesitar algunas cosas más que lo iremos diciendo en el tutorial. Ahora si, manos a la obra!!!

Para hacer este programa utilizaremos un API llamado GoogleMaps de Subgurim, para ello nos vamos a la siguiente dirección:

http://googlemaps.subgurim.net/descargar.aspx

Allí nos descargamos un archivo comprimido que contiene el archivo GMaps.dll

Luego con el Visual Studio 2008 creamos un nuevo Sitio web. En el Explorador de soluciones, damos clic derecho al proyecto y escogemos «Agregar referencia»:

Clic en la imagen para ampliar

En la pantalla que aparece nos vamos a la pestaña Examinar y buscamos el archivo dll que nos descargamos:

Clic en la imagen para ampliar

Automáticamente en el Explorador de soluciones se habrá creado una carpeta llamada Bin que contiene el archivo GMaps.dll

Ahora antes de continuar debemos comentarles que para hacer uso del API de Google de GoogleMaps es necesario obtener una clave que nos proporciona Google en la siguiente dirección:

http://code.google.com/intl/es-ES/apis/maps/

Allí nos vamos donde dice «Regístrate para obtener una clave de API de Google Maps»:

Clic en la imagen para ampliar

Ahi Google nos pide que aceptemos el contrato e ingresemos el sitio web donde lo vamos a usar, yo puse el sitio de mi blog, si no tienes página web entonces ingresa http://localhost. Y luego Google te proporciona la clave que vamos a necesitar. También es importante decir que para que Google te proporcione el API debes tener una cuenta en Gmail:

Clic en la imagen para ampliar

Listo una vez que tengamos la clave del API, nos vamos al Visual Studio .Net al Explorador de soluciones y damos doble clic en el archivo web.config allí vamos a encontrar la siguiente línea de código:

<appSettings/>

Allí borramos esa línea de código e insertamos la siguiente:

<appSettings>
<add key=»googlemaps.subgurim.net» value=»tuClave_yourKey«/>
</appSettings>

La parte que está en rojo debe ser reemplazada por el código API que obtuvieron anteriormente en la página de Google. Guardamos el archivo web.config y lo cerramos.

Ahora volvemos a la página principal que es Default.aspx y nos vamos a la sección de Código. Allí al comienzo del documento encontramos la siguiente línea:

<%@ Page Language=»VB» AutoEventWireup=»false» CodeFile=»Default.aspx.vb» Inherits=»_Default» %>

Debajo de esa línea de código escribimos la siguiente:

<%@ Register Assembly=»GMaps»  Namespace=»Subgurim.Controles»  TagPrefix=»cc»  %>

Ahora dentro del código HTML tenemos la etiqueta <form> y dentro una etiqueta <div></div> entre esas dos etiquetas div insertamos la siguiente línea de código:

<cc:GMap ID=»GMap1″ runat=»server» />

El nombre del mapa será GMap1 y ese nombre nos servirá para manipularlo. Ahora nos vamos a la parte de Diseño y podremos ver que aparece un recuadro como el siguiente:

Clic en la imagen para ampliar

Estando en el modo Diseño damos doble clic en cualquier parte blanca de la página para ingresar al método Page_Load. Esto abrirá el archivo Default.aspx.vb y cargará el método Page_Load, nos vamos al inicio de ese archivo e importamos las siguientes librerías:

Imports System
Imports System.Web.UI
Imports Subgurim.Controles

Ahora dentro del método Page_Load vamos a insertar el siguiente código:

‘Establecemos la longitud y latitud que se mostrará al cargar la página web
Dim latitud As Double
Dim longitud As Double
latitud = 40.381090
longitud = -3.622205

‘Carga el mapa con los valores establecidos anteriormente
Dim ubicacion As New GLatLng(latitud, longitud)
GMap1.setCenter(ubicacion, 15)

‘Establecemos alto y ancho en px
GMap1.Height = 300
GMap1.Width = 400

‘Adiciona el control de la parte izq superior (moverse, ampliar y reducir)
GMap1.addControl(New GControl(GControl.preBuilt.LargeMapControl))

‘GControl.preBuilt.MapTypeControl: permite elegir un tipo de mapa y otro.
GMap1.addControl(New GControl(GControl.preBuilt.MapTypeControl))

‘Permite hacer zoom con la rueda del mouse
GMap1.enableHookMouseWheelToZoom = True

‘Tipo de mapa a mostrar
GMap1.mapType = GMapType.GTypes.Normal

La explicación del código aparece en los comentarios. Ahí puse un ejemplo de longitud y latitud reales. Puedes probar con estos otros ejemplos de latitud y longitud válidos:

Quito
-0,229498
-78,524277

New York
40,7142691
-74,0059729

Londres
51,5001524
-0,1262362

Luego te mostraré cómo puedes obtener las coordenadas de cualquier lugar en este mismo tutorial. Ahora presionamos Ctrl + F5 para probar el mapa. Te debe cargar algo como esto:

Clic en la imagen para ampliar

Ahora volvemos al archivo Default.aspx a la vista de Diseño y sobre el mapa vamos a insertar los siguientes controles:

Clic en la imagen para ampliar

En la imagen se muestra los nombres de los componentes. Se debe respetar eso para que funcione el código que vamos a poner a continuación.

El RadioButtonList llamado RbtOpciones debe tener habilitada la opción AutoPostBack:

Clic en la imagen para ampliar

Ahora damos doble clic en el elemento rbtOpciones y carga el método rbtOpciones_SelectedIndexChanged allí vamos a copiar el siguiente código:

Dim val As Integer
‘Obtenemos en una variable el índice de la opción escogida
val = rbtOpciones.SelectedIndex()

‘Opcióm cero es por coordenadas y habilitamos los elementos que se requieren para buscar por coordenadas
If val = 0 Then
txtLatitud.Enabled = True
txtLongitud.Enabled = True
btnIr.Enabled = True
txtCiudad.Enabled = False
btnCiudad.Enabled = False

‘Opción uno es por ubicación y habilitamos los elementos que se requieren para buscar por ubicación
ElseIf val = 1 Then
txtLatitud.Enabled = False
txtLongitud.Enabled = False
btnIr.Enabled = False
txtCiudad.Enabled = True
btnCiudad.Enabled = True
End If

Ahora vamos al botón que se llama btnIr (el que contiene el texto Cambiar) le damos doble clic y en el método Click agregamos el siguiente código:

Dim latitud As Double
Dim longitud As Double

‘Almacenamos en variables los datos de los campos de texto de longitud y latitud
latitud = Me.txtLatitud.Text
longitud = Me.txtLongitud.Text

‘Mostramos el mapa en esa ubicación por coordenadas
Dim ubicacion As New GLatLng(latitud, longitud)
GMap1.setCenter(ubicacion, 15)

Ahora nos vamos al botón btnCiudad (el que tiene el texto Ir…) y le damos doble clic y en el método Clic insertamos el siguiente código:

Try
Dim GeoCode As Subgurim.Controles.GeoCode
Dim sMapKey As String = System.Configuration.ConfigurationManager.AppSettings(«googlemaps.subgurim.net»)

‘Obtenemos la ubicación del campo de texto txtCiudad
GeoCode = GMap.geoCodeRequest(Me.txtCiudad.Text, sMapKey)
If GeoCode.valid = True Then
‘Mostramos la longitud y latitud de la ubicación en los labels
Me.lblLatitud.Text = GeoCode.Placemark.coordinates.lat
Me.lblLongitud.Text = GeoCode.Placemark.coordinates.lng

‘Cargamos el mapa en la ubicación por la que se hizo la búsqueda
Dim gLatLng As New Subgurim.Controles.GLatLng(GeoCode.Placemark.coordinates.lat, GeoCode.Placemark.coordinates.lng)

GMap1.setCenter(gLatLng, 16, Subgurim.Controles.GMapType.GTypes.Normal)
‘Mostramos mediante una marca la ubicación
AddMarker(GeoCode.Placemark.coordinates.lat, GeoCode.Placemark.coordinates.lng)

Else
Msg(«No se puede encontrar la ubicación»)
End If
Catch ex As Exception
Msg(ex.Message)
End Try

Ahí seguramente te aparecen dos errores. No te preocupes.  Ahora nos salimos del método Clic, donde termina el End Sub. Allí copiamos el siguiente código:

Private Sub AddMarker(ByVal dLat As Double, ByVal dLong As Double)
Try
Dim gLatLng As New Subgurim.Controles.GLatLng(dLat, dLong)

Dim oOption As New Subgurim.Controles.GMarkerOptions
oOption.draggable = True

GMap1.resetMarkers()
GMap1.resetListeners()

oMarker = New Subgurim.Controles.GMarker(gLatLng, oOption)

GMap1.addGMarker(oMarker)
GMap1.addListener(New Subgurim.Controles.GListener(oMarker.ID, Subgurim.Controles.GListener.Event.dragend, _
«function(){ document.getElementById(‘hidLat’).value=» & oMarker.ID & «.getPoint().lat();document.getElementById(‘hidLng’).value=» & oMarker.ID & «.getPoint().lng() }»))
Catch ex As Exception
Msg(ex.Message)
End Try
End Sub

Fuera de ese método copiamos el siguiente código:

Private Sub Msg(ByVal sText As String)
Response.Write(«<script type=’text/javascript’>alert(‘» & sText & «‘);</script>»)
End Sub

Volvemos al modo Diseño y damos doble clic en el botón btnTipoMapa y dentro copiamos el siguiente código:

Dim val As Integer
Dim tipo_datos As Integer

tipo_datos = rbtOpciones.SelectedIndex()
val = lstTipoMapa.SelectedIndex()
If tipo_datos = 0 Then
If val = 0 Then
btnIr_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Normal
ElseIf val = 1 Then
btnIr_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Satellite
ElseIf val = 2 Then
btnIr_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Hybrid
ElseIf val = 3 Then
btnIr_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Physical
End If
ElseIf tipo_datos = 1 Then
If val = 0 Then
btnCiudad_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Normal
ElseIf val = 1 Then
btnCiudad_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Satellite
ElseIf val = 2 Then
btnCiudad_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Hybrid
ElseIf val = 3 Then
btnCiudad_Click(sender, e)
GMap1.mapType = GMapType.GTypes.Physical
End If
End If

Listo el programa ha sido finalizado. Presionamos F5 para probar. Puedes buscar por coordenadas (arriba te dejé unas 3 coordenadas para que pruebes) o puedes buscar por ubicación. Puedes poner por ejemplo Torre Eiffel, además cuando buscas por ubicación puedes conocer las coordenadas del sitio que buscaste. Además puedes cambiar el tipo de Mapa desde el formulario.

No olvides dejar sus comentarios, sugerencias o preguntas. Por cierto en la versión 2005 del Visual Studio .Net también funciona este tutorial.

Se pueden descargar el programa de la siguiente página: http://www.mygnet.net/codigos/aspdotnet/net/manipular_googleearth_desde_asp_dot_net.3190

Para ejecutarlo deben ingresar el API de Google en el archivo web.config

Publiqué unos videos sobre este tutorial. Aquí les comparto:

  • Primera parte

  • Segunda parte

  • Tercera parte

Créditos del video:

Realizador del video: Hugo Mora (cyberexplorador)

Voz y edición del video: Pablo Yacelga

¿Ricardo Arjona de regreso a Ecuador con el Tour 5to Piso en el 2010?

abril 22, 2010 a las 5:51 pm | Publicado en Entretenimiento, Música | 5 comentarios
Etiquetas: , , ,

El título del tema está a modo de pregunta. Así que esto quiere significar solo una cosa: NADA ES SEGURO. Sin embargo, les quiero compartir la noticia de que una empresa de espectáculos del Ecuador está interesada en traer a Ricardo Arjona nuevamente al Ecuador. De concretarse (después de que la empresa analice el presupuesto que le proponga Ricardo Arjona o su manager) el concierto no sería ni en Quito, ni Guayaquil ni Cuenca, como fue en el Tour 5to Piso 2009, sino que sería en una ciudad en la que Ricardo Arjona no ha estado antes, tal vez Ambato o Manta (todavía estaría por confirmarse). Como les dije antes, esto estaría en planes de negociación y no hay nada seguro, pero esperamos que logre concretarse y Ricardo Arjona vuelva con su Tour 5to Piso en el 2010 a Ecuador donde ya más de 70 mil personas los vieron en el 2009.

En cuento tengamos más información la pondremos en el blog.

Consultar, insertar y modificar registros de una base de datos de MySQL con PHP sin programar nada

marzo 27, 2010 a las 7:16 pm | Publicado en PHP, Programacion | 84 comentarios
Etiquetas: , , , ,

En otro manual les expliqué cómo realizar manejo se sesiones con PHP y MySQL sin programar nada con Dreamweaver. Esta vez les voy a explicar cómo realizar consultas a bases de datos, ingreso de registros a bases de datos y modificación de estos registros sin programar nada usando Dreamweaver. En este caso usaré una vez más la versión 8 de Dreamweaver (cuando todavía era de Macromedia), sin embargo, ya hice la misma práctica con la versión de Adobe CS3 y es exactamente igual.

Vamos a copiar algunos parámetros del otro manual que hice ya que el comienzo es exactamente igual.

Las herramientas que vamos a utilizar son:

Una vez que tengamos instalado nuestro servidor web, en este caso Wamp Server vamos a proceder a explicar este tutorial.

Primero vamos a crear una base de datos en MySQL usando phpmyadmin que viene con el WAMP Server. La base de datos para este tutorial se llamará «tienda»  y contendrá una tabla llamada «Libros» (sin comillas). Esta tabla contiene 5 campos:

Vamos a ingresar 3 libros para tener datos en la base:

Ahora vamos a realizar la página web. Primero creamos una carpeta en el directorio de nuestro servidor web. Es este caso el servidor web es WAMP, por lo tanto voy a crear un directorio llamado TiendaPráctica en la ruta C:\wamp\www

Esa ruta varía según el servidor que usemos. Así por ejemplo si el servidor es XAMPP, la ruta sería C:\xampp\htdocs

Una vez realizado eso nos vamos a Dreamweaver, y antes de abrir algún tipo de documento nos vamos a Sitio -> Nuevo sitio.  Vamos a la opción «Avanzadas» y en la opción Datos locales llenamos los campos como muestra la figura:

Clic en la imagen para ampliar

Luego en la opción de Servidor de pruebas ponemos los siguientes datos:

Clic en la imagen para ampliar

No estoy dando muchas explicaciones de los campos debido a que ya lo hice en el otro tutorial. Sin embargo, en este último paso solo vale acotar que deberían cambiar (de ser necesario) el «Prefijo de URL», yo uso el url http://localhost:8081/TiendaPractica con el puerto 8082, debido a que le configuré al Apache para salir por ese puerto, ya que el puerto por defecto (el 80) lo usa el IIS. Así que ese campo deben cambiar de ser necesario.

No olviden realizar estos pasos previos, si no no funcionará la conexión a la base de datos.

Luego nos vamos al menú Archivo -> Nuevo y seleccionamos un archivo de tipo PHP. Vamos a guardar el archivo como index.php en la ruta que creamos anteriormente C:\wamp\www\TiendaPractica

Ahora vamos a enlazar la base de datos que creamos a Dreamweaver. Nos vamos al menú Ventana -> Bases de datos. Se abre un panel lateral a la derecha. Ahí damos clic en el símbolo + y damos clic en «Conexión MySQL». Se abre un cuadro de diálogo y lo llenamos con los siguientes datos:

Clic en la imagen para ampliar

En el campo nombre de la conexión va cualquier nombre. En el panel de la derecha aparece la conexión a la base de datos especificada.

Ahora nos vamos al menú Ventana -> Vinculaciones. Se aparece un panel en la parte derecha, se da clic en el símbolo +, y seleccionar «Juegos de registro (consulta)» . Ahí llenar los datos de la siguiente manera:

Clic en la imagen para ampliar

Ya tenemos la conexión a la base de datos. Ahora vamos a visualizar los datos en la página web. Vamos al menú Insertar -> Objetos de aplicación -> Datos dinámicos -> Tabla dinámica. Llenamos el cuadro que aparece de la siguiente manera:

Clic en la imagen para ampliar

Esto se ha creado automáticamente en Dreamweaver:

Clic en la imagen para ampliar

Ahí podemos modificar los encabezados de las columnas y presionamos F12 para visualizar una vista previa de la página en el explorador:

Visualización de los datos. Clic en la imagen para ampliar

Hasta el momento hemos cargado los datos de una base de datos sin programar absolutamente nada. Todo lo ha hecho Dreamweaver. Por cierto, arriba especificamos que nos muestre solo 10 registros cada vez, en caso de haber más registros se crearán enlaces de navegación para mostrar los siguientes registros.

Ingresar registros

Ahora vamos a ingresar registros a la base de datos. Vamos a usar el mismo archivo.

Primero vamos a crear una página web PHP llamada ingreso_exitoso.php Usaremos esa página para decirle al usuario que el dato que ingresó en la base se insertó correctamente. Esa página solo tendrá un mensaje y un enlace, el enlace será hacia la página index.php como se muestra en la figura:

Clic en la imagen para ampliar

Ahora nos vamos al archivo index.php y ubicamos el cursor después de la tabla creada por Dreamweaver, Luego nos vamos al menú Insertar -> Objetos de aplicación -> Insertar registro -> Asistente de formulario de inserción de registros. Allí llenamos el cuadro de diálogo con las siguientes opciones:

Clic en la imagen para ampliar

Automáticamente Dreamweaver agrega un formulario para poder ingresar registros a la base de datos:

Clic en la imagen para ampliar

Ahora presionamos F12 para probar el ingreso de datos.

En esta versión de Dreamweaver no se inserta el menú de navegación de registros automáticamente. Para hacer eso nos ubicamos debajo de la tabla que contiene los datos y vamos al menú Insertar -> Objetos de aplicación -> Paginación de juegos de registros -> Barra de navegación de juego de registros. En el cuadro que se aparece llenamos de la siguiente manera:

Clic en la imagen para ampliar

En la página web nos queda así:

Clic en la imagen para ampliar

Ahora tenemos un formulario que nos permite ingresar datos a la base de datos de MySQL con PHP y no hemos ingresado una sola línea de código.

Modificar un registro

Para modificar un registro vamos a usar un poco de código PHP adicional. Primero debemos agregar lo siguiente en el archivo index.php En la tabla de los datos vamos a ingresar dos columnas al final de forma que tengamos lo siguiente:

Clic en la imagen para ampliar

Una vez hecho eso vamos a crear una página web nueva que se llame modificar.php y creamos una pagina php que se llame modificar_exitoso.php. Es ésta última página insertamos un mensaje que diga «El dato ha sido actualizado correctamente» y debe tener un enlace a la página index.php tal cual como se hizo con ingreso_exitoso.php.

Ahora regresamos a la página modificar.php y debemos crear una vinculación de juegos de registros (la conexión a la base de datos se crea una sola vez para todo el sitio web, sin embargo, las vinculaciones se deben crear en cada nueva página web del sitio). Para ello nos vamos a Ventana -> Vinculaciones. En el símbolo + damos clic en Juego de Registros (consulta). Ponemos un nombre a la consulta y seguimos los pasos anteriores para hacer una vinculación.

Hecho eso vamos al menú Insertar -> Objetos de aplicación -> Actualizar registro -> Asistente de formulario de actualización de registro y llenamos el cuadro de diálogo con la siguiente información (en mi caso le puse de nombre  a la vinculación modificar_consulta):

Clic en la imagen para ampliar

Al dar clic en Aceptar se creará automáticamente un formulario como el siguiente:

Ahora vamos a buscar el siguiente código en la página web que hizo Dreamweaver:

Clic en la imagen para ampliar

Ahí vamos a insertar la siguiente línea después de mysql_select_db($database_conexion_libros, $conexion_libros);:

$valor = $_GET[‘IdLibro’];

Y la línea que dice $query_modificar_consulta = «SELECT * FROM libros»; la modificamos de la siguiente manera:

$query_modificar_consulta = «SELECT * FROM libros where IdLibro=$valor»;

Nos queda algo así:

Clic en la imagen para ampliar

Como vemos lo único que hacemos es usar el método GET para obtener el ID del libro y cargamos los datos completos que se refieren a ese libro. Ahora nos vamos a index.php y seleccionamos la palabra Modificar y le hacemos un vínculo al siguiente enlace:

modificar.php?IdLibro=<?php echo $row_consulta_libros[‘IdLibro’]; ?>

Nos queda de la siguiente manera:

Clic en la imagen para ampliar

Presionamos F12 para probar.

Eliminar un registro

Primero creamos una página web llamada borrado_exitoso.php allí escribimos un mensaje que diga «El dato ha sido borrado correctamente» y ponemos un link a la página index.php.

Una vez hecho eso creamos un archivo llamado borrar.php y nos vamos al menú Insertar -> Objetos de aplicación -> Eliminar registro y llenamos el cuadro de diálogo con la siguiente información:

Clic en la imagen para ampliar

Hecho eso regresamos al archivo index.php y seleccionamos la palabra Borrar y le hacemos un link al siguiente enlace:

borrar.php?IdLibro=<?php echo $row_consulta_libros[‘IdLibro’]; ?>

Hecho eso presionamos F12 para probar la página web.

Listo!! Hemos creado una página web que permite interactuar con una base de datos de MySQL usando PHP sin programa casi nada. Todo lo hizo Dreamweaver.

Detalle de registros

Ahora les voy a enseñar una última opción que tiene Dreamweaver. Consiste en mostrar, para este caso, el Id del libro y el nombre. Al dar clic sobre el nombre nos mostrará toda la información del libro obtenida de la base de datos, y al igual que antes, sin programar absolutamente nada.

En el archivo index.php debajo y fuera del formulario de ingreso creamos un link a una página llamada libros.php (esto es solo para poder dirigirnos a la página que vamos a crear).

Hecho eso creamos una página llamada libros.php. En esa página creamos una nueva vinculación a la base de datos con el método que ya explicamos antes. A esta vinculación la llamaremos libros_consulta.

Ahora creamos otra página web que se llamará detalles_libros.php.

Hecho eso volvemos a la página libros.php y nos vamos a Insertar -> Objetos de aplicación -> Juego de páginas Maestro/Detalle. Llenamos el cuadro de diálogo de la siguiente manera:

Clic en la imagen para ampliar

Ahora explicaremos cada campo:

  • Juego de registros: Es el nombre de la vinculación.
  • Campos de página maestro: Son los campos que se visualizarán en la página maestro. En este caso solo queremos ver el Id del libro y el nombre del autor. Para quitar registros lo seleccionamos y damos clic en el símbolo menos.
  • Vincular con detalle desde: Es el campo que contendrá el enlace para ver el detalle del registro.
  • Pasar clave exclusiva: Es la clave primaria de la tabla.
  • Mostrar: Es el número de registros que se podrán ver en la tabla maestro.
  • Nombre de página detalle: Dirección de la página web donde se mostrará los detalles del registro.
  • Campos de la página Detalle: Son los campos que mostrará la página al dar clic en un elemento.

Damos clic en Aceptar. Hecho eso guardamos la página libros.php y la página detalle_libros.php. Pues ya te habrás dado cuenta que ambas páginas se modificaron.

Esto se crea en la página libros.php:

Clic en la imagen para ampliar

Y esto se crea en la página detalle_libros.php:

Clic en la imagen para ampliar

Ahora vamos a la página index.php y presionamos F12 para probar. Damos clic en el enlace a la página libros.php y tenemos lo siguiente:

Clic en la imagen para ampliar

Al dar clic en el nombre de un libro nos dará más detalles sobre el mismo:

Detalle de registros

Bien este es el final del tutorial Espero que les sirva. No olviden dejar sus preguntas, comentarios o sugerencias.

Pueden descargarse el programa completo en la siguiente dirección: http://mygnet.net/codigos/php/manejodebasedatos/consultar_ingresar_modificar_y_eliminar_registros_de_una_base_de_datos_de_mysql_con_php.3164

Solucionar error de IIS en Firefox: IIS pide usuario y contraseña

marzo 6, 2010 a las 4:32 pm | Publicado en Instalación IIS, Util | 6 comentarios
Etiquetas: , ,

Si al ingresar http://localhost en Firefox el Internet Information Server te pide usuario y contraseña hay que hacer lo siguiente:

  1. Ir al Panel de Control.
  2. Ir a opciones de Rendimiento y mantenimiento.
  3. Ir a Herramientas administrativas.
  4. Ir a Servicios de Internet Information Server.
  5. El la parte izquierda en el árbol desplegar en el símbolo +. luego desplegar Sitios web.
  6. Dar clic derecho a Sitio web predeterminado y elegir Propiedades.
  7. Ir a la pestaña Seguridad de directorios.
  8. En control de autenticación y acceso anónimo dar clic en Modificar.
  9. Habilitar las casillas Acceso anónimo y Permitir que IIS controle las contraseñas.
  10. Dar clic en Examinar.
  11. En el cuadro que aparece dar clic en Avanzadas.
  12. Dar clic en el botón Buscar ahora.
  13. En los nombres de usuarios que apareces seleccionar el que dice IUSR_NombreMaquina (NombreMaquina corresponde al nombre de tu equipo).
  14. Aceptar todas las ventanas.
  15. Luego abrir Mozilla Firefox y en la barra de direcciones escibir about:config aceptar la advertencia si aparece y en la lista de elementos buscar la que dice network.automatic-ntlm-auth.trusted-uris, darle doble clic a ese elemento y escribir localhost.
  16. Luego en la barra de direcciones escribir http://localhost y debe aparecer la ventana del Internet Information Server.
« Página anteriorPágina siguiente »

Blog de WordPress.com.
Entries y comentarios feeds.