Seguridad sin limites
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.



 
ÍndiceBuscarÚltimas imágenesRegistrarseConectarse

 

 enlazar html con mysql

Ir abajo 
2 participantes
AutorMensaje
antonio322
Usuario recien llegado
Usuario recien llegado



Cantidad de envíos : 5
Reputacion : 4
Puntos : 11149
Fecha de inscripción : 30/03/2009

enlazar html con mysql Empty
MensajeTema: enlazar html con mysql   enlazar html con mysql I_icon_minitimeLun 30 Mar - 6:29:21

miar podrias subir algun tutorial de como enlazar html con mysql, html lo estoy trabajando con el block de notas, te lo agradeceria muchisimo
Volver arriba Ir abajo
r0b!nh00d (saw)
Administrador
Administrador



Cantidad de envíos : 121
Reputacion : 0
Puntos : 11297
Fecha de inscripción : 07/03/2009

enlazar html con mysql Empty
MensajeTema: Re: enlazar html con mysql   enlazar html con mysql I_icon_minitimeLun 30 Mar - 6:49:14

My SQL

Vamos a crear un libro de visitas, donde los visitantes puedan agregar su nombre y comentarios. Además el mismo sistema agrega la fecha en que se ingresó dicho comentario.

Veamos como sería la estructura de la única tabla de nuestra libro de visitas:

CREATE TABLE libro_visitas (
id_comentario INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(100) NOT NULL,
comentario TEXT NOT NULL,
fecha VARCHAR(100) NOT NULL
);

Guardemos el script de la estructura en un archivo de texto y echemos a andar nuestro servidor web a través de EasyPHP.Abrimos el navegador y digitamos la dirección http://localhost/mysql/ que nos permitirá entrar al administrador de bases de datos de EasyPHP
Crearemos una base de datos con el nombre libro_visitas, y cargaremos mediante el script de texto la estuctura de la base.

Crear un archivo opciones.php que contenga lo siguiente:

<p><a href="administracion.php">Ver Lista de Comentarios</p>
<p><a href="form_comentario.php">Agregar Comentario</p>

Crear el archivo administracion.php que contenga lo siguiente:

<html>
<head><title>Libro de Visitas: Ver Comentarios</title>
<link rel="Stylesheet" href="estilos.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=5>
<TR>
<TD VALIGN=TOP WIDTH="20%" Class="opciones">
<? include("opciones.php"); ?>
</TD>
<TD>   </TD>
<TD VALIGN=TOP Class="contenido">

<center><h1>Lista de Comentarios</h1></center>

<!-- AQUI VA A IR EL CONTENIDO -->

</TD>
</TR>
</TABLE>
</body>
</html>

Así sucesivamente crear los archivos agregar_comentario.php, form_form.php, editar_comentario.php y borrar_comentario.php

Enlazando datos:
El primer paso para enlazar una base datos con PHP es realizar una conexióna dicha base con mediante la función:
mysql_connect("servidor:puerto","usuario","clave");
donde el parámetro servidores la ip o nombre del servidor donde está la base de datos, puerto es el puerto por el cual se accede a la base de datos, usuario es el usuario de la base de datos, y clave es la contraseña del usuario para acceder a la base de datos.
ejemplo:
mysql_connect("192.168.24.25:3340","juanito","perez");
en el caso de que el proceso de conexión se realice en la misma máquina donde está el servidor web se puede utilizar para el servidor "localhost". Ademas si el puerto es elq ue se usa por defecto, es necesario especificarlos. Para nuestro caso utilizaremos
mysql_connect("localhost","root",""); (1)
esta función devuelve un entero que identifica la conexión mysql, por lo tanto para utilizar más adelante este dato usaremos:
$link=mysql_connect("localhost","root","");
el siguiente paso sería selccionar la base que vamos a utilizar, para lo cual usaremos:
mysql_select_db("nombre_base",identificador_conexión);
en nuestro caso sería:
mysql_select_db("mi_base",$link); (2)

Podríamos entonces usar simplemete las líneas (1) y (2) para realizar nuestra conexión, pero corremos el riesgo de que se produzca algún error. Para detectar dichos errores podemos enriquecer estás dos línes de código de la siguiente manera:

if(!$link=mysql_connect("localhost","root",""))
{
echo "Error al conectar a base de datos";
exit();
}
if(!mysql_select_db("mi_base",$link))
{
echo "Error al seleccionar base de datos";
exit();
}

Además debido a que que utilizaremos porción de código una y otra vez, podremos guardarla en un librería de la siguiente manera:

define("NOMBRE_BD","libro_visitas"); /* esta línea la usaremos para definir el nombre de la base de datos */

function conectar($nombre_base)
{
if(!$link=mysql_connect("localhost","root",""))
{
echo "Error al conectar a base de datos";
exit();
}
if(!mysql_select_db($nombre_base,$link))
{
echo "Error al seleccionar base de datos";
exit();
}
return $link;
}

Esta función entonces utiliza como parámetro la variable $nombre_base que es el nombre de la base que queremos abrir y devuelve la variable $link que es el identificador de la conexión.

Guardemos esta función en un archivo llamado adm.php el cual debe empezar con la apertura de PHP (<?) y cerrarce con el cierre de PHP (?>). Para incluir nuestra librería en los 4 archivo creados previamente utilizaremos

<?php include(adm.php); ?>

Recuerde que en PHP los includes se pueden colocar en cualquier línea del archivo, pero para ser más ordenados es mejor inluirlas en las primeras líneas de código del archivo.
para llamar a esta funcion podemos usar:
$link = conectar(NOMBRE_BD);

El siguiente paso es generar la consulta que deseamos realizar en la base, en nuetro caso la guardaremos en un una variable tipo cadena de la siguiente manera:

$consulta = "select * from libro_visitas";

esta consulta devolverría el listado de todos los registros que existan en la tabla libro_visitas.

para ejecutar la consulta sobre la base de datos utilizaremos
mysql_query($consulta,$link);
esta función devuelve un arreglo multidimensional donde las filas son los registros y las columnas los campos de la tabla.
guardaremos el resultado de esta función en una variable de la sigueinte manera:
query=mysql_query($consulta,$link)
y para detectar si se ha producido o no un error podemos hacer lo siguiente:
if(!($query=mysql_query($consulta,$link))) echo "Error!!";

Como habitualmente se utiliza un for para recorrer este tipo de arreglo necesitamos saber cual es el número de filas del arreglo, lo cual lo podemos averiguar mediante:
$filas = mysql_num_rows($query);

teniendo este dato podemos recorrer el arreglo de la siguiente manera:

for($i=0;$i<$filas;$i++)
{
$id_comentario = mysql_result($query,$i,0);
$nombre = mysql_result($query,$i,1);
$comentario = mysql_result($query,$i,2);
$fecha = mysql_result($query,$i,3);
echo "<hr><p>id_comentario: $id_comentario<br>
Nombre: $nombre<br>
Comentarios:<br>$comentario</p>
<p><a href='editar_comentario.php?id_comentario=$id_comentario'>Editar comentario</a> --- <a href='borrar_comentario.php?id_comentario=$id_comentario'>Borrar comentario</a></p>";
}

Finalmente reeditemos el archivo administracion.php de forma tal que quede asi:

<?php
include("validar.php");
include("adm.php");
?>

<html>
<head><title>Libro de Visitas: Ver Comentarios</title>
<link rel="Stylesheet" href="estilos.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">

<TABLE BORDER=0 WIDTH="100%" CELLPADDING=5>
<TR>
<TD VALIGN=TOP WIDTH="20%" Class="opciones">
<? include("opciones.php"); ?>
</TD>
<TD>   </TD>
<TD VALIGN=TOP Class="contenido">

<h3>Lista de Comentarios</h3>


<?php
$link = conectar(NOMBRE_BD);
$consulta = "select * from libro_visitas";
if(!($query=mysql_query($consulta,$link))) echo "Error!!";
$filas = mysql_num_rows($query);
for($i=0;$i<$filas;$i++)
{
$id_comentario = mysql_result($query,$i,0);
$nombre = mysql_result($query,$i,1);
$comentario = mysql_result($query,$i,2);
$fecha = mysql_result($query,$i,3);
echo "<hr><p>id_comentario: $id_comentario<br>
Nombre: $nombre<br>
Comentarios:<br>$comentario</p>
<p><a href='editar_comentario.php?id_comentario=$id_comentario'>Editar comentario</a> --- <a href='borrar_comentario.php?id_comentario=$id_comentario'>Borrar comentario</a></p>";
}
?>

</TD>
</TR>
</TABLE>

</body>
</html>

Si ejecutamos este archivo php no nos mostrará nada, pues la base aún está vacía, el siguiente paso es crear uan interfaz que nos permita agregar datos a la tabla. Para ellos implementaremos un formulario que capture los datos que deseamos introducir en la tabla.

Reeditemos el archivo form_comentario.php introduciendo un fomulario que le pase los datos al script agregar_comentario.php

<form action='agregar_comentario.php' method='post'>
<p>
nombre: <input type='text' name='nombre' size='30' Class='campo'></p>
<p>
comentario:<br><textarea name='comentario' cols='40' rows='5' Class='campo'></textarea></p>
<p>
<input type='submit' value='agregar' Class='boton'></p>
</form>

A continuación crearemos el archivo que procese estos datos y los agregue a la base de datos

<?php

function calcula_fecha() /* esta funcion la utilizaremos para calcular la fecha */
{
$dia = date ("d");
$me = date ("m");
$agno = date ("Y");
$mes="";
if($me=="01") $mes="enero";
if($me=="02") $mes="febrero";
if($me=="03") $mes="marzo";
if($me=="04") $mes="abril";
if($me=="05") $mes="mayo";
if($me=="06") $mes="junio";
if($me=="07") $mes="julio";
if($me=="08") $mes="agosto";
if($me=="09") $mes="septiembre";
if($me=="10") $mes="octubre";
if($me=="11") $mes="noviembre";
if($me=="12") $mes="diciembre";
$cadena = "$dia de ";
$cadena .= "$mes de ";
$cadena .= "$agno";
return $cadena;
}

$fecha = calcula_fecha();

$link = conectar(NOMBRE_BD);
$consulta = "INSERT INTO libro_visitas (nombre, comentario, fecha) values('$nombre', '$comentario', '$fecha')";
if(mysql_query($consulta,$link)) echo "Se agregaron los datos!!";
else echo "No se agregaron los datos!!";
?>

Hay que realizar una interfaz que permita modificar los datos. Para ellos deberíamos agregar algo como esto en el archivo editar_comentario.php:

<?php
$link = conectar(NOMBRE_BD);
$consulta_edicion = "select * from libro_visitas WHERE id_comentario=$id_comentario";
if(!($query_edicion = mysql_query($consulta_edicion,$link))) echo "Error!!";
$id_comentario = mysql_result($query_edicion,0,0);
$nombre = mysql_result($query_edicion,0,1);
$comentario = mysql_result($query_edicion,0,2);
$fecha = mysql_result($query_edicion,0,3);

echo "<form action='modificar_comentario.php' method='get'>
<input type='hidden' name='id_comentario' value='$id_comentario'>
<p>
nombre: <input type='text' name='nombre' size='30' value='$nombre' Class='campo'></p>
<p>
comentario:<br><textarea name='comentario' cols='40' rows='5' Class='campo'>$comentario</textarea></p>
<p>
<input type='submit' value='modificar' Class='boton'></p>
</form>";
?>

Nótese que se hace una consulta que devuelve una sola fila, por lo cual no se requiere del ciclo for para obtener los datos.

Para enlazar este formulario en el archivo ademinisracion.php se agregaron links a editar y borrar pasando como parámetro el id del comentario.

El script modificar_comentario.php que recibiría los datos y los modificaría sería:

<?php
$link=conectar(NOMBRE_BD);
$consulta="UPDATE libro_visitas SET nombre='$nombre', comentario='$comentario' WHERE id_comentario=$id_comentario";
if(mysql_query($consulta,$link)) echo "Se modificaron los datos!!";
else echo "No se modificaron los datos!!";
?>

De esta manera cada vez que se llame al archivo editar_alumno.php se le pasará como parámetro la variable id_alumno. Observar además que esta misma variable se pasó del formulario de reedición al archivo modificar_alumno.php, pero como variable oculta (hidden).

Resta entonces crear la opción borrar cual contendría un código como el siguente:

<?php
$link=conectar(NOMBRE_BD);
$consulta="DELETE FROM libro_visitas WHERE id_comentario=$id_comentario";
if(mysql_query($consulta,$link)) echo "Se borraron los datos!!";
else echo "No se borraron los datos!!";
?>

Además se supone que todos estos script son para administrar los datos, y se le debería agregar una restriccion dacceso de usuario que pueden consultar en acceso restringido.
Por ultimo, hay que agregar en la parete pública del sitio hay que agregar un formulario y un script para que los visitantes puedan colocar su comentarios, pero sin p oder administrarlos como lo haría el webmaster.

Continuar leyendo...

saludos y espero que te sirva.

r0b!nh00d
Volver arriba Ir abajo
https://seguridadinformatica.foroargentina.net
 
enlazar html con mysql
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Tutorial html (descargable)
» Que es html?
» Html: titulos
» Html: parrafos
» Html: salto de linea

Permisos de este foro:No puedes responder a temas en este foro.
Seguridad sin limites :: Programacion :: HTML-
Cambiar a: