|
91
|
Programación / PHP / [Resuelto] Que me recomiendan PHP puro o CakePHP
|
en: 9 Enero 2017, 16:21 pm
|
Hola a todos. Llevo casi un mes aprendiendo PHP y he pasado por aqui ya un par de veces buscando ayuda. Ayer domingo un vecino que tambien desarrolla (pero applets en java) me dijo que buscara cakePHP y que dejara de ser cavernícola. Hoy busqué a ver cómo descargar cakePHP en la wen oficial y dicen que viene por default en Wamp que es lo que yo uso, aunque hay que hacer algunas modificaciones. Mi pregunta es: ¿Me recomiendan evolucionar de larva a mosquito o seguir siendo troglodita? En caso de que la respuesta sea avanzar al framework si pudieran explicarme cual es el sentido y que ventajas tiene, así como sus desventajas y esas cosas Gracias
|
|
|
92
|
Programación / PHP / Re: Login solo en PHP
|
en: 4 Enero 2017, 19:17 pm
|
Gracias por la ayuda, no habia visto ese enlace. Ya estoy estudiando. Si tengo otras dudas vuelvo. Es bueno saber que hay personas que responden en tiempo y que están dispuestas a ayudar.
|
|
|
93
|
Programación / PHP / Re: Login solo en PHP
|
en: 4 Enero 2017, 19:01 pm
|
Gracias por su pronta respuesta. Realmente el echo es infuncional, solo que copie el código de una salva anterior porque el original está en casa. echo ("error");
Ya estoy viendo la documentacion que me dieron sobre el hash y salt y la cifrado en un solo sentido, así como el password verify y password hash. Para la comunicación con la BD no hay forma de encriptarla? que no se vea la contraseña en el código fuente? y esto no lo entiendo, lo podrían explicar?
Gracias por adelantado
|
|
|
94
|
Programación / PHP / [Resuelto]Login solo en PHP
|
en: 4 Enero 2017, 17:59 pm
|
Hola a todos nuevamente. Me gustaría traerles un pequeño login que hice en PHP sin JQuery ni nada de eso. Solo PHP y HTML. Quisiera que me digan qué les parece el código y si hay formas de que usando solo PHP, no salga en el código fuente de la página la contraseña o que me digan cómo darle más seguridad al formulario y esas cosas. Sin dilatarnos más, veamos los 2 archivos: Login.php <?php if (isset($_SESSION['userid'])) { } else { ?> <html> <head> <title>Login de Usuario</title> </head> <link rel="stylesheet" href="css/login.css" type="text/css" /> <body> <br /><br /><br /> <center> <h2>Ingrese sus datos para acceder al sistema</h2> <form action="logon.php" method="post" name="form"> <table border='0' bgcolor=""> <tr> <td><b> <p align="right">Usuario</p></b></td> <td align="center"><input type="text" name="user"></td> </tr> <tr> <td><b> <p align="right">Contraseña</p> </b></td> <td align="center"><input type="password" name="pass"></td> </tr> <tr align="center"> <td> </td> <td> <input type="submit" value="enviar"><input type="reset" value="limpiar" name="limpiar"> </td> </tr> <?php if (isset($_SESSION['error'])) { $mensaje=$_SESSION['error']; echo("<tr align='right'><td colspan='2'>$mensaje</td></tr>"); } ?> </table> </form> </center> <center><b><a href='guest.php'>Entrar como invitado</a></b></center> <?php } ?> </body> </html>
La idea es que si ya tienes un login realizado no te deje acceder a esa página, sino que te redireccione al index.php. Ahora el logon.php que es quien gestiona los usuarios con la BD <?php //recuperacion de variables session_start(); $usuario=$_REQUEST['user']; $password=$_REQUEST['pass']; $mensaje="Usuario o Contraseña incorrectos"; //base de datos $conexion=mysqli_connect ("localhost", "usuario", "contraseña") or die (mysqli_error ($conexion)); $bd="trabajo"; $tabla="usuarios"; mysqli_select_db ($conexion, $bd)or die (mysqli_error ($conexion)); //$cifrar=base64_encode($password); //seleccion del usuario $registro=mysqli_query ($conexion, "select * from $tabla where (usuario='$usuario')") or die ("Usuario desconocido"); { if ($reg=mysqli_fetch_array($registro)) { if ($password==$reg['password']) { $_SESSION['userid']=$_REQUEST['user']; $_SESSION[nivel]= $reg[nivel]; mysqli_close($conexion); header("location:index.php"); } else { $_SESSION['error']=$mensaje; echo ("error"); mysqli_close($conexion); header("location:login.php"); } } else { $_SESSION['error']=$mensaje; echo ("error"); mysqli_close($conexion); header("location:login.php"); } } ?>
Y así estamos listos. Yo recupero el nivel porque así puedo establecer permisos a los usuarios dependiendo de su nivel. Y en el login solo necesitamos recuperar las variables de sesion así session_start(); if (isset($_SESSION['userid'])) { ?> Aqui ponemos todo el index.php si el usuario se logueó bien. Si no abrimos php de nuevo escribimos <?php } else { } ?> </body> </html>
|
|
|
95
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 4 Enero 2017, 16:54 pm
|
Antes que todo Felicidades por año nuevo. Gracias a engel lex por brindarme su ayuda cuando podría estar preparando las cosas de fin de año. Al final me senté en mi casa con calma esa noche y lo hice. Lo que tenia mal era que me faltaba un ) en la sentencia. Lo puse y listo. Así que pueden cerrar el tema. Nos vemos en la próxima entrada. Que PHP es interesante y las ayudas son validas
|
|
|
96
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 23:48 pm
|
ya pase los 2 datos que son de tipo text con comillas usando \"$reg[trabajador]\", \"$reg[departamento]\"
pero sigue dando el mismo error. Algo más para probar? Ya intenté poner las "" dentro de los [] con el \ y nada. Tambien probé usando dentro del [] \' pero tampoco
|
|
|
97
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 23:32 pm
|
Un paso de avance. Cuando dijiste hace un rato que era problemas de comillas lo que hice fue que quite las ' ' de la expresion $reg[variable]: mysqli_query($conexion, "insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '$reg[id]', '$reg[orden]', \"$reg[trabajador]\", $reg[departamento], $reg[fechainicio], $reg[fechafinal], $fechaeliminado") or die ("Problemas al anadir elementos a la BD '$tabla2'<br>".mysqli_error($conexion));
como ves está sin terminar, pues el error lo da en el trabajador. Cuando llegue a la casa voy a probar creando las tablas de nuevo y separando el nombre de los apellidos en campos diferentes. Pues parece que ahi está el error, pero no puedo lograr que funcione así. A pesar que en la tabla anterior si guardé los datos con espacios en la BD.
|
|
|
98
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 22:27 pm
|
Ya lo hice y cuando le di "Crear Código PHP" sale esto $sql = "INSERT INTO `trabajo`.`eliminados` (`id`, `orden`, `trabajador`, `departamento`, `fechainicio`, `fechafinal`, `fechaeliminado`) VALUES (\'1\', \'123\', \'Danny Paula\', \'produccion\', \'2016-12-25\', \'2016-12-27\', \'2016-12-28\');";
Lo pongo así mismo aunque creo que hay algún error en las comillas del phpMyAdmin. Igual veo que el phpMyAdmin pone $sql = "insert into (BD).(TABLA)"
pero yo tengo el código dividido por secciones. O sea, yo tengo creo la conexion, selecciono la BD y despues hago la consulta...
|
|
|
99
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 22:16 pm
|
# Nombre Tipo Cotejamiento Atributos Nulo Predeterminado Extra Accion 1 id INT(11) No Ninguna Cambiar Cambiar Eliminar Eliminar
Así se ve mi campo "id" en el phpMyAdmyn. Y con respecto a lo de las comillas... Mis más sinceras y frustradas disculpas. Si hago esto: echo ("insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '$reg[id]', '$reg[orden]', '$reg[trabajador]', '$reg[departamento]', '$reg[fechainicio]', '$reg[fechafinal]', '$fechaeliminado')<br>");
respetando los () en cada caso, obtengo el siguiente resultado insert into eliminados (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '1', '123', 'Danny Paula', 'produccion', '2016-12-25', '2016-12-27', '2016-12-28') Problemas al anadir elementos a la BD 'eliminados' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1que es el mismo de la vez anterior
|
|
|
100
|
Programación / PHP / Re: [Ayuda] Consulta mysqli_query no funciona
|
en: 28 Diciembre 2016, 22:01 pm
|
Dices algo asi: echo ("insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '$reg[id]', '$reg[orden]', '$reg[trabajador]', '$reg[departamento]', '$reg[fechainicio]', '$reg[fechafinal]', '$fechaeliminado'<br>");
Pues esto es lo que se obtiene: insert into eliminados (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '1', '123', 'Danny Paula', 'produccion', '2016-12-25', '2016-12-27', '2016-12-28' Problemas al anadir elementos a la BD 'eliminados' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1Ves algo que esté mal o algo así??
|
|
|
|
|
|
|