Buscar este blog

jueves, 12 de diciembre de 2013

EJERCICIO PHP

1.-LoginOk.php
-Recoger variables nombre y password. $perro=$_post('canido');
-Hacer consulta: "select * from casa where canido = '".$perro"' ...
-Hacer resultado: mysql_query($consulta);
-Hacer fila: mysql_fetch_array($consulta);
-Comprobar si existe el nombre en la base de datos:
if ($fila==0) // no existe
header{redirigir a login.php para que salga el mensaje:"El usuario y/o contraseña no existe."
else
if($password<>$fila['password'])
header{redirigir a login.php para que salga el mensaje:"El usuario y/o contraseña no existe."
Recoger variables de sesión:
$_SESSION['id']=$fila['id']
$_SESSION['nombre']=$fila['nombre']
2.-Login.php
-Recoger el header (con GET) y mostrar mensaje de "El usuario y / o contraseña no existe".session_start();if(isset($_SESSION['noexiste']))
{echo "El usuario no existe";unset($_SESSION['noexiste']);}
3.-Menu.php
Dar la bienvenida al usuario si está conectado.
if (isset($_SESSION ['id']$perro = $_SESSION['canido'];echo "Hola ".$canido;
echo Bienvenido $_SESSION['nombre'];
4.-CerrarSesion.php
Unset id de $_SESSION <?php// Cerrar sesiónsession_start();unset($_SESSION['usuario']);header("location:login.php"
Unset nombre de $_SESSION
5.-ListadoCliente.php
poner en las celdas $row['perro'] Incluir paginacion:
6.-Editar.php // EditarOk.php --> redirigir a listadocliente.php
$consulta="UPDATE perro SET campo ='".$campo."'WHERE id='".$id."'";
$resultado = mysql_query($consulta);
7.-Eliminar.php --> redirigir a listadocliente.php
$consulta = "DELETE from loquesea WHERE id='".$id."'";
8.-DetalleCliente.php
$consulta = "SELECT * from loquesea as l inner join casas as c on c.combo = p.id WHERE c.id='".$id."'";
rellenar <?php echo $fila['loquesea']?>
9.-CrearCliente.php // CrearCliente.php--> redirigir a listadocliente.php
rellenar desplegable $consulta = "SELECT * FROM casetas";$resultado = mysql_query($consulta);
{?><option value="<?php echo $fila['id']?>"> <?php echo $fila['name']?> </option><?php}?>
crearclienteOK.php
enlazar campos $perro = $_POST['perro'];
¡$consulta = "INSERT INTO caseta(perro)values('".$perro."')";
$resultado = mysql_query($consulta);
header("location:dondesea.php");?>
10.-CrearPDF.php -->Crear el pdf de detallecliente.php
<?php require_once("../include/dompdf/dompdf_config.inc.php");
// Crear pdf del detalle de un cliente
ob_start(); require_once('dondesea.php');$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_clean());$dompdf->render();$dompdf->stream("archivo.pdf");
?>
NOTA: En cada php poner arriba
<?php
session_start();

?> 

APUNTES PHP

Funciones de PHP para MySQL

mysql_connect: Abre una conexión  a MySQL Server.
int mysql_connect(string[hostname [:port][:/path/to/socket]], string[username],string [password])
Esta función establece una conexión a un servidor mysql. Todos los argumentos son opcionales y los valores por defecto son localhost, el usuario dueño del proceso, sin password.
Si realizas dos veces una llamada a esta función con los mismos parámetros, devuelve el mismo identificador que para la llamada anterior.
Todas las conexiones terminan al terminar la ejecución del script, a no ser que se elimine la conexión llamando a la función mysql_close().

mysql_select_db: Selecciona una base de datos MySql.
int mysql_select_db(string database_name, int [identificador del link] )
Esta función asigna la base de datos activa en el servidor asociado al identificador del link.

mysql_query: Envía una consulta SQL a MySQL.
int mysql_query(string query, int [identificador del link] )
Envía una consulta a una base de datos activa en el servidor asociado al link que se especifica. En el caso de que no se especifique ninguna conexión abierta, la función intenta reestablecer una conexión con la función mysql_connect().
La función devuelve TRUE o FALSE si la consulta tiene éxito. Si el valor devuelto es TRUE, significa que la consulta puede ser realizada, no que existan datos que respondan a esa consulta.
Para consultar cuantas líneas responden a esa consulta, se puede utilizar la función mysql_affected_rows() y nos dirá cuantas líneas se han visto afectadas por la última operación INSERT, DELETE, REPLACE o UPDATE. En el caso de tratarse de una operación SELECT la función mysql_query() devuelve un identificador de resultado que se puede utilizar con la función mysql_result().

mysql_fetch_array: Introduce el resultado en un array asociativo.
array mysql_fetch_array(resource resultado, int [result type])
Esta función es una versión extendida de mysql_fetch_row(). Lo que hace es almacenar el resultado en un array indexado, almacenando así los datos en un índice asociativo utilizando los nombres de los campos como claves.
Si existen más de una columna con el mismo nombre, tendrá precedencia la última columna. Para acceder a las otras columnas con el mismo nombre, se debe indexar la columna o hacer un alias para ella.
Ejemplo:
select tabla1.precio as precio 1, tabla2.precio as precio2 from tabla1, tabla2
El segundo argumento, es una constante que puede tomar los siguientes valores.
MYSQL_ASSOC
MYSQL_NUM
MYSQL_BOTH

mysql_num_rows: Obtiene el número de líneas del resultado.
int mysql_num_rows(resource resultado)
Devuelve el número de líneas que contiene el parámetro resultado.

mysql_affected_rows: Obtiene el número de tuplas modificadas en la última operación MySql.
int mysql_affected_rows(resource resultado)
Devuelve el número de líneas afectadas por la última operación, INSERT, UPDATE o DELETE, asociadas con el identificador que se especifica.
Si no se especifica el link, se asume que se refiere al último.
Excepción: Si la última operación ha borrado todos los registros de una tabla, esta función devuelve 0.
Esta función no tiene efecto con ninguna operación SELECT, puesto que no modifican ninguna línea.

mysql_field_name: Devuelve el nombre de un campo especificado en un resultado.
string mysql_field_name(resource resultado, int field_index)
Devuelve el nombre del campo que se especifica, mediante el orden que ocupe dentro del resultado.

mysql_tablename: Obtiene el nombre de la tabla de un campo.
string mysql_tablename(resource resultado, int i)
Esta función devuelve el nombre de una tabla de un puntero de resultados que ha devuelto previamente la función mysql_num_rows.

mysql_close: Cierra la conexión MySql.
int mysql_close(resource resultado)
Esta función cierra la conexión permanente que mantiene el link. El parámetro es opcional. Si no se especifica, se cerrará la última conexión abierta.
Si una conexión no se cierra, el script la cierra automáticamente al terminar su ejecución.
Esta función no opera correctamente con las conexiones abiertas con la función mysql_pconnect().
-----------------------------------------------------------------------
$GLOBALS
Es un array asociativo que contiene las referencias a todas la variables que están definidas en el ámbito global del script. Los nombres de las variables son las claves del array.
Ejemplo
<?php
function test() {
    $foo = "variable local";
    echo '$foo en el ámbito global: ' . $GLOBALS["foo"] . "\n";
    echo '$foo en el ámbito simple: ' . $foo . "\n";
}
$foo = "Contenido de ejemplo";
test();
?>
El resultado del ejemplo sería algo similar a:
$foo en el ámbito global: Contenido de ejemplo
$foo en el ámbito simple: variable local

$_GET

Un array asociativo de variables pasado al script actual vía parámetros URL.

Ejemplo

<?php
echo 'Hola ' . $_GET["nombre"] . '!';
?>
Asumiendo que el usuario introduzco http://example.com/?nombre=Hannes
El resultado del ejemplo sería algo similar a:
Hola Hannes!
$_POST

Un array asociativo de variables pasadas al script actual a través del método HTTP POST.
Ejemplo

<?php
echo 'Hola ' . $_POST["nombre"] . '!';
?>
Asumiendo que el usuario envió por el método POST a través de un formulario nombre=Juan
El resultado del ejemplo sería algo similar a:
Hola Juan!

$_REQUEST
Un array asociativo que por defecto contiene el contenido de $_GET, $_POST.

$_FILES
En PHP, la capacidad de carga de archivos es posible usando la siguiente función: move_uploaded_file(filename, destination) - mueve un archivo a un destino especificado en el servidor. Cuando un archivo se carga utilizando la función move_uploaded_file(),este es rápidamente almacenado en una ubicación temporal en el servidor web.
Para mover el archivo a su destino final y manipular sus diferentes propiedades, se utiliza la súper matriz global PHP $ _FILES.
La matriz $ _FILES utiliza el valor de nombre proporcionado por <input type="file" name="uploadFile"/> (en este caso 'uploadFile') para identificar el archivo que se cargó.
Las entradas asociadas con la matriz $ _FILES se describen a continuación.
       * $_FILES['UploadFile']['tmp_name']: El directorio en el servidor web donde está temporalmente almacenado el archivo. Por defecto es el directorio uploadtemp ubicado en la carpeta de PHP.
       * $_FILES['uploadFile']['name'] : nombre del archivo en el sistema del usuario.
       * $_FILES['uploadFile']['size'] : tamaño del fichero en bytes.
       * $_FILES['uploadFile']['type']  : el tipo MIME del archivo.
       * $_FILES['uploadFile']['error']  : el código de error asociado a la carga de archivos (0 carga exitosa,1 - el archivo excede el máximo tamaño de carga,  2 - el archivo excede el tamaño máximo de archivo, 3 - fichero parcialmente cargado, 4 - No existe el fichero cargado)

$_SESSION

Es un array asociativo que contiene variables de sesión disponibles para el script actual

Funciones asociadas:

session_start() crea una sesión o reanuda la actual basada en un identificador de sesión pasado mediante una petición GET o POST

session_destroy() destruye toda la información asociada con la sesión actual. No destruye ninguna de las variables globales asociadas con la sesión, ni destruye la cookie de sesión. Para volver a utilizar las variables de sesión se debe llamar a session_start().

La función session_unset() libera todas las variables de sesión actualmente registradas.
-----------------------------------------------------------------------
Funciones básicas y ejemplos conexión con MySql:
mysql_connect
Se utiliza para conectarse con un servidor de bases de datos, se usa normalmente con 3 parámetros, el dominio del servidor, nombre de usuario y password.
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db
Se utiliza para elegir la base de datos que queremos gestionar una vez que se ha realizado la conexión con mysql_connect..
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db ("test");
mysql_query
Se utiliza para hacer “querys” o peticiones a la base de datos.
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db ("test");
$consulta = "SELECT * FROM Departamentos";
$resultado = mysql_query($consulta);
mysql_fetch_array
Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
Para leer las demás filas necesitamos un while y así leer todas las filas.

La sentencia mysql_fetch_array de php sirve para volcar datos, provenientes de una consulta mysql, dentro de un array php.
Ocurre que cuando hacemos una consulta a la base de datos, Mysql nos retorna el conjunto de datos que responde a nuestra consulta; pero éste conjunto de datos no es legible por php. Para poder manipular estos datos (leerlos y utilizarlos) necesitamos volcarlo en algún elemento manipulable por php, por ejemplo un array.
Entonces, por ejemplo, si hacemos una consulta que nos devuelve 10 filas de una tabla Mysql (conjunto de datos) y luego le aplicamos mysql_fetch_array; obtendremos cómo resultado un array multidimensional de 10 filas y tantas columnas haya en nuestro select.

Ejemplo:
  while ($fila = mysql_fetch_array($resultado))
<tr>  <td> <?php  echo $fila['CodDpto']; ?> </td>
 <td> <?php  echo $fila['Descripcion']; ?> </td></tr>
  mysql_close();
Cierra la conexión con la BD
----------------------------------------------------------
<?php
$dbhost = "localhost";
$dbusuario = "root";    
$dbpassword = "";
$db = "rtb_bd";
$conexion = 0;
//$GLOBALS Significa simplemente que es una variable que está disponible en cualquier parte del script. Cuando quiero utilizar una variable declarada fuera de una función
function conectarBD()
{ $GLOBALS['conexion'] = mysql_connect($GLOBALS['dbhost'], $GLOBALS['dbusuario'], $GLOBALS['dbpassword']);
    mysql_select_db($GLOBALS['db'], $GLOBALS['conexion']);}
function cerrarBD()
{ mysql_close($GLOBALS['conexion']);     }?>
----------------------------------------------------------------
Modificar PHP, MySQL
Para modificar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se insertaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta de modificación.
$sql = "UPDATE agenda SET nombre='$nombre',direccion='$direccion',"telefono='$telefono', email='$email'";
Para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
Ejemplo Procesar un formulario mediante PHP e modificar un registro en MySQL
Para modificar un registro en concreto será necesario conocer el id del registro que vayamos a modificar. Este id puede ser pasado por URL por ejemplo de un listado de 10 empleados pasar por href  (URL) el id del empleado que queramos modificar
<a href='modificar.php?id=<?php echo $fila['CodEmp']?>'><img src="images/icono_modificar.gif"> </a>
Una vez tengamos el id ya podremos generar la pantalla para modificar.
<?php
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "bbdd")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db("test")
or die("ERROR con la base de datos");
$id= $_GET['id'];
//Preparación y ejecución de la consulta
$consulta = "SELECT * FROM Empleados";
$consulta .= " WHERE CodEmp=$id";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);?>
<form id="inserciones" action="modificarOk.php" method="POST">
<input type=hidden name="eCodEmp" value="<?php echo $fila['CodEmp']; ?>">
//hidden es para pasar un dato oculto al otro php
<table>
<tr>
<td>Nombre:</td>
<td><input type=text name="eNombre" value="<?php echo $fila['Nombre']; ?>"></td>
</tr>
<tr>
<td>Sueldo:</td>
<td><input type=text name="eSueldo" value="<?php echo $fila['Sueldo']; ?>"></td>
</tr>
<?php
$consulta2 = "SELECT * FROM Departamentos";
$resultado2 = mysql_query($consulta2);
?>
<tr>
<td>Departamento:</td> //Es un desplegable
<td>
<select id="CodDpto" name="eCodDpto">

<?php
                while($fila2 = mysql_fetch_array($resultado2))
                {
                ?>
<option value="<?php echo $fila2['CodDpto']; ?>"
<?php  if ($fila['CodDpto'] == $fila2['CodDpto']) echo "selected"; ?> ><?php echo $fila2['Descripcion']; ?> </option>
 
//Queremos que en el desplegable nos salga el departamento que tiene ese determinado empleado que queremos modificar. Por eso hacemos la comparación entre los códigos de dpto. que obtenemos del Select primero que contiene los datos del empleado con id=X  y otro select de donde ya sacaremos la descripción del departamento, en el momento que coincidan los códigos será ese el se pinte por defecto, eso se controla con el selected                                                                            
                <?
                }
                ?>            
</select>
</td>
 </tr>
</table>
<input type="submit" value="Modificar">
</form>
Una vez tenemos la pantalla de modificar con los datos del empleado a modificar ya podremos recoger todos esos datos y las modificaciones q el usuario haga del empleado y hacer un update de todos los datos.
<?php
  //Establecimiento de la conexión
  $conex = mysql_connect("localhost", "root", "bbdd")
        or die("NO se pudo realizar la conexi�n");
  // Selección de la base de datos
  mysql_select_db("test")
       or die("ERROR con la base de datos");
  //Preparación y ejecución de la consulta
  $codEmp = $_POST['eCodEmp'];
  $nombre = $_ POST ['eNombre'];
  $sueldo = $_ POST ['eSueldo'];
  $codDpto = $_ POST ['eCodDpto'];
  $consulta = "UPDATE Empleados SET Nombre='$nombre', Categoria='$categoria',      Sueldo='$sueldo', CodDpto='$codDpto'
 WHERE CodEmp=$codEmp";
 $resultado = mysql_query($consulta);
  if ($resultado)
      echo "<b>Empleado modificado!</b><br /><br />\n";
-------------------------------------------------------------------
Eliminar PHP, MySQL
Para eliminar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se insertaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta de eliminación.
$sql = "DELETE FROM tabla “;
Para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
Ejemplo Procesar un formulario mediante PHP y eliminar el registro en MySQL
Previamente pasamos el id por URL del empleado a eliminar
<a href='eliminar.php?id=<?php echo $fila['CodEmp']?>'><img src="images/icono_modificar.gif"> </a>
Eliminar.php
<?php
  //Establecimiento de la conexión
  $conex = mysql_connect("localhost", "root", "bbdd")
        or die("NO se pudo realizar la conexi�n");
  // Selección de la base de datos
  mysql_select_db("test")
       or die("ERROR con la base de datos");
  //Preparación y ejecución de la consulta
  $codEmp = $_GET['id'];
  $consulta = "DELETE FROM Empleados WHERE CodEmp=$codEmp";
  $resultado = mysql_query($consulta);
  if ($resultado)
      header("Location: listado.php");
--------------------------------------------------------------------
BÚSQUEDAS PHP, MySQL
Para buscar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se buscaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta general
$sql="select * from tabla where condición '";
Y concatenamos con nuevas subconsultas para realizar la búsqueda dependiendo del valor a buscar
$sql  =  $sql  .  " WHERE campo LIKE '%$valor%'";
// concatena la consulta principal con la subconsulta
Las 2 búsquedas más convencionales son:
1. Buscar filas que contengan cierta palabra clave.
Para esto utilizamos el Operador Mysql LIKE
if ($campoBusqueda == 'categoria')   //campoBusqueda es un desplegable con las                    opciones por las que puede buscar
$sql  =  $sql  .  " WHERE Categoria LIKE '%$valor%'";  
 //valor es el input donde escribe el usuario
2. Buscar filas que coincidan exactamente con cierta palabra clave.
Para esto utilizamos el Operador Mysql de igualdad
if ($campoBusqueda == 'sueldo')
 $sql  =  $sql  .  " WHERE Sueldo = '$valor'";
Por último, para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
----------------------------------------------------------
SESIONES
Las sesiones son una forma sencilla de almacenar datos para usuarios de manera individual usando un ID de sesión único. Esto se puede usar para hacer persistente la información de estado entre peticiones de páginas.
Lo primero que debemos hacer cuando el usuario introduzca su nombre y contraseña será comprobar que existen en la BD y todo es correcto almacenar el id_usuario y el nombre en variables de Sesión para poder usar esas variables en todas las páginas php de la aplicación.
Hay que tener en cuenta que cada vez que queramos usar esas variables habrá que iniciar sesión.
A continuación se detallan las funciones necesarias para trabajar con sesiones.
Para registrar una variable de sesión y establecer un valor usaremos $_SESSION["nombre_variable"].
En todas las páginas de nuestro sitio web donde necesitemos usar algún dato del usuario que ha iniciado sesión o mostrar alguna opción especial para el usuario deberemos añadir el siguiente código, siempre al principio del fichero (antes de cualquier etiqueta HTML de la página):
<?
  session_start();
?>
Con el procedimiento "session_start()" iniciaremos la sesión, si ya está iniciada no hará nada.
Añadir un enlace para que el usuario pueda cerrar la sesión en cualquier momento
if (isset ($_SESSION["id_usuario"])){

echo "<b>Bienvenid@ " . $_SESSION['nombre_usuario'] . "  <a href='logout.php'>[Cerrar Sesion]</a></b>";
}
Uso de la función session_destroy para cerrar la sesión en PHP
Crearemos un fichero de texto plano sin formato con el siguiente contenido, guardándolo con el nombre "cerrarsesion.php" y lo subiremos a nuestro sitio FTP:
<?
  session_start();
  unset($_SESSION["id_usuario"]);
  unset($_SESSION["nombre_usuario"]);
  session_destroy();
  header("Location: index.php");
  exit;
?>
-------------------------------------------------------
Generar PDF con Dompdf
Vamos a ver cómo generar PDF's desde PHP empleando una librería llamada DomPDF.
Esta librería nos permite convertir un documento HTML a PDF, con lo cual es muy sencillo el generar cualquier documento PDF, simplemente generando la página HTML e indicándole a la librería que genere el documento PDF.
Lo primero que tendremos que hacer es cargar la librería, y a partir de ahí podremos generar el documento HTML que luego imprimiremos.
Véase el siguiente ejemplo de utilización de dicha librería:
<?php
# Cargamos la librería dompdf.
require_once 'lib/pdf/dompdf_config.inc.php';
# Contenido HTML del documento que queremos generar en PDF.
$html='
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Ejemplo de Documento en PDF.</title>
</head>
<body>
<h2>Ingredientes para la realización de Postres.</h2>
<p>Ingredientes:</p>
<dl>
<dt>Chocolate</dt>
<dd>Cacao</dd>
<dd>Azucar</dd>
<dd>Leche</dd>
<dt>Caramelo</dt>
<dd>Azucar</dd>
<dd>Colorantes</dd>
</dl>
</body>
</html>';
# Instanciamos un objeto de la clase DOMPDF.
$mipdf = new DOMPDF();
# Definimos el tamaño y orientación del papel que queremos.
# O por defecto cogerá el que está en el fichero de configuración.
$mipdf ->set_paper("A4", "portrait");
# Cargamos el contenido HTML.
$mipdf ->load_html(utf8_decode($html));
# Renderizamos el documento PDF.
$mipdf ->render();
# Enviamos el fichero PDF al navegador.
$mipdf ->stream('FicheroEjemplo.pdf');
?>
-----------------------------------------------------------------
Convertir Fechas PHP y MySQL
El formato usado en las tablas de MySQL para representar las fechas, es distinto al usado en muchos países, como por ejemplo España. Mientras que MySQL usa el formato AAAA/MM/DD (ejemplo 2013/08/08); aquí, como en muchos lugares se usa el formato DD/MM/AAAA (ejemplo 08/08/2013).
Bien, para poder introducir fechas en MySQL, recogidas en formularios a los usuarios por ejemplo, debemos convertirlas a formato MySQL; y lo mismo si queremos mostrar una fecha obtenida de una tabla MySQL en nuestra web.
La mejor forma de realizar una conversión entre la fecha que nos devuelve MySQL a nuestro formato es utilizando DATE_FORMAT de MySQL . La siguiente consulta nos devolvería la fecha con el formato DD/MM/AAAA, aunque podríamos indicarle que nos la devolviera como a nosotros nos interese.
mysql_query("SELECT DATE_FORMAT(campo_fecha,'%d/%m/%Y') FROM tabla", $conexión);
// El resultado será devuelto con el formato DD/MM/AAAA
Con este método obtendríamos una fecha del formato MySQL al nuestro. Pero no es la única.
Tenemos otra opción que nos valdría para convertir desde MySQL al nuestro, y desde el nuestro a MySQL:
//Cambiar fecha a MySQL(almacenar en BD). Formato fecha en MySQL
function obtenerFechaMySql($fecha)
{   list($day, $month, $year) = explode('/', $fecha);
    return "$year-$month-$day";}
En este caso, recogemos una variable $fecha con la fecha que ha introducido el usuario, o simplemente la que deseamos cambiar. Nos lista en las variables $dia $mes y $ano los valores resultantes de separar con la función ”explode” la variable $fecha. Una vez listadas las variables solo debemos montar la última variable $fecha a nuestro gusto.
OJO!! Como muchos sabréis  la función “explode” lee una cadena de texto y separa en un array (o en este caso nos lista por variable) los valores de esa cadena de texto usando un separador común, como puede ser un espacio ” “, o en este caso una barra “/”. Dicho esto, si la fecha introducida tiene el formato 08-08-2013 no funcionaria, con lo cual debemos avisar al usuario a introducir la fecha como nosotros queramos.
Para pasar de MySQL a nuestro formato, sabiendo de nuevo la separación en la fecha (que normalmente es /) usamos la misma función que antes, pero recogiendo en la variable $fecha el dato obtenido de la tabla.
//Leer de BD. Formato fecha española
function obtenerFecha($fechaMySql)
{  list($year, $month, $day) = explode('-', $fechaMySql);
    return "$day/$month/$year";}




sábado, 7 de diciembre de 2013

EJERCICIOS PHP.


  • 1 Crear en la base de datos "base1" otra tabla llamada "cursos".
    La estructura de esta segunda tabla debe ser:
    • codigo int auto_increment primery_key
    • nombrecurso varchar(40)
    • Utilizar el PHPMyAdmin para la creación de esta tabla.
      Implementar las dos páginas necesarias para efectuar el alta de cursos. Un formulario para ingresar el nombre del curso y otra página donde se efectuará el insert.
HTML:
<html>
<head>
<title>Ejercicio 1 B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>INSERTAR CURSOS<h1>
<form action="dardealta.php" method="post">
<input type="text" name="curso"></input>
<input type="submit" value="ACEPTAR"/>
</form>
</body>
</html>
PHP:
<?php
include('conexion.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "INSERT INTO cursos(nombrecurso) values('".$curso."')";
$insercion = mysql_query($consulta);
cerrarBD();
header("location:altacurso.php");
?>
  • 2 Confeccionar un programa que recupere los datos de la tabla cursos de la base de datos base1. Mostrar el código de curso y su nombre.

    <html>
    <head>
    <title>Ejercicio 2 B.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <h1> LISTADO DE CURSOS</h1>
    <table border="2px">
    <tr>
    <td>Id</td>
    <td>Curso</td>
    </tr>
    <?php
    include('conexionTablaCurso.php');
    conectarBD();
    $consulta = "SELECT * FROM cursos";
    $resultado = mysql_query($consulta);
    while($fila = mysql_fetch_array($resultado))
    {
    ?>
    <tr>
    <td>
    <?php echo $fila['codigo']?>
    </td>
    <td>
    <?php echo $fila['nombrecurso']?>
    </td>
    </tr>
    <?php
    }
    cerrarBD();
    ?>
    </table>
    </body>
    </html>
  • 3 Confeccionar un programa que permita ingresar el nombre de un alumno en un formulario, luego mostrar los datos del mismo (tener en cuenta que puede haber más de un alumno con el mismo nombre)
HTML:
<html>
<head>
<title>EJERCICIO 3B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" action="visualalumnos.php">
<input type="text" name="nombre" />
<input type="submit" />
</form>
</body>
</html>
PHP:
<html>
<head>
<title>Alumnos visualizados</title>
</head>
<body>
<table border="2px">
<tr>
<td>Codigo</td>
<td>Nombre</td>
<td>E-mail</td>
</tr>
<?php
include('conexionTablaCurso.php');
conectarBD();
$nombre = $_POST['nombre'];
$consulta = "SELECT * FROM alumnos where nombre='".$nombre."'";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<tr>
<td>
<?php echo $fila['codigo'] ?>
</td>
<td>
<?php echo $fila['nombre'] ?>
</td>
<td>
<?php echo $fila['email']?>
</td>
</tr>
<?php
}
cerrarBD();
?>
</table>
</body>
</html>
  • 4 Confeccionar un programa que permita ingresar el nombre de un curso por teclado y posteriormente efectúe el borrado de dicho registro en la tabla cursos. Mostrar un mensaje si no existe el curso.
HTML:
<html>
<head>
<title>Ejercicio 2 B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>BORRADO DE CURSOS</h1>
<form action="borrarcurso.php" method="post">
<span>Curso:</span><input type="text" name="CURSO" /><br>
<input type="submit" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "SELECT * from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);
if($fila == 0)
{
echo "El curso introducido no existe";
}
else
{
$consulta = "DELETE from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
header("location:eliminacurso.php");
}
cerrarBD();
?>


  • 5 Efectuar el borrado de todos los registros de la tabla cursos.
HTML:
<html>
<head>
<title>EJERCICIO 5B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Borrar cursos</h1>
<form action="borrarcurso.php" method="post">
<span>Curso:</span>
<input type="text" name="curso" />
<br>
<input type="submit" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "SELECT * from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);
if($fila == 0)
{
echo "El curso no existe";
}
else
{
$consulta = "DELETE from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
header("location:eliminacurso.php");
}
cerrarBD();
?>
  • Efectuar la modificación del nombre del curso de la tabla "cursos". Para la búsqueda ingresar el código de curso.


  • 6 Confeccionar el alta de la tabla alumnos empleando controles de tipo "radio" para la selección del curso.
HTML:
<html>
<head>
<title>EJERCICIO 6B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Alta alumnos</h1>
<form action="alta.php" method="post">
<span>Nombre:</span>
<input type="text" name="nombre" />
<br>
<span>Email:</span>
<input type="text" name="email" />
<br>
<span>Cursos:</span>
<br>
<?php
include('conexionTablaCurso.php');
conectarBD();
$consulta = "SELECT * FROM cursos";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<input type="radio" name="curso" value="<?php echo $fila['nombrecurso'] ?>"><?php echo $fila['nombrecurso'] ?></input>
<br>
<?php
}
cerrarBD();
?>
input type="submit" value="Enviar" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$curso = $_POST['curso'];
$consulta = "INSERT INTO alumnos(nombre, email, curso) values('".$nombre."','".$email."','".$curso."')";
$insercion = mysql_query($consulta);
cerrarBD();
header("location:alta.php");
?>


  • 7 Confeccionar un programa que permita ingresar el código de un alumno y nos muestre su nombre, mail y nombre del curso en el cual está inscripto. Hacer un formulario donde se ingrese el código de alumno y otra página donde se muestren los datos respectivos. Mostrar un mensaje si no existe el código de alumno ingresado.
HTML:<html>
<head>
<title>EJERCICIO 7B</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Buscar alumno.</h1>
<form method="post" action="elalumno.php">
<input type="text" name="codigo" />
<input type="submit" />
</form>
</body>
</html>

PHP:<html>
<head>
<title>Alumno buscado</title>
</head>
<body>
<table border="2px">
<tr>
<td>Nombre</td>
<td>E-mail</td>
<td>Curso</td>
</tr>
<?php
include('conexionTablaCurso.php');
conectarBD();
$codigo = $_POST['codigo'];
$consulta = "SELECT * FROM alumnos where codigo='".$codigo."'";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<tr>
<td>
<?php echo $fila['nombre'] ?>
</td>
<td>
<?php echo $fila['email'] ?>
</td>
<td>
<?php echo $fila['curso']?>
</td>
</tr>
<?php
}
cerrarBD();
?>
</table>
</body>
</html>






  • 8 Confeccionar un programa que muestre por pantalla los nombres de todos los cursos y al final la cantidad total de cursos.
<?phpinclude(“conexion.php"); //incluir archivo conexión base de datos
conectarBD();
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado)){
echo $fila['nombrecurso']."<br/>";
}
echo "<br/>";
echo ”<h1>LISTADO DE CURSOS CON TOTAL CURSOS<h1>”
$numero_filas = mysql_num_rows($resultado);
echo "Total cursos: ".$numero_filas;
?>



  • 9 Confeccionar la modificación del mail, nombre y curso de la tabla "alumnos". Ingresar por teclado el código de alumno para su búsqueda.
HTML
<html>
<head>
<title>EJERCICIO 9B</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Modificar Alumnos.</h1>

<form action="ejerciciosparteb.php" method="get">
<input type="text" name="buscar">
<input type="submit" value="BUSCAR">
</form>
</body>
</html>
PHP
<?php
include(“conexion.php");
conectarBD();
if(isset($_GET['buscar'])){
$id = $_GET['buscar'];
$consulta = "select * from alumnos where codigo=$id";
$resultado = mysql_query($consulta);
echo "<form action='ejerciciosparteb.php' method='get'>";
while($fila = mysql_fetch_array($resultado)){
echo "Mail: <input type='text' name='mail' value='".$fila['email']."'</input><br/>";
echo "Nombre: <input type='text' name='nombre' value='".$fila['nombre']."'</input><br/>";
echo "Curso: <input type='text' name='curso' value='".$fila['curso']."'</input><br/>";
echo "<input type='hidden' name='id' value='".$fila['codigo']."'</input>";
}
echo "<input type='submit' value='MODIFICAR'/></form>";
}
if(isset($_GET['mail']) && isset($_GET['nombre']) && isset($_GET['curso'])){
$mail = $_GET['mail'];
$nombre = $_GET['nombre'];
$curso = $_GET['curso'];
$id = $_GET['id'];
$consulta2 = "update alumnos set nombre='$nombre',email='$mail',curso='$curso' where codigo=$id";
$resultado2 = mysql_query($consulta2);
echo "MODIFICADO!";}
?>


10 Confeccionar un programa que muestre el nombre del curso, la cantidad de inscriptos y todos los inscriptos a dicho curso. Repetir esto con todos los cursos.
Es decir, en la página debe aparecer algo parecido a:

Nombre del curso:PHP
Cantidad de inscriptos:3
Nombres: Martinez Luis - Rodriguez Pablo - Gonzalez Ana

Nombre del curso:JSP
Cantidad de inscriptos:2
Nombres: Hernandez Hector - Roca Marta
<?php
include("conexion.php");
conectarBD();
$total_DWEC=0;
$total_DIW=0;
$total_DWES=0;
$total_WEB=0;
$nombres_DWEC = "";
$nombres_DIW = "";
$nombres_DWES= "";
$nombres_WEB = "";
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
$consulta2 = "select * from alumnos";
$resultado2 = mysql_query($consulta2);
while($fila=mysql_fetch_array($resultado)){
echo "Nombre del curso: ".$fila['nombrecurso']."<br/>";
while($fila2=mysql_fetch_array($resultado2)){
switch ($fila2['curso']){
case 'DWEC':
$total_DWEC++;
$nombres_DWEC .= $fila2['nombre']." - ";
break;
case 'DIW':
$total_DIW++;
$nombres_DIW .= $fila2['nombre']." - ";
break;
case 'DWES':
$total_DWES++;
$nombres_DWES.= $fila2['nombre']." - ";
break;
case 'WEB':
$total_WEB++;
$nombres_WEB .= $fila2['nombre']." - ";
break;
}
}
echo "Total de alumnos: ";
switch ($fila['nombrecurso']){
case 'DWEC':
echo $total_DWEC."<br/>";
echo "Nombres: ".$nombres_javascript."<br/><br/>";
break;
case 'DIW':
echo $total_DIW."<br/>";
echo "Nombres: ".$nombres_android."<br/><br/>";
break;
case 'DWES':
echo $total_DWES."<br/>";
echo "Nombres: ".$nombres_DWES."<br/><br/>";
break;
case 'WEB':
echo $total_WEB."<br/>";
echo "Nombres: ".$nombres_WEB."<br/><br/>";
break;
}
}
?>

  • 11 Confeccionar un programa que muestre una página con todos los nombres de la tabla "cursos". Los nombres deben aparecer como hipervínculos a otra página que deberá mostrar todos los alumnos inscriptos a dicho curso. Como parámetro en el hipervínculo, pasar el código de curso.
<?php
include("conexion.php");
conectarBD();
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
while($fila=mysql_fetch_array($resultado)){
echo "<a href='otrapagina.php?curso=".$fila['nombrecurso']."'>".$fila['nombrecurso']."</a><br/>";
}
?>
<?php
include("conexion.php");
conectarBD();
$curso = $_GET['curso'];
$total_DWEC=0;
$total_DIW=0;
$total_DWES=0;
$total_WEB=0;
$consulta2 = "select * from alumnos";
$resultado2 = mysql_query($consulta2);
while($fila2=mysql_fetch_array($resultado2)){
switch ($fila2['curso']){
case 'DWEC':
$total_DWEC++;
break;
case 'DIW':
$total_DIW++;
break;
case 'DWES':
$total_DWES++;
break;
case 'WEB':
$total_WEB++;
break;
}
}
switch ($curso){
case 'DWEC':
echo "TOTAL DWEC: ".$total_DWEC;
break;
case 'DIW':
echo "TOTAL DIW: ".$total_DIW;
break;
case 'DWES':
echo "TOTAL DWES: ".$total_DWES;
break;
case 'WEB':
echo "TOTAL WEB: ".$total_WEB;
break;
}
?>
  • 12 Confeccionar un programa que muestre los registros de la tabla "cursos" con páginas de 3 registros.HTML
    <html>
    <head>
    <title>EJERCICIO 12B</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <h1> TABLA CURSOS PAGINAS 3 REGISTROS.</h1>

    <?php
    $conexion=mysql_connect("localhost","root","bbdd");
    mysql_select_db("base1",$conexion) ;
    $consulta=mysql_query("select codigo,nombrecurso from cursos
    limit $inicio,3", while ($reg=mysql_fetch_array($consulta))
    {
    echo "Codigo:".$reg['codigo']."<br>";
    echo "Nombre:".$reg['nombrecurso']."<br>";
    echo "<hr>";
    }
    mysql_close($conexion);
    </body>
    </html>



PHP
<?php
if (isset($_REQUEST['pos']))
  $inicio=$_REQUEST['pos'];
else
  $inicio=0;
?>
 
 
 
 


  • 13 Confeccionar un programa que permita hacer multiples upload con una página (por ejemplo que permita seleccionar hasta 3 archivos)
HTML
<html> 
 <head> 
<title>EJERCICIO 13B</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> SUBIDAS MULTIPLES UPLOAD.</h1>
<form action="upload.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<label>Archivo 1:</label><input type="file" name="userfile[]" /><br /><br />
<label>Archivo 2:</label><input type="file" name="userfile[]" /><br /><br />
 <label>Archivo 3:</label><input type="file" name="userfile[]" /><br /><br />
 <label>Archivo 4:</label><input type="file" name="userfile[]" /><br /><br />
 <input type="submit" value="Subir" />
 </form>
</body>
</html>
PHP 1: 
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{require_once("multiupload.php");
    $files = $_FILES['userfile']['name'];
    $upload = new Multiupload();
    $isUpload = $upload->upFiles($files);
}else{
    throw new Exception("Error Processing Request", 1);
}

PHP 2: 

<?php
class Multiupload
{
 public function upFiles($files = array())
{
$i = 0;
 if(!is_dir("files/")) 
mkdir("files/", 0777);
foreach($files as $file) 
 {
if($_FILES['userfile']['tmp_name'][$i])
 {
 $trozos[$i] = explode(".", $_FILES["userfile"]["name"][$i]);
  $extension[$i] = end($trozos[$i]);
 if($this->checkExtension($extension[$i]) === TRUE)
 {
 $_FILES['userfile']['name'][$i] = $this->checkExists($trozos[$i]);            
   if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],"files/".$_FILES['userfile']['name'][$i]))
 {
echo "subida correctamente";
} 
}else{
echo "la extension no esta permitida";
}
 }else{
  echo "sin imagen";
}
  echo "<br />";
$i++;  
 }  
}
  private function checkExtension($extension)
    {
$extensiones = array("jpg","png","gif","pdf");
 if(in_array(strtolower($extension), $extensiones))
 {
return TRUE;
}else{
 return FALSE;
}
    }
private function checkExists($file)
    {
$archivo = $file[0] . '.' . end($file);
 $i = 0;
while(file_exists('files/'.$archivo))
{ $i++;
 $archivo = $file[0]."(".$i.")".".".end($file);      
}
  return $archivo;
}
    14 Crear un formulario que solicite la carga del nombre de usuario. Cuando se presione un botón crear una cookie para dicho usuario. Luego cada vez que ingrese al formulario mostrar el último nombre de usuario ingresa
HTML
<html> 
 <head> 
<title>EJERCICIO 14B</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> FORMULARIO CON COOKIE..</h1>
session_start();
</head>
<body>
 <form action=".php" method="post" enctype="multipart/form-data"> 
Ingrese nombre de usuario:
<input type="text" name="usuario" 
value=<?php 
if(isset($_COOKIE['value'])){
   echo("value='value:$_COOKIE['value']'");
  }?>>
<input type="submit" name="Enviar">
</form>
</body>
</html>


PHP
<?php
 session_start();
 $usuario = $_POST['usuario']
 if($_POST['usuario'] == $usuario)
{
 setcookie("value", $usuario, time()+60,"/");
};
 header("location:formx.php");
?>
  • Principio del formulario
  • 15 Confeccionar una página que simule ser la de un periódico. La misma debe permitir configurar qué tipo de titular deseamos que aparezca al visitarla, pudiendo ser: Noticia política, Noticia económica o Noticia deportiva. Mediante tres objetos de tipo radio, permitir seleccionar qué titular debe mostrar el periódico. Almacenar en una cookie el tipo de titular que desea ver el cliente. La primera vez que visita el sitio deben aparecer los tres titulares. Disponer un hipervínculo a una tercer página que borre la cookie creada.
HTML
<html> 
 <head> 
<title>EJERCICIO 15B</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> PERIODICO CON COOKIE..</h1>
<?php
if (isset($_COOKIE['titular']))
echo ("<h1> '$_COOKIE[titular]'</h1>");
?>
<form method="post" action="cookiesperiodico.php">
</br>
</br>
<input type="radio" name="noticias" value="Noticias Politica">Noticias Política:
</br>
<input type="radio" name="noticias" value="Noticias Deportivas">Noticias Deportivas
</br>
<input type="radio" name="noticias" value="Noticias Economicas">Noticias Económicas
 </br>
</br>
</br>
<input type="submit" value="Galleta">
</form>
</body>
</html>
PHP 
<?php
 if($_POST['noticias'] == "Noticias Políticas")
  {
setcookie("titular", "Noticias Políticas", time()+60,"/");
 }
 else if($_POST['noticias'] == "Noticias Deportivas")
 {
setcookie("titular", "Noticias Deportivas", time()+60,"/");
}
 else if($_POST['noticias'] == "Noticias Economicas")
{
 setcookie("titular", "Noticias Economicas", time()+60,"/");
 }
 header("location:periodico.php");
?>

PHP
<?php
        setcookie("titular","", time()-60,"/");
        header("location:periodico.php");
  ?>
  • Principio del formulario
  • 16 Confeccionar un formulario que solicite ingresar el mail de un alumno. Si el mail existe en la tabla alumnos, rescatar su nombre y almacenarlo en una variable de sesión. Además disponer un hipervínculo a una tercera página que verifique si existe la variable de sesión y de la bienvenida al alumno, en caso contrario mostrar un mensaje indicando que no puede visitar esta página (para saber si una variable de sesión está definida llamamos a la función isset) if (isset($_SESSION['nombre'])) ....
    <html>
  • <head>
  • <title>EJERCICIO16B.</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  • </head>
  • <body>
  • <p>
  • Confeccionar un formulario que solicite ingresar el mail de un alumno. Si el mail existe en la tabla alumnos, rescatar su nombre y almacenarlo en una variable de sesión. Además disponer un hipervínculo a una tercera página que verifique si existe la variable de sesión y de la bienvenida al alumno, en caso contrario mostrar un mensaje indicando que no puede visitar esta página (para saber si una variable de sesión está definida llamamos a la función isset)
  • if (isset($_SESSION['nombre'])
  • </p>
  • <form action="z12.php" method="post">
  • Inserte el correo del alumno a consultar:
  • <input type="text" name="mail">
  • <br>
  • <input type="submit" value="buscar">
  • </form>
  • </body>
  • </html>
  • <?php
  • session_start();
  • $conexion=mysql_connect("localhost","root","bbdd") or
  • die("Problemas en la conexion");
    mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo, nombre, codigocurso from alumnos where email='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error()); if ($reg=mysql_fetch_array($registros)) { $_SESSION['usuario']=$reg['nombre']; } ?> <html> <head> <title>EJERCICIO16 B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <a href="z13.php">Entrar a la página principal</a>; </div> </body> </html> <?php session_start(); $conexion=mysql_connect("localhost","root","bbdd") or die("Problemas en la conexion"); mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo, nombre, codigocurso from alumnos where email='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error()); if ($reg=mysql_fetch_array($registros)) { $_SESSION['usuario']=$reg['nombre']; } ?> <html> <head> <title>EJERCICIO16b.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central">
<a href="z13.php">Entrar a la página principal</a>; </div> </body> </html>
  • Principio del formulario
    17 Confeccionar una librería que contenga una función llamada retornarConexion, la misma debe llamar a las funciones mysql_connect y mysql_select_db y retornar la variable que generó la función mysql_connect. Tener en cuenta que a esta función la deben implementar en el archivo "pagina2.php". En el archivo "pagina1.php" incluir la librería que contiene la función retornarConexion. Luego imprimir todos los registros de la tabla alumnos.
<html> <head> <title>EJERCICIO 17B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body>
<p> Confeccionar una librería que contenga una función llamada retornarConexion, la misma debe llamar a las funciones mysql_connect y mysql_select_db y retornar la variable que generó la función mysql_connect. Tener en cuenta que a esta función la deben implementar en el archivo "pagina2.php". En el archivo "pagina1.php" incluir la librería que contiene la función retornarConexion. Luego imprimir todos los registros de la tabla alumnos. </p> <?php require_once("z22.php"); $conexion=retornarConexion(); $registros=mysql_query("select alu.codigo as codigo,nombre,email,codigocurso, nombrec from alumnos as alu inner join cursos as cur on cur.codigo=alu.codigocurso", $conexion) or die("Problemas en el select:".mysql_error()); while ($reg=mysql_fetch_array($registros)) { echo "Codigo:".$reg['codigo']."<br>"; echo "Nombre:".$reg['nombre']."<br>"; echo "Mail:".$reg['email']."<br>"; echo "Curso:".$reg['nombrec']."<br>"; echo "<hr>"; } mysql_close($conexion); ?> </body> </html> <?php
function retornarConexion()
{ $conexion=mysql_connect("localhost","root","bbdd") or die("Problemas en la conexion"); mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); return $conexion; } ?>
  • Principio del formulario
  • 18 Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente. Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php");
    • ?>
    • Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php?error=1");
    • ?>
    • Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
    • <?php
    • if (isset($_REQUEST['error']))
    • echo "Ingreso clave incorrecta";
    • ?>
<html> <head> <title>EJERCICIO 18B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <pre> Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente.
Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php"); ?>
Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php?error=1"); ?> Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
< ?php if (isset($_REQUEST['error'])) echo "Ingreso clave incorrecta"; ?> </pre> <?php { if (isset($_REQUEST['error'])) echo "Ingresó clave incorrecta<br>"; } ?> <form method="post" action="z32.php"> Ingrese la clave: <input type="password" name="clave"> <br> <input type="submit" value="confirmar"> </form> </body> </html>
<?php if ($_REQUEST['clave']!="z80") { header("Location: z3.php?error=1"); echo } ?> <html> <head> <title>EJERCICIO 18B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <h2>Bienvenido</h2> </div> </body> </html>
    • Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php?error=1");
    • ?>
    • Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
    • <?php
    • if (isset($_REQUEST['error']))
    • echo "Ingreso clave incorrecta";
    • ?>
<html> <head> <title>EJERCICIO 18B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <pre> Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente.
Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php"); ?>
Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php?error=1"); ?> Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
< ?php if (isset($_REQUEST['error'])) echo "Ingreso clave incorrecta"; ?> </pre> <?php { if (isset($_REQUEST['error'])) echo "Ingresó clave incorrecta<br>"; } ?> <form method="post" action="z32.php"> Ingrese la clave: <input type="password" name="clave"> <br> <input type="submit" value="confirmar"> </form> </body> </html>
<?php if ($_REQUEST['clave']!="z80") { header("Location: z3.php?error=1"); echo } ?> <html> <head> <title>EJERCICIO 18B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <h2>Bienvenido</h2> </div> </body> </html>