Sie sind auf Seite 1von 5

CREAR UNA PAGINA DINAMICA PARA ACCESAR Y REGISTRAR EN LA BASE DE DATOS.

OBJETIVO:

DISEÑAR UNA PAGINA DINAMICA QUE ACCESE LA BASE DE DATOS --DISCLI-- USANDO PHP PARA REGISTRAR
LA INFORMACION DE UN ALUMNO.

1. Abrir la aplicación Dreamweaver MX y que en lo sucesivo la identificaremos como DW a lo largo de la


práctica.

2. En DW presione las teclas Ctrl+O para seleccionar y abrir la página DISCLI_pbase.htm que se encuentra
en la carpeta \ITC-DISCLI y que se concluyó en la práctica uno.

3. Presione las teclas Ctrl+Mayúsc+S para guardar la página base con otro nombre. Escriba el nombre
agrega_unalumno.php para la nueva página de registro de datos de alumnos. Esta página deberá
quedar en la carpeta \ITC-DISCLI\Alumnos.

Es importante hacer notar que la extensión del nombre ahora debe ser .php pues ahora se trata de una
página dinámica.
4. Asegúrese que está observando la página en el modo Código. Primera opción del menú Ver en la barra
superior de menús en DW.

NOTA : Dreamweaver MX Versión Educativa tiene un error en su módulo de edición pues en algunas
ocasiones al cortar y pegar líneas de códigos inserta secuencias de caracteres extraños similares a los
siguientes : ?????e????eA?Ð??????. Si esta realizando esta práctica y copia el código y lo pega en DW,
debe revisar a conciencia cada línea pues estos caracteres extraños pueden afectar los resultados
esperados.

Con el código de la página en pantalla, ingrese el texto Agregar un nuevo alumno entre las etiquetas
<title> y </title>.

Localice la capa <div id=”Modulo”...> . . . </div>. y reemplácela por el siguiente código :

<div id="Modulo" style="position:absolute; left:423px; top:57px; width:306px;


height:34px; z-index:2">
<font color="#FFFFFF" size="5" face="Arial Black"><em><strong>Resultado
<font color="#006600">Operaci&oacute;n</font></strong></em></font>
</div>

Lo anterior cambia el rótulo que indica la función del módulo. Ahora se observará Resultado Operación.
5. Ahora incluya el siguiente código después del layer <div id=”Modulo” ...> . . . </div> :

<div id="Regreso" style="position:absolute; left:616px; top:167px; width:143px;


height:19px; z-index:8">
<a href="nuevo_alumno.php"><img src="../Imagenes-Sitio/Regresar.jpg" width="120"
height="16" border="0"></a>
</div>

Este código incluye una capa con un recurso de imagen prediseñada que define un vínculo de regreso a
la página nuevo_alumno.php. Presione Ctrl+S para guardar cambios y F12 si desea ver los resultados en
el navegador.
6. En los siguientes pasos se agregarán elementos para cambiar esta página base en una página dinámica
para el registro de datos.

Incluya el código que se muestra al final de la práctica después del layer


<div id=”BarraDigital” ...> . . . </div> :
7. Presione Ctrl+S para guardar los cambios a la página agrega_unalumno.php.

8. Es importante notar que esta página trabaja en conjunto con la página nuevo_alumno.php y debido a la
validación que realiza su operación esta controlada para no trabajar a menos que sea llamada desde
nuevo_alumno.php.

Código a insertar después del layer <div id=”BarraDigital” ...> . . . </div> :


<?php

// Recupera variables

$nocontrol = $_REQUEST["noCtrl"];
$nombre = $_REQUEST["nombAlum"];

// Valida los datos del alumno


// Falta número de control

if (strlen(trim($nocontrol))==0){
?> <script language="javascript">
alert('Debe incluir el número de control del alumno.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
return;
}

// Falta nombre

if (strlen(trim($nombre))==0){
?> <script language="javascript">
alert('Debe incluir el nombre del alumno.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
return;
}

// Intentando la conexión con MySQL ...


$link = mysql_connect () or die ("No se logro la conexión ...");

// Selecciona la base de datos


$db = mysql_select_db ("discli");

if (!$db) print "El intento por accesar la base de datos fue fallido<br>";
else {
// Se valida que el registro no este duplicado ...

$strqry = "SELECT * FROM alumnos WHERE no_control='".$nocontrol."'";


$qry = mysql_query($strqry);

if (!$qry) print "La consulta ".$qry." fue fallida... <br>";


else {
$i = mysql_num_rows ($qry);

if ($i > 0) {
?> <script language="javascript">
alert('El número de control para este alumno pertenece a otro ya registrado.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
}
else {
// Se intenta insertar el registro a la tabla ...

$strqry = "INSERT INTO alumnos


VALUES('".$nocontrol."','".$nombre."','0','0','0','0');";

$qry = mysql_query($strqry);

if (!$qry)
print "La operación de inserción para : ".$strqry." fue fallida.<br>".
mysql_error()."<br>";
else {
print ('<div id="Aviso" style="position:absolute; left:169px; top:248px;
width:425px; height:36px; z-index:7"><font color="#006600" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><strong>
AVISO : El alumno fue registrado satisfactoriamente en la base de
datos.</strong></font></div>');
};
};
};
};

mysql_close ($link);
?>

Fin del código a insertar después del layer <div id=”BarraDigital” ...> . . . </div> :

RESUMEN:

Al concluir esta práctica se obtendrá una página dinámica de registro de información. Esta página hace uso de PHP
para acceder la base de datos DISCLI. Para comprobar resultados debe cargar la página DISCLI_menu.htm o bien
nuevo_alumno.php y ejecutarlas en DW presionando F12.

El código completo de cómo debe quedar esta página se muestra a continuación. Observe que el código en color
es el que aporta esta práctica.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>
<head>
<title>Agrega un nuevo alumno</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<div id="Cabecera" style="position:absolute; left:0px; top:0px; width:190px; height:94px;


z-index:1"><img src="../Imagenes-Sitio/DISCLI-Cabecera.gif" width="775" height="149">
</div>

<div id="Modulo" style="position:absolute; left:423px; top:57px; width:306px; height:34px;


z-index:2"><font color="#FFFFFF" size="5" face="Arial Black"><em><strong>Resultado
<font color="#006600">Operaci&oacute;n</font></strong></em></font>
</div>

<div id="Regreso" style="position:absolute; left:616px; top:167px; width:143px; height:19px;


z-index:8"><a href="nuevo_alumno.php"><img src="../Imagenes-Sitio/Regresar.jpg"
width="120"
height="16" border="0"></a>
</div>

<div id="Banner" style="position:absolute; left:3px; top:127px; width:400px; height:22px; z-


index:0">
<marquee bgcolor="#FFFFFF" scrolldelay="150" border="0" style="font-size: 8 pt; font-
family:
Arial, Helvetica, sans-serif" width="400" height="15">
<font color="#ff0000">
Catedrático&nbsp;&nbsp;&nbsp;::&nbsp;&nbsp;&nbsp;Ing. Ricardo González González
</font>
</marquee>
</div>

<div id="Derechos" style="position:absolute; left:391px; top:373px; width:354px;


height:15px;
z-index:4">
<p align="center" style="font-size: 8pt; font-family: Arial, Helvetica, sans-serif">
<font color="#006600">Instituto Tecnológico de Celaya :: © 2005 Todos los
derechos reservados</font> </p>
</div>
<div id="BarraDigital" style="position:absolute; left:0px; top:394px; width:398px;
height:13px;
z-index:6">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6
,0,29,0"
width="775" height="31">

<param name="movie" value="../Imagenes-Sitio/BarraDigital.swf">


<param name="quality" value="high"><param name="SCALE" value="exactfit">
<embed src="../Imagenes-Sitio/BarraDigital.swf" width="775" height="31" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-
shockwave-flash"
scale="exactfit"></embed></object>
</div>

<?php

// Recupera variables

$nocontrol = $_REQUEST["noCtrl"];
$nombre = $_REQUEST["nombAlum"];

// Valida los datos del alumno

// Falta número de control

if (strlen(trim($nocontrol))==0){
?> <script language="javascript">
alert('Debe incluir el número de control del alumno.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
return;
}

// Falta nombre

if (strlen(trim($nombre))==0){

?> <script language="javascript">


alert('Debe incluir el nombre del alumno.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
return;
}

// Intentando la conexión con MySQL ...

$link = mysql_connect () or die ("No se logro la conexión ...");

// Selecciona la base de datos

$db = mysql_select_db ("discli");

if (!$db) print "El intento por accesar la base de datos fue fallido<br>";
else {

// Se valida que el registro no este duplicado ...

$strqry = "SELECT * FROM alumnos WHERE no_control='".$nocontrol."'";


$qry = mysql_query($strqry);
if (!$qry) print "La consulta ".$qry." fue fallida... <br>";
else {
$i = mysql_num_rows ($qry);
if ($i > 0) {
?> <script language="javascript">
alert('El número de control para este alumno pertenece a otro ya registrado.');
location.href = "../Alumnos/nuevo_alumno.php";
</script>
<?php
}
else {

// Se intenta insertar el registro a la tabla ...

$strqry = "INSERT INTO alumnos


VALUES('".$nocontrol."','".$nombre."','0','0','0','0');";
$qry = mysql_query($strqry);

if (!$qry)
print "La operación de inserción para : ".$strqry." fue fallida.<br>".
mysql_error()."<br>";
else {
print ('<div id="Aviso" style="position:absolute; left:169px; top:248px;
width:425px; height:36px; z-index:7"><font color="#006600" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><strong>

AVISO : El alumno fue registrado satisfactoriamente en la base de


datos.</strong></font></div>');
};
};
};
};
mysql_close ($link);
?>

</body>
</html>