Advertisement
Guest User

Untitled

a guest
Jul 19th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4. * Exercício 3 - Slides PDO
  5. * Este exercício realiza a operação de cadastro de alunos utilizando PREPARE e BINDPARAM:
  6. * @nome, @curso_id
  7. * Os cursos precisam ser mostrados por meio de um select
  8. */
  9.  
  10. $consulta = "SELECT * FROM curso";
  11. $sql_alunos = "SELECT * FROM aluno";
  12.  
  13. try {
  14. $user = 'root';
  15. $password = '';
  16. $conexao = new PDO('mysql:host=localhost;dbname=estudar_php', $user, $password);
  17.  
  18. } catch (PDOException $e) {
  19. echo $e->getMessage();
  20. die();
  21. }
  22.  
  23. /*
  24. * Checamos se foi feito um POST
  25. * ~> checamos se o nome do aluno foi informado (o nome precisa ter ao menos 1 caracter)
  26. * ~> checamos se o curso foi informado
  27. * Executamos um INSERT na tabela aluno com os parâmetros passado via formulário
  28. * Se o resultado for 1 (resultado do exec) mostramos a mensagem de sucesso.
  29. */
  30.  
  31. if ($_POST) {
  32. if (!isset($_POST['nome_aluno']) || strlen($_POST['nome_aluno']) == 0) {
  33. echo 'Por favor informe o nome do aluno';
  34. } elseif (!isset($_POST['curso'])) {
  35. echo 'Por favor informe um curso';
  36. } else {
  37.  
  38. /*
  39. * Utilizamos o prepare statement para criar um SQL seguro
  40. * Os valores são passados posteriormente utilizando o bindParam
  41. */
  42.  
  43. $insert = $conexao->prepare("INSERT INTO aluno(nome, curso_id) VALUES (:param_1, :param_2)");
  44. $insert->bindParam(":param_1", $_POST['nome_aluno'], PDO::PARAM_STR);
  45. $insert->bindParam(":param_2", $_POST['curso'], PDO::PARAM_INT);
  46.  
  47. if ($insert->execute()) {
  48. echo "O aluno foi cadastrado com sucesso..";
  49. }
  50.  
  51. }
  52. }
  53. ?>
  54. <html>
  55. <head>
  56. <style>
  57. form {
  58. width: 40%;
  59. display: inline-block;
  60. }
  61. .list {
  62. display: 50%;
  63. display: inline-block;
  64. }
  65. </style>
  66. </head>
  67.  
  68. <body>
  69.  
  70. <div>
  71. <!-- Formulário -->
  72. <form method="POST">
  73.  
  74. <fieldset>
  75. <input type="text" name="nome_aluno" placeholder="Nome do aluno">
  76. </fieldset>
  77.  
  78. <fieldset>
  79. <label for="curso">Curso</label>
  80. <select name="curso" id="curso">
  81. <option>Selecione um curso</option>
  82. <?php foreach($conexao->query($consulta) as $curso): ?>
  83. <option value="<?php echo $curso['cursoid'];?>" >
  84. <?php echo $curso['nomecurso']; ?>
  85. </option>
  86. <?php endforeach; ?>
  87. </select>
  88. </fieldset>
  89.  
  90. <fieldset>
  91. <button>Matricular</button>
  92. </fieldset>
  93.  
  94. </form>
  95.  
  96. <!-- Listagem de alunos -->
  97. <ul class="list">
  98. <?php foreach($conexao->query($sql_alunos) as $aluno): ?>
  99. <li>
  100. <?php echo $aluno['nome'], ' curso: ', $aluno['curso_id']; ?>
  101. </li>
  102. <?php endforeach; ?>
  103. </ul>
  104. </div>
  105. </body>
  106. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement