Sei sulla pagina 1di 25

Ivn Martn Valderas

Proyecto 2:

[Proyecto 2: AGENDA] Ivn Martn Valderas

contenido
1. Archivos ......................................................................... 2 2. MySQL: Base de Datos ............................................. 3 3. Index.html .................................................................... 6 5. Delentry.php ................................................................ 11 6. Selentry.php ............................................................... 13 7. Vista Principal ........................................................... 20 8. Aadir Entrada .......................................................... 21 9. Borrar una Entrada ................................................. 23

1. Archivos

[Proyecto 2: AGENDA] Ivn Martn Valderas

2. MySQL: Base de Datos

mysql> show databases; +--------------------+ | Database |

+--------------------+ | information_schema | | asir1 | cdcol | dvwa | mailproyect | mysql | | | | |

| performance_schema | | phpmyadmin | prueba | test | webauth | | | |

+--------------------+ 11 rows in set (0.04 sec)

mysql> create database agenda; Query OK, 1 row affected (0.00 sec)

mysql> use agenda; Database changed

mysql> CREATE TABLE master_name (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, dat e_added DATETIME, date_modified DATETIME, f_name VARCHAR (75), l_name VARCHAR (7 5)); Query OK, 0 rows affected (0.15 sec)

mysql> CREATE TABLE address (master_id INT NOT NULL, date_added DATETIME, date_m odified DATETIME, address VARCHAR (255), city VARCHAR (30), mstate CHAR (2), zip code VARCHAR (10), type ENUM ('home', 'work', 'other'), FOREIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.21 sec)

mysql> CREATE TABLE fax (master_id INT NOT NULL, date_added DATETIME, date_modif ied DATETIME, fax_number VARCHAR (25), mtype ENUM ('home', 'work', 'other'), FOR EIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASC ADE); Query OK, 0 rows affected (0.15 sec)

mysql> CREATE TABLE telephone (master_id INT NOT NULL, date_added DATETIME, date _modified DATETIME, tel_number VARCHAR (25), type ENUM ('home', 'work', 'other') , FOREIGN KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.08 sec)

[Proyecto 2: AGENDA] Ivn Martn Valderas

mysql> CREATE TABLE email (master_id INT NOT NULL, date_added DATETIME, date_mod ified DATETIME, email VARCHAR (150), type ENUM ('home', 'work', 'other'), FOREIG N KEY (master_id) REFERENCES master_name(id) ON DELETE CASCADE ON UPDATE CASCADE ); Query OK, 0 rows affected (0.09 sec)

mysql> CREATE TABLE personal_notes (master_id INT NOT NULL UNIQUE, date_added DA TETIME, date_modified DATETIME, note TEXT, FOREIGN KEY (master_id) REFERENCES ma ster_name(id) ON DELETE CASCADE ON UPDATE CASCADE); Query OK, 0 rows affected (0.06 sec)

mysql> show tables; +------------------+ | Tables_in_agenda | +------------------+ | address | email | fax | | | |

| master_name

| personal_notes | | telephone +------------------+ 6 rows in set (0.00 sec) |

3. Index.html

<html> <head> <title>Agenda</title> </head> <body background="bck.PNG"> <h1><img src='agenda.png'/></h1>

<p><strong>Admin</strong></p>

<a href="newentry.php"><img src="cooltext609011242.png" onmouseover="this.src='cooltext609011242MouseOver.png';" onmouseout="this.src='cooltext609011242.png';" /></a> <br> <a href="delentry.php"><img src="cooltext609011791.png" onmouseover="this.src='cooltext609011791MouseOver.png';" onmouseout="this.src='cooltext609011791.png';" /></a> <br> <br> <br> <br> <hr> <p><strong>User</strong></p> <a href="selentry.php"><img src="cooltext609012974.png" onmouseover="this.src='cooltext609012974MouseOver.png';" onmouseout="this.src='cooltext609012974.png';" /></a> </body> </html>

[Proyecto 2: AGENDA] Ivn Martn Valderas

4. Newentry.php

<?php if ((!$_POST) || (isset($_GET["master_id"]))) {

//Mostrar formulario
$display_block = " <form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">"; if (isset($_GET["master_id"])) {

//conexin a la base de datos


$mysqli = mysqli_connect("localhost", "root", "", "agenda");

//Obtiene nombres de master_name


$get_names_sql = "SELECT concat_ws(' ', f_name, l_name) AS display_name FROM master_name WHERE id = '".$_GET["master_id"]."'"; $get_names_res = mysqli_query($mysqli, $get_names_sql) or die(mysqli_error($mysqli)); if (mysqli_num_rows($get_names_res) == 1) { while ($name_info = mysqli_fetch_array($get_names_res)) { $display_name = stripslashes($name_info['display_name']); } } } if (isset($display_name)) { $display_block .= "<p>Aadir informacin adicional a <strong>$display_name</strong>:</p>"; } else {

//Nombre y apellido
$display_block .= " <p><strong>Nombre y apellido:</strong><br/> <input type=\"text\" name=\"f_name\" size=\"30\" maxlength=\"75\"> <input type=\"text\" name=\"l_name\" size=\"30\" maxlength=\"75\">"; }

//Direccion
$display_block .= "<p><strong>Direccin:</strong><br/> <input type=\"text\" name=\"address\" size=\"30\"></p>

//Ciudad, Provincia, CP
<p><strong>Ciudad/Provincia/Cdigo postal:</strong><br/> <input type=\"text\" name=\"city\" size=\"30\" maxlength=\"50\"> <input type=\"text\" name=\"state\" size=\"5\" maxlength=\"2\"> <input type=\"text\" name=\"zipcode\" size=\"10\" maxlength=\"10\"></p>

//Tipo direccion
<p><strong>Tipo de direccin:</strong><br/> <input type=\"radio\" name=\"add_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"add_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"add_type\" value=\"other\"> Otros</p>

//Tfno
<p><strong>Nmero de telfono:</strong><br/> <input type=\"text\" name=\"tel_number\" size=\"30\" maxlength=\"25\"> <input type=\"radio\" name=\"tel_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"tel_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"tel_type\" value=\"other\"> Otros</p>

//Fax
<p><strong>Nmero de fax:</strong><br/> <input type=\"text\" name=\"fax_number\" size=\"30\" maxlength=\"25\"> <input type=\"radio\" name=\"fax_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"fax_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"fax_type\" value=\"other\"> Otros</p>

//mail
<p><strong>Direccin e-mail:</strong><br/> <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"150\"> <input type=\"radio\" name=\"email_type\" value=\"home\" checked> Casa <input type=\"radio\" name=\"email_type\" value=\"work\"> Trabajo <input type=\"radio\" name=\"email_type\" value=\"other\"> Otros</p>

//Nota
<p><strong>Nota personal:</strong><br/> <textarea name=\"note\" cols=\"35\" rows=\"3\" wrap=\"virtual\"></textarea></p>

//tipo oculto para obtener master id y aadir entrada


<input type=\"hidden\" name=\"master_id\" value=\"".$_GET["master_id"]."\"> <p><input type=\"submit\" name=\"submit\" value=\"Aadir entrada\"></p> </form>"; } else if ($_POST) {

//Comprobacion
if ((($_POST["f_name"] == "") || ($_POST["l_name"] == "")) || (!isset($_POST["master_id"]))) { header("Location: newentry.php"); exit; }

//Conexion DB
$mysqli = mysqli_connect("localhost","root","","agenda"); if (!$_POST["master_id"]) {

//aadir a la tabla master_name


$add_master_sql = "INSERT INTO master_name (date_added, date_modified, f_name, l_name) VALUES (now(), now(), '".$_POST["f_name"]."', '".$_POST["l_name"]."')"; $add_master_res = mysqli_query($mysqli, $add_master_sql) or die(mysqli_error($mysqli)); 8

[Proyecto 2: AGENDA] Ivn Martn Valderas

//Obtencion de master id
$master_id = mysqli_insert_id($mysqli); } else { $master_id = $_POST["master_id"]; }

if (($_POST["address"]) || ($_POST["city"]) || ($_POST["state"]) || ($_POST["zipcode"])) {

//Insertar datos: Tabla direccion


$add_address_sql = "INSERT INTO address (master_id, date_added, date_modified, address, city, state, zipcode, type) VALUES ('".$master_id."', now(), now(), '".$_POST["address"]."', '".$_POST["city"]."', '".$_POST["state"]."', '".$_POST["zipcode"]."', '".$_POST["add_type"]."')"; $add_address_res = mysqli_query($mysqli, $add_address_sql) or die(mysqli_error($mysqli)); } if ($_POST["tel_number"]) {

//insertar datos: tabla tfno


$add_tel_sql = "INSERT INTO telephone (master_id, date_added, date_modified, tel_number, type) VALUES ('".$master_id."', now(), now(), '".$_POST["tel_number"]."', '".$_POST["tel_type"]."')"; $add_tel_res = mysqli_query($mysqli, $add_tel_sql) or die(mysqli_error($mysqli)); } if ($_POST["fax_number"]) {

//insertar datos: tabla fax


$add_fax_sql = "INSERT INTO fax (master_id, date_added, date_modified, fax_number, type) VALUES ('".$master_id."', now(), now(), '".$_POST["fax_number"]."', '".$_POST["fax_type"]."')"; $add_fax_res = mysqli_query($mysqli, $add_fax_sql) or die(mysqli_error($mysqli)); } if ($_POST["email"]) {

//insertar datos: tabla mail


$add_email_sql = "INSERT INTO email (master_id, date_added, date_modified, email, type) VALUES ('".$master_id."', now(), now(), '".$_POST["email"]."', '".$_POST["email_type"]."')";

$add_email_res = mysqli_query($mysqli, $add_email_sql) or die(mysqli_error($mysqli)); } if ($_POST["note"]) {

//insertar datos: tabla notas


$add_notes_sql = "UPDATE personal_notes set note = '".$_POST["note"]."' WHERE master_id = '".$master_id."'"; $add_notes_res = mysqli_query($mysqli, $add_notes_sql) or die(mysqli_error($mysqli)); }

//Cerramos conexion con mysql


mysqli_close($mysqli);

//muestra en la pagina lo siguiente


$display_block = "<p>Contacto registrado. <a href=\"newentry.php\">Aadir entrada</a>?</p> <p><a href=\"delentry.php\">Borrar entrada</a></p> <p><a href=\"selentry.php\">Ver entrada</a></p> <p><a href=\"index.html\">Atrs</a></p>"; } ?>

//Fin php y comienzo de html


<html> <head> <title>Aadir una entrada</title> </head> <body> <h1>Aadir una entrada</h1> <?php echo $display_block; ?> </body> </html>

10

[Proyecto 2: AGENDA] Ivn Martn Valderas

5. Delentry.php

<?php

//conexion DB
$mysqli = mysqli_connect("localhost", "root", "", "agenda"); if (!$_POST) {

//Ver form
$display_block = "<h1>Selecciona un contacto</h1>";

//Obtener form
$get_list_sql = "SELECT id, CONCAT_WS(', ', l_name, f_name) AS display_name FROM master_name ORDER BY l_name, f_name"; $get_list_res = mysqli_query($mysqli, $get_list_sql) or die(mysqli_error($mysqli));

//si agenda vacia...


if (mysqli_num_rows($get_list_res) < 1) { $display_block .= "<p><em>Agenda vaca</em></p>";

//entonces obten y rellena datos


} else { $display_block .= " <form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\"> <p><strong>Selecciona contacto para borrar:</strong><br/> <select name=\"sel_id\"> <option value=\"\">-- Selecciona uno --</option>"; while ($recs = mysqli_fetch_array($get_list_res)) { $id = $recs['id']; $display_name = stripslashes($recs["display_name"]); $display_block .= "<option value=\"".$id."\">". $display_name."</option>"; } $display_block .= " </select> <p><input type=\"submit\" name=\"submit\" value=\"Borrar contacto\"></p> </form>"; } mysqli_free_result($get_list_res); } else if ($_POST) {

//comprobacion id
if ($_POST["sel_id"] == "") { header("Location: delentry.php"); exit; }

//delete
$del_master_sql = "DELETE FROM master_name WHERE id = '".$_POST["sel_id"]."'"; $del_master_res = mysqli_query($mysqli, $del_master_sql) or die(mysqli_error($mysqli));

//muestra en pagina:
$display_block = "<h1>Deleted!!</h1> <a href=\"".$_SERVER["PHP_SELF"]."\">Borrar otro user</a>?</p> <p><a href=\"newentry.php\">Aadir otro user</a></p> <p><a href=\"selentry.php\">Ver un user</a></p> <p><a href=\"index.html\">Atrs</a></p>"; } ?> <html> <head> <title>Contacts</title> </head> <body background="bck.png"> <?php echo $display_block; ?> </body> </html>

12

[Proyecto 2: AGENDA] Ivn Martn Valderas

6. Selentry.php
<?php

//connect DB
$mysqli = mysqli_connect("localhost", "root", "", "agenda");

if (!$_POST) {

//Mostrar form
$display_block = "<h1>Selecciona un contacto</h1>";

//select lista
$get_list_sql = "SELECT id, CONCAT_WS(', ', l_name, f_name) AS display_name FROM master_name ORDER BY l_name, f_name"; $get_list_res = mysqli_query($mysqli, $get_list_sql) or die(mysqli_error($mysqli));

//si no hay contactos...


if (mysqli_num_rows($get_list_res) < 1) { $display_block .= "<p><em>Lo siento, la agenda est vaca</em></p>";

//si hay, muestra


} else { $display_block .= " <form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\"> <p><strong>Selecciona un contacto:</strong><br/> <select name=\"sel_id\"> <option value=\"\">-- Selecciona uno --</option>";

while ($recs = mysqli_fetch_array($get_list_res)) { $id = $recs['id']; $display_name = stripslashes($recs["display_name"]);

$display_block .= "<option value=\"".$id."\">". $display_name."</option>"; }

$display_block .= " </select> <p><input type=\"submit\" name=\"submit\" value=\"Mostrar datos del contacto\"></p> </form>"; } mysqli_free_result($get_list_res); } else if ($_POST) {

//comprobar id
if ($_POST["sel_id"] == "") { header("Location: selentry.php"); exit; }

//select
$get_master_sql = "SELECT concat_ws(' ',f_name,l_name) as display_name FROM master_name WHERE id = '".$_POST["sel_id"]."'"; $get_master_res = mysqli_query($mysqli, $get_master_sql) or die(mysqli_error($mysqli));

while ($name_info = mysqli_fetch_array($get_master_res)) { $display_name = stripslashes($name_info['display_name']); }

$display_block = "<h1>Mostrar datos de ".$display_name."</h1>";

14

[Proyecto 2: AGENDA] Ivn Martn Valderas

mysqli_free_result($get_master_res);

//select direcciones
$get_addresses_sql = "SELECT address, city, state, zipcode, type FROM address WHERE master_id = '".$_POST["sel_id"]."'"; $get_addresses_res = mysqli_query($mysqli, $get_addresses_sql) or die(mysqli_error($mysqli));

//si hay filas....


if (mysqli_num_rows($get_addresses_res) > 0) { $display_block .= "<p><strong>Direccion/es:</strong><br/> <ul>";

while ($add_info = mysqli_fetch_array($get_addresses_res)) { $address = stripslashes($add_info['address']); $city = stripslashes($add_info['city']); $state = stripslashes($add_info['state']); $zipcode = stripslashes($add_info['zipcode']); $address_type = $add_info['type'];

$display_block .= "<li>$address $city $state $zipcode ($address_type)</li>"; } $display_block .= "</ul>"; } mysqli_free_result($get_addresses_res);

//select tfno
$get_tel_sql = "SELECT tel_number, type FROM telephone WHERE master_id = '".$_POST["sel_id"]."'";

$get_tel_res = mysqli_query($mysqli, $get_tel_sql) or die(mysqli_error($mysqli));

if (mysqli_num_rows($get_tel_res) > 0) { $display_block .= "<p><strong>Telfono/s:</strong><br/> <ul>";

while ($tel_info = mysqli_fetch_array($get_tel_res)) { $tel_number = stripslashes($tel_info['tel_number']); $tel_type = $tel_info['type'];

$display_block .= "<li>$tel_number ($tel_type)</li>"; } $display_block .= "</ul>"; } mysqli_free_result($get_tel_res);

//select fax
$get_fax_sql = "SELECT fax_number, type FROM fax WHERE master_id = '".$_POST["sel_id"]."'"; $get_fax_res = mysqli_query($mysqli, $get_fax_sql) or die(mysqli_error($mysqli));

if (mysqli_num_rows($get_fax_res) > 0) { $display_block .= "<p><strong>Fax:</strong><br/> <ul>";

while ($fax_info = mysqli_fetch_array($get_fax_res)) { 16

[Proyecto 2: AGENDA] Ivn Martn Valderas


$fax_number = stripslashes($fax_info['fax_number']); $fax_type = $fax_info['type'];

$display_block .= "<li>$fax_number ($fax_type)</li>"; } $display_block .= "</ul>"; } mysqli_free_result($get_fax_res);

//select mail
$get_email_sql = "SELECT email, type FROM email WHERE master_id = '".$_POST["sel_id"]."'"; $get_email_res = mysqli_query($mysqli, $get_email_sql) or die(mysqli_error($mysqli)); if (mysqli_num_rows($get_email_res) > 0) { $display_block .= "<p><strong>Email/s:</strong><br/> <ul>";

while ($email_info = mysqli_fetch_array($get_email_res)) { $email = stripslashes($email_info['email']); $email_type = $email_info['type'];

$display_block .= "<li>$email ($email_type)</li>"; } $display_block .= "</ul>"; } mysqli_free_result($get_email_res);

//select notas
$get_notes_sql = "SELECT note FROM personal_notes WHERE master_id = '".$_POST["sel_id"]."'"; $get_notes_res = mysqli_query($mysqli, $get_notes_sql) or die(mysqli_error($mysqli));

if (mysqli_num_rows($get_notes_res) == 1) { while ($note_info = mysqli_fetch_array($get_notes_res)) { $note = nl2br(stripslashes($note_info['note'])); } $display_block .= "<p><strong>Nota personal:</strong><br/> $note</p>"; } mysqli_free_result($get_notes_res);

//muestra en pantalla:
$display_block .= "<br/> <p> <a href=\"selentry.php?master_id=".$_POST["sel_id"]."\">Aadir informacin</a></p> <p><a href=\"".$_SERVER["PHP_SELF"]."\">selecciona otro</a></p> <p><a href=\"delentry.php\">Borra un contacto</a></p> <p><a href=\"index.html\">Volver al men</a></p>"; }

//close mysql session


mysqli_close($mysqli); ?> <html> <head> <title>Mis contactos</title> </head> 18

[Proyecto 2: AGENDA] Ivn Martn Valderas


<body background="bck.png"> <?php echo $display_block; ?> </body> </html>

7. Vista Principal
Si entramos en la agenda, nos encontramos con una pgina as:

Podemos aadir, borrar o seleccionar una entrada

20

[Proyecto 2: AGENDA] Ivn Martn Valderas

8. Aadir Entrada

22

[Proyecto 2: AGENDA] Ivn Martn Valderas

9. Borrar una Entrada

24

Potrebbero piacerti anche