{"id":3207,"date":"2013-12-09T09:00:36","date_gmt":"2013-12-09T08:00:36","guid":{"rendered":"https:\/\/blogs.ua.es\/pi\/?p=3207"},"modified":"2013-12-04T11:31:19","modified_gmt":"2013-12-04T10:31:19","slug":"se-puede-decir-sabe-programar","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/pi\/2013\/12\/09\/se-puede-decir-sabe-programar\/","title":{"rendered":"\u00bfSe puede decir que quien escribe esto sabe programar?"},"content":{"rendered":"<p>Hace tiempo escrib\u00ed la entrada <a href=\"https:\/\/blogs.ua.es\/pi\/2013\/10\/28\/no-esta-mal-funciona\/\">No est\u00e1 mal, funciona<\/a>, en la que mostraba la actitud de algunos alumnos a los que s\u00f3lo les importa que su c\u00f3digo funcione, no se molestan en pensar si el c\u00f3digo est\u00e1 realmente bien o mal.<\/p>\n<p>Para que lo entienda todo el mundo, es algo parecido a <strong>&#8220;excrivir un testo con faltas de hortografia&#8221;<\/strong>. Se entiende, \u00bfverdad? Pues est\u00e1 bien, dir\u00eda alguno de mis alumnos.<\/p>\n<p>Recientemente, mis alumnos (tercer curso) ten\u00edan que escribir un c\u00f3digo en PHP para permitir el acceso de un usuario a la parte privada de una aplicaci\u00f3n web: el t\u00edpico <em>login<\/em> con nombre de usuario y contrase\u00f1a. M\u00e1s de un alumno (\u00bfun 20%?) escribi\u00f3 lo siguiente o algo parecido:<\/p>\n<pre>$sentencia = \"SELECT * FROM Usuarios\";\r\n$resultado = mysqli_query($link, $sentencia);\r\nwhile($fila = mysqli_fetch_assoc($resultado)) {\r\n \/\/ $_POST[\"user\"] y $_POST[\"password\"] provienen del formulario de login\r\n if($fila[\"User\"] == $_POST[\"user\"] &amp;&amp; $fila[\"Password\"] == $_POST[\"password\"]) {\r\n   $_SESSION[\"Id\"] = $fila[\"Id\"];\r\n   $_SESSION[\"Name\"] = $fila[\"Name\"];\r\n }\r\n}\r\nif(!empty($_SESSION[\"Id\"])) {\r\n \/\/ Redirecci\u00f3n p\u00e1gina principal parte privada\r\n}\r\nelse {\r\n \/\/ Redirecci\u00f3n p\u00e1gina principal parte p\u00fablica\r\n}<\/pre>\n<p>No nos fijemos en que no hay ninguna comprobaci\u00f3n de los posibles errores que pueden ocurrir&#8230; eso es muy importante, pero no es lo que quiero destacar. <strong>\u00bfCu\u00e1l es el problema principal de este c\u00f3digo?<\/strong><\/p>\n<p>Para un ojo educado en la programaci\u00f3n, el c\u00f3digo anterior es como <strong>&#8220;ber uvo escrito sin ache y con ube&#8221;<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace tiempo escrib\u00ed la entrada No est\u00e1 mal, funciona, en la que mostraba la actitud de algunos alumnos a los que s\u00f3lo les importa que su c\u00f3digo funcione, no se molestan en pensar si el c\u00f3digo est\u00e1 realmente bien o &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/blogs.ua.es\/pi\/2013\/12\/09\/se-puede-decir-sabe-programar\/\"> <span class=\"screen-reader-text\">\u00bfSe puede decir que quien escribe esto sabe programar?<\/span> Leer M\u00e1s  &raquo;<\/a><\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6231,841,2272],"class_list":["post-3207","post","type-post","status-publish","format-standard","hentry","category-general","tag-error","tag-php","tag-reflexion"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/comments?post=3207"}],"version-history":[{"count":5,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3207\/revisions"}],"predecessor-version":[{"id":3212,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3207\/revisions\/3212"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/media?parent=3207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/categories?post=3207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/tags?post=3207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}