Diferencia entre revisiones de «Usuario:ManuelRomero/PHP/Examen segunda»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «===Ejercicio de xajax=== *Este ejercicio simplemente tiene que añadir el usuario en una lista y escribir el nombre y fecha del último usuario insertado *Muchos/as os hab...»)
 
Línea 81: Línea 81:
 
</source>
 
</source>
  
 +
}}
 +
===Ejercicio de base de datos===
 +
*Es importante leer el enunciado, hay personas que parece que no lo han leído pues no han seguido las especificaciones
 +
*La parte de base de datos se repite continuamente. En este caso he creado un fichero de funciones para las acciones con bases de datos
 +
*Siguiendo las especificaciones  se implementan los sigueintes ficheros
 +
{{Plegable|hide|index.php|
 +
<source lang=php>
 +
<!DOCTYPE html>
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
    </head>
 +
    <body>
 +
        <form action="." method="POST">
 +
            <input type="submit" value="Registrarse" name="submit">
 +
            <input type="submit" value="Acceder" name="submit">
 +
        </form>
 +
        <?php
 +
        if (isset($_POST['submit'])) {
 +
          $pagina = $_POST['submit'];
 +
          header("Location:$pagina.php");
 +
        }
 +
        ?>
 +
    </body>
 +
</html>
 +
</source>
 +
}}
 +
{{Plegable|hide|Registrarse.php|
 +
<source lang=php>
 +
<?php
 +
if (isset($_POST['resgistrarse'])) {
 +
  require_once ("funciones.php");
 +
 +
    $nombre = $_POST['nombre'];
 +
 +
 +
  //Previamente a crear el usuario verificamos que no exista
 +
  //Si es así procedemos a insertarlo
 +
  if (existe( $nombre))
 +
    echo "El usuario $nombre ya existe, elije otro nombre";
 +
  else {
 +
    $sentencia = "insert into usuario values (?,?,?)";
 +
    //Ejecutamos insertar
 +
    //Este método nos devolverá la password generada o null si no se ha insertado
 +
    //Actuamos en consecuencia redirigiendo según especificaciones
 +
    $pass = insertar( $nombre, $sentencia);
 +
    if ($pass != null) {
 +
      echo "<h2>Se ha creado el usuario con password $pass </h2>";
 +
      header("refresh:5;url=index.php ");
 +
    } else {
 +
      echo "<h2>No se ha podido insertar el usuario $nombre </h2>";
 +
      header("refresh:5;url=index.php ");
 +
    }
 +
  }
 +
}
 +
?>
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
    </head>
 +
    <body>
 +
        <form action="Registrarse.php" method="POST">
 +
            Nombre
 +
 +
            <input type="text"  name="nombre">
 +
            <input type="submit" value="Registrarse" name="resgistrarse">
 +
        </form>
 +
    </body>
 +
</html>
 +
</source>
 +
}}
 +
{{Plegable|hide|cambioPass.php|
 +
<source lang=php>
 +
<?php
 +
if (isset($_POST['cambiar'])) {
 +
  require_once ("funciones.php");
 +
 +
//Necesito el nombre para poder verificar si son datos correctos
 +
  $nombre = $_POST['nombre'];
 +
  $pass = $_POST['pass'];
 +
  $pass2 = $_POST['pass2'];
 +
 +
  //Las pass han de coincidir
 +
  if ($pass == $pass2) {
 +
    $con = conectarse();
 +
   
 +
    //Tengo en cuneta si actualizo o no e informo de ello
 +
    $ok = actualizar($nombre, $pass);
 +
    if ($ok == true) {
 +
      header("Location:accedido.php?nom=$nombre");
 +
    } else {
 +
      echo "<h1> No se ha podido actualizar la password</h1>";
 +
    }
 +
  } else {
 +
    echo "<h1> Las password no coinciden, han de coincidir</h1>";
 +
  }
 +
}
 +
?>
 +
 +
 +
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
    </head>
 +
    <body>
 +
        <form action="cambioPass.php" method="POST">
 +
            Nueva Passowrd
 +
            <input type="text"  name="pass">
 +
            Confirmar Nueva Password
 +
            <input type="text"  name="pass2">
 +
            <input type="hidden"  name="nombre" value = "<?php echo $_GET['nom'] ?>" />
 +
 +
            <input type="submit" value="Acutalizar Password" name="cambiar">
 +
 +
        </form>
 +
    </body>
 +
</html>
 +
 +
</source>
 +
}}
 +
{{Plegable|hide|Acceder.php|
 +
<source lang=php>
 +
<?php
 +
if (isset($_POST['acceder'])) {
 +
  require_once ("funciones.php");
 +
 +
  //Conecto a la BD y leo el nombre
 +
  $con = conectarse();
 +
  $nombre = $_POST['nombre'];
 +
  $pass = $_POST['pass'];
 +
 +
 +
 +
  //Previamente a crear el usuario verificamos que no exista
 +
  //Si es así procedemos a insertarlo
 +
  $control = verifica( $nombre, $pass);
 +
 +
  switch ($control) {
 +
    case 0: //Usuario correcto, primer acceso => Cambiar password
 +
      echo "<h2>Por ser el primer acceso vas a cambiar el password</h2>";
 +
      header("refresh:3;url=cambioPass.php?nom=$nombre");
 +
      exit();
 +
 +
      break;
 +
    case 1: //Usuario correcto, segudos accesos => Ya cambió la password
 +
      header("Location:accedido.php?nom=$nombre");
 +
      exit();
 +
      break;
 +
    case -1:
 +
      echo "<h1>Usuario / Password no son correctos</h1>";
 +
      break;
 +
  }
 +
}
 +
?>
 +
<html>
 +
    <head>
 +
        <meta charset="UTF-8">
 +
        <title></title>
 +
    </head>
 +
    <body>
 +
        <form action="Acceder.php" method="POST">
 +
            Nombre
 +
            <input type="text"  name="nombre">
 +
            Password
 +
            <input type="text"  name="pass">
 +
 +
            <input type="submit" value="Acceder" name="acceder">
 +
 +
        </form>
 +
    </body>
 +
</html>
 +
 +
</source>
 
}}
 
}}

Revisión de 21:48 25 may 2017

Ejercicio de xajax

  • Este ejercicio simplemente tiene que añadir el usuario en una lista y escribir el nombre y fecha del último usuario insertado
  • Muchos/as os habéis liado con sesiones y otro tema para la lista. No me lo había imaginado esto, no hace falta en absoluto, aunque así también se puede conseguir
  • Os adjunto el código que como veis es bastante sencillo

Ejercicio de base de datos

  • Es importante leer el enunciado, hay personas que parece que no lo han leído pues no han seguido las especificaciones
  • La parte de base de datos se repite continuamente. En este caso he creado un fichero de funciones para las acciones con bases de datos
  • Siguiendo las especificaciones se implementan los sigueintes ficheros