Sei sulla pagina 1di 0

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ingreso de Datos
Peticiones HTTP Request
Mdulo 2 / parte 1

Todos los logos y marcas utilizados en este
documento, estn registrados y pertenecen a
sus respectivos dueos.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 1

Curso: "Programacin Orientada a Objetos PHP5" 2013

Objetivo
El objetivo de esta prctica de laboratorio es aprender el ingreso/envo de datos por parte del usuario
en una peticin HTTP Request y cmo recibir stos datos en el servidor a partir de variables predefinidas
POST y GET.
La variable predefinida $_GET es un arreglo asociativo de variables pasado al script PHP actual va
parmetros URL, ejemplo:
http://localhost/index.php?nombre=John&apellido=Doe&edad=23

La variable predefinida $_POST es un arreglo asociativo de variables pasadas al script PHP actual a travs
del mtodo HTTP POST va formularios en HTML, ejemplo:
<form method='post'>
<input type='text' name='nombre' value=' John' />
<input type='text' name='apellido' value=' Doe' />
<input type='text' name='edad' value='23' />
<input type='submit' value='Enviar' />
</form>


AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 2

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 1: Ejemplo Enviar datos por URL (Peticin GET):
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 3

Curso: "Programacin Orientada a Objetos PHP5" 2013


Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache, si estamos
usando Xampp debera estar dentro de
C:\xampp\htdocs\ProyectoEjemploEnviarDatosURL. En el ejemplo usaremos el servidor
de Zend por lo tanto nuestro Source Folder debe ser
C:\Zend\Apache2\htdocs\ProyectoEjemploEnviarDatosURL
Clic Finish.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 4

Curso: "Programacin Orientada a Objetos PHP5" 2013


Observe que el proyecto ProyectoEjemploEnviarDatosURL ha sido creado bajo la
pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo
index.php el cual es desplegado en el editor de cdigo del IDE.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 5

Curso: "Programacin Orientada a Objetos PHP5" 2013



3. Modificar el contenido generado por el IDE en el index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 6

Curso: "Programacin Orientada a Objetos PHP5" 2013

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$mensaje = isset($_GET["mensaje"]) ? $_GET["mensaje"] : null;

$usuario = isset($_GET["usuario"]) ? $_GET["usuario"] : null;

if ($mensaje != null && $usuario != null) {

echo $usuario . " esta saludando: " . $mensaje;
} else if ($mensaje != null) {
echo "Un an&oacute;nimo lo esta saludando: " . $mensaje;
} else if ($usuario != null) {
echo "Un $usuario esta saludando: que tal!";
} else {
echo "No hay saludo";
}
?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploEnviarDatosURL y
seleccionar Run.
Observe el resultado en el Navegador. (Figura de abajo)

Escriba en la barra de navegacin del navegador la siguiente URL:
http://localhost/ProyectoEjemploEnviarDatosURL/index.php?mensaje=Hola que tal!!!
Observe que estamos enviando el parmetro mensaje por la URL con el valor Hola que
tal!!!
Observe el resultado en el Navegador. (Figura de abajo)
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 7

Curso: "Programacin Orientada a Objetos PHP5" 2013



Escriba en la barra de navegacin del navegador la siguiente URL:
http://localhost/ProyectoEjemploEnviarDatosURL/index.php?mensaje=Hola,
Bienvenido&usuario=John Doe
Observe que estamos enviando el parmetro mensaje por la URL con el valor Hola que
tal!!! y un segundo parmetro usuario con el valor John Doe
Observe el resultado en el Navegador. (Figura de abajo)





AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 8

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 2: Segundo Ejemplo Enviar datos por URL (Peticin GET):
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next

Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploEnviarDatosURL2. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Si usamos
XAMPP: C:\xampp\htdocs\ProyectoEjemploEnviarDatosURL2, si usamos Zend Server
C:\Zend\Apache2\htdocs\ProyectoEjemploEnviarDatosURL2
Clic Finish.

Observe que el proyecto ProyectoEjemploEnviarDatosURL2 ha sido creado bajo la
pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo
index.php
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 9

Curso: "Programacin Orientada a Objetos PHP5" 2013


3. Modificar el contenido generado por el IDE en el index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$nombre = isset($_GET["nombre"]) ? $_GET["nombre"] : null;

$apellido = isset($_GET["apellido"]) ? $_GET["apellido"] : null;

$edad = isset($_GET["edad"]) ? $_GET["edad"] : null;

// definimos la variable resultado
$resultado = null;

if ($nombre !== null && $apellido !== null ) {

$resultado = "Estimado $nombre $apellido, bienvenido.";

// Validamos que el dato de la edad exista y que sea numrico
if ($edad !== null && is_numeric($edad)) {
$resultado .= " Su edad es de $edad aos";
}

} else {
$resultado = "Ingrese un nombre y apellido en la URL";
}
echo $resultado;
?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploEnviarDatosURL2 y
seleccionar Run.
Observe el resultado en el navegador

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 10

Curso: "Programacin Orientada a Objetos PHP5" 2013

Escriba en la barra de navegacin del navegador la siguiente URL:
http://localhost/ProyectoEjemploEnviarDatosURL2/index.php?nombre=John&apellido=
Doe
Observe que estamos enviando el parmetro nombre y apellido por la URL con el valor
John y Doe respectivamente.
Observe el resultado en el Navegador. (Figura de abajo)

Escriba en la barra de navegacin del navegador la siguiente URL:
http://localhost/ProyectoEjemploEnviarDatosURL2/index.php?nombre=John&apellido=
Doe&edad=23
Observe que estamos enviando el parmetro nombre, apellido y edad por la URL con el
valor John, Doe y 23 respectivamente.
Observe el resultado en el Navegador. (Figura de abajo)



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 11

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 3: Tercer Ejemplo Enviar datos por URL (Peticin GET), Buscando usuario por si
identificador (ID):
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploBuscarUsuarioPorId. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache.
Clic Finish.
Observe que el proyecto ProyectoEjemploBuscarUsuarioPorId ha sido creado bajo la
pestaa Projects de NetBeans IDE y adems ha generado automticamente el
index.php el cual es desplegado en el editor de cdigo del IDE

3. Modificar el contenido generado por el IDE en index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$param = isset($_GET["nombre"]) ? $_GET["nombre"] : null;

if ($param !== null) {
$nombres = array();
$nombres[] = "Andres";
$nombres[] = "James";
$nombres[] = "Rod";
$nombres[] = "Juan";
$nombres[] = "Pedro";
$nombres[] = "Diego";
$nombres[] = "John";
$nombres[] = "Bruce";

$encontrado = null;
foreach ($nombres as $nombre) {
if ($param === $nombre) {
$encontrado = $nombre;
}
}
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 12

Curso: "Programacin Orientada a Objetos PHP5" 2013

if ($encontrado !== null) {
echo "Nombre " . $encontrado . " encontrado en el sistema";
} else {
echo "Nombre " . $param . " NO existe en el sistema";
}
} else {
echo "Debe ingresar un nombre para la bsqueda";
}
?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploBuscarUsuarioPorId y
seleccionar Run.
Escriba en la barra de navegacin del navegador la siguiente URL:
http://localhost/ProyectoEjemploBuscarUsuarioPorId/index.php?nombre=Andres
Observe que estamos enviando el parmetro nombre por la URL con el valor Andres
para la bsqueda en el script php.
Observe el resultado en el Navegador. (Figura de abajo)
Nombre Andres encontrado en el sistema


AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 13

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 4: Ejemplo Enviar datos por Formulario (Peticin POST), Buscando usuario por si
identificador (ID):
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploEnviarDatosForm. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache.
Clic Finish.
Observe que el proyecto ProyectoEjemploEnviarDatosForm ha sido creado bajo la
pestaa Projects de NetBeans IDE y adems ha generado automticamente el
index.php el cual es desplegado en el editor de cdigo del IDE

3. Modificar el contenido generado por el IDE en index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$nombre = isset($_POST["nombre"]) ? $_POST["nombre"] : null;

$apellido = isset($_POST["apellido"]) ? $_POST["apellido"] : null;

$edad = isset($_POST["edad"]) ? $_POST["edad"] : null;

// definimos la variable resultado
$resultado = null;

// verificamos que nombre y apellido sean distintos de vacio:
if ( !empty($nombre) && !empty($apellido)) {

$resultado = "Estimado $nombre $apellido, bienvenido.";

// Validamos que el dato de la edad exista y que sea numrico
if ($edad !== null && is_numeric($edad)) {
$resultado .= " Su edad es de $edad aos";
}
} else {
$resultado = "Ingrese un nombre y apellido en el Formulario";
}

$linkVolver = "<a href='index.php'>volver</a>";

echo $resultado . "<br />" . $linkVolver;
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 14

Curso: "Programacin Orientada a Objetos PHP5" 2013

} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form method='post'>
<table border="1">
<tbody>
<tr>
<td>Nombre: </td>
<td><input type='text' name='nombre' /></td>
</tr>
<tr>
<td>Apellido: </td>
<td><input type='text' name='apellido' /></td>
</tr>
<tr>
<td>Edad</td>
<td>
<select name="edad">
<option>seleccione una edad ==></option>
<?php for($i = 20; $i < 70; $i++){ ?>
<option value="<?php echo $i ?>"><?php echo $i ?> aos</option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td colspan="2"><input type='submit' value='Enviar' /></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
<?php
}
?>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploEnviarDatosForm y
seleccionar Run.
Observe el resultado en el Navegador. (Figura de abajo)
Clic en Enviar

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 15

Curso: "Programacin Orientada a Objetos PHP5" 2013


Clic en volver

Complete el formulario y vuelva a enviar




AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 16

Curso: "Programacin Orientada a Objetos PHP5" 2013



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 17

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 5: Ejemplo Calculadora:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploCalculadora. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache.
Clic Finish.
Observe que el proyecto ProyectoEjemploCalculadora ha sido creado bajo la pestaa
Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual
es desplegado en el editor de cdigo del IDE
3. Creando la clase java Calculadora.php:
Clic derecho en el proyecto ProyectoEjemploCalculadora y seleccionamos New->PHP->
Class.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 18

Curso: "Programacin Orientada a Objetos PHP5" 2013

Observe que aparece la ventana para crear una clase Java: New PHP Class
Para el nombre de la case (Class Name), ingrese Calculadora
Clic Finish.

Observe que se crea la clase Calculadora.php y es desplegada en el editor de cdigo del
IDE.
Modifique la clase Calculadora.php como se muestra en el Cdigo de abajo, poner
especial atencin en los mtodos de operaciones aritmtica.
<?php

/**
*
* @author Andrs Guzmn F
*/
class Calculadora {

public function sumar($a, $b) {
return $a + $b;
}

public function restar($a, $b) {
return $a - $b;
}
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 19

Curso: "Programacin Orientada a Objetos PHP5" 2013


public function multiplicar($a, $b) {
return $a * $b;
}

public function dividir($a, $b) {
if ($b === 0) {
return 0;
}
return $a / $b;
}
}

4. Modificar el contenido generado por el IDE en index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<?php
require_once 'Calculadora.php';

$resultado = null;
$a = null;
$b = null;

if ($_SERVER["REQUEST_METHOD"] === "POST") {

$op = $_POST["operacion"];
$a = (int) $_POST["valorA"];
$b = (int) $_POST["valorB"];

$calc = new Calculadora();

switch ($op) {
case "sum":
$resultado = $calc->sumar($a, $b);
break;
case "rest":
$resultado = $calc->restar($a, $b);
break;
case "mult":
$resultado = $calc->multiplicar($a, $b);
break;
case "div":
$resultado = $calc->dividir($a, $b);
break;
default:
break;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 20

Curso: "Programacin Orientada a Objetos PHP5" 2013

<body>
<h3>Calculadora Aritmtica</h3>
<form method="post">
<table border="1">
<tbody>
<tr>
<td><input type="text" name="valorA" value="<?php echo $a ?>" /></td>
<td>
<select name="operacion">
<option value="0">seleccionar una operacin ==></option>
<option value="sum">Sumar</option>
<option value="rest">Restar</option>
<option value="mult">Multiplicar</option>
<option value="div">Dividir</option>
</select>
</td>
<td><input type="text" name="valorB" value="<?php echo $b ?>" /></td>
<td> = <?php echo $resultado ?></td>
<td></td>
</tr>
<tr>
<td colspan="5"><input type="submit" name="enviar" value="Calcular" /></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>

5. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploCalculadora y seleccionar
Run.
Observe el resultado en el Navegador. (Figura de abajo)

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 21

Curso: "Programacin Orientada a Objetos PHP5" 2013


Ingrese datos en la calculadora
Clic en Calcular

Observe el resultado en el Navegador. (Figura de abajo)


AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 22

Curso: "Programacin Orientada a Objetos PHP5" 2013

Resumen

En este workshop, hemos expuesto y aprendido enviar datos hacia un programa PHP en una peticin
HTTP Request y cmo recibir stos datos en el servidor a partir de variables predefinidas POST y GET,
Formulario y URL respectivamente.









Enva tus consultas a los foros!
Aqu es cuando debes sacarte todas las dudas
haciendo consultas en los foros
correspondientes
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Ingreso de Datos 23

Potrebbero piacerti anche