]> git.llucax.com Git - z.facultad/75.43/practicas.git/commitdiff
Se agrega práctica 2 (HTML+PHP+Javascript).
authorLeandro Lucarella <llucax@gmail.com>
Tue, 26 Apr 2005 05:33:06 +0000 (05:33 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 26 Apr 2005 05:33:06 +0000 (05:33 +0000)
practica2.php [new file with mode: 0644]
practica2.png [new file with mode: 0644]

diff --git a/practica2.php b/practica2.php
new file mode 100644 (file)
index 0000000..28e6e8a
--- /dev/null
@@ -0,0 +1,209 @@
+<?php
+// vim: set filetype=php et sw=2 sts=2 :
+
+// Usamos locales de la PC para que salga la fecha en el locale del usuario.
+setlocale(LC_ALL, '');
+
+function escapar($s)
+{
+  return strtr($s, ' ', '+');
+}
+
+function deescapar($s)
+{
+  return strtr($s, '+', ' ');
+}
+
+$grabado = false;
+
+if (@$_POST['submit']) // Se envió el formulario, lo proceso
+{
+  if (($f = fopen('usuarios.txt', 'a')) === false) die('Error abriendo arch.');
+  fwrite($f, escapar($_POST['nombre']).'|'.escapar($_POST['apellido'])."\n");
+  fclose($f);
+  $grabado = true;
+}
+
+function get_usuarios()
+{
+  if (($f = fopen('usuarios.txt', 'r')) === false) die('Error abriendo arch.');
+  $usuarios = array();
+  while (!feof($f))
+  {
+    if (!preg_match('/(.*)|(.*)\n/g', fgets($linea), $matches))
+      die ('Formato de archivo incorrecto!');
+    $usuarios[] = array(
+      'nombre'   => desescapar($matches[1]),
+      'apellido' => desescapar($matches[2]));
+  }
+  fclose($f);
+  return $usuarios;
+}
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html lang="es">
+<head>
+  <title>Ejercicio 1</title>
+  <script type="text/javascript" language="JavaScript">
+  <!--
+  function vacio(f)
+  {
+    if (!f.value.replace(/\s/g, '').length) return true;
+    return false;
+  }
+  function validar(f)
+  {
+    if (vacio(f.nombre))
+    {
+      alert('Falta ingresar el nombre!');
+      f.nombre.focus();
+      return false;
+    }
+    if (vacio(f.apellido))
+    {
+      alert('Falta ingresar el apellido!');
+      f.apellido.focus();
+      return false;
+    }
+    return true;
+  }
+  -->
+  </script>
+</head>
+
+<body>
+  <table summary="Estructura principal">
+    <tr>
+      <td colspan="2" align="center">
+        <img src="practica2.png" alt="Logo" />
+      </td>
+      <td width="20%" align="left">
+        <p><strong>Ejercicio 2</strong></p>
+        <p>
+        Buenos Aires,
+        <script type="text/javascript" language="JavaScript">
+        <!--
+        var dia = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles',
+                            'Jueves', 'Viernes', 'Sábado');
+        var mes = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
+                            'Junio', 'Julio', 'Agosto', 'Septiembre',
+                            'Octubre', 'Noviembre', 'Diciembre');
+        var hoy = new Date();
+        document.write(dia[hoy.getDay()] + ' ' + hoy.getDate() + ' de '
+            + mes[hoy.getMonth()] + ' de ' + hoy.getFullYear());
+        -->
+      </script>
+      </p>
+      <p><strong>Ejercicio 4 y 5</strong></p>
+      <p>
+        Buenos Aires, <?php echo strftime('%A %d de %B de %Y') ?>
+        (la diferencia es que se ejecuta en el servidor, no en el cliente)
+      </p>
+      </td>
+    </tr>
+    <tr>
+      <td width="34%" valign="top">
+        <p style="font-weight: bold">Links:</p>
+        <ul>
+          <li><a href="http://www.google.com/">Google 1</a></li>
+          <li><a href="http://www.google.com/">Google 2</a></li>
+          <li><a href="http://www.google.com/">Google 3</a></li>
+          <li><a href="http://www.google.com/">Google 4</a></li>
+          <li><a href="http://www.google.com/">Google 5</a></li>
+          <li><a href="http://www.google.com/">Google 6</a></li>
+          <li><a href="http://www.google.com/">Google 7</a></li>
+          <li><a href="http://www.google.com/">Google 8</a></li>
+          <li><a href="http://www.google.com/">Google 9</a></li>
+          <li><a href="http://www.google.com/">Google 10</a></li>
+          <li><a href="http://www.google.com/">Google 11</a></li>
+          <li><a href="http://www.google.com/">Google 12</a></li>
+          <li><a href="http://www.google.com/">Google 13</a></li>
+          <li><a href="http://www.google.com/">Google 14</a></li>
+          <li><a href="http://www.google.com/">Google 15</a></li>
+        </ul>
+      </td>
+      <td width="33%" valign="top">
+        <h1>Ejercicio 3</h1>
+        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" name="formulario"
+            onSubmit="return validar(this);" method="post">
+          <p>
+          <input type="text" name="nombre" /><br />
+          <input type="text" name="apellido" /><br />
+          <input type="submit" name="submit" value="Enviar" /><br />
+          <?php if ($grabado) echo '(usuario grabado)' ?>
+          </p>
+        </form>
+        <h2>Ejercicio 6</h2>
+        <p>
+          <a href="<?php echo $_SERVER['PHP_SELF'] ?>?listar=1">Listar
+            usuarios</a>
+          <?php
+          if (@$_GET['listar']) {
+            $usuarios = get_usuarios();
+            if ($usuarios)
+            {
+              echo "<ul>\n";
+              foreach ($usuarios as $u)
+                echo "<li>{$u['nombre']} {$u['apellido']}</li>\n";
+              echo "</ul>\n";
+            }
+            else echo 'No hay usuarios cargados';
+          }
+          ?>
+        </p>
+        <h3>Subtítulo 1.1.1</h3>
+        <p>
+          Fracasó esta tarde una nueva reunión entre los directivos del
+          hospital de niños y los sindicalistas. La discusión para definir cómo
+          incorporar la suba al sueldo seguirá mañana en dependencias del
+          Ministerio de Trabajo.
+        </p>
+        <h3>Subtítulo 1.1.2</h3>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+        <h2>Subtítulo 1.2</h2>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+        <h2>Título 2</h2>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+      </td>
+      <td width="33%" valign="top">
+        <h1>Título 3</h1>
+        <p>
+          Fracasó esta tarde una nueva reunión entre los directivos del
+          hospital de niños y los sindicalistas. La discusión para definir cómo
+          incorporar la suba al sueldo seguirá mañana en dependencias del
+          Ministerio de Trabajo.
+        </p>
+        <h2>Título 4</h2>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+        <h2>Subtítulo 4.1</h2>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+        <h2>Subtítulo 4.2</h2>
+        <p>
+          Ratifican paros en otros 3 hospitales porteños pero los directores
+          desconocen la medida.
+        </p>
+      </td>
+    </tr>
+  </table>
+  <address>
+    Leandro Lucarella - Copyleft 2005 - mar abr 26 00:35:53 ART 2005
+  </address>
+</body>
+</html>
diff --git a/practica2.png b/practica2.png
new file mode 100644 (file)
index 0000000..ac5b077
Binary files /dev/null and b/practica2.png differ