|
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver " - Aristóteles - ![]() |
Computerfacil.com |
Chat
Fotos
Últimos Posts
Ayuda
Búsqueda
Miembros
Calendario
|
| Bienvenido, invitado ( Identificarse | Registrarse ) | Reenviar mensaje de validación |
|
|
Forista del Mes: Kobas |
![]() ![]() ![]() |
| Nerione_7 |
Publicado: May 29 2008, 03:23 AM
|
|
Nanobit ![]() Grupo: Miembros Mensajes: 1 Miembro nº: 41.178 Registrado: 29-May 08 |
Hola, bueno en esto de los foros soy nuevo, espero que funcion.
Mi problema es que al ingresar el siguiente codigo en php, las variables que se supone contendran los datos ingresados en un formulario de validacion de usuarios (en este caso '$usuario' y '$contrasena') no guardan nada a la hr. de correr el programa, a pesar de que los datos los mando de manera correcta(com en la base de datos) y por lo tanto siempre me manda a la parte del else. Hice una prueba, imprimi el valor que guarda la variable $rs y me lo manda como una cadena de texto... "SELECT * FROM teachers WHERE usuario = and contrasena = ". Me pueden ayudar a que no lo guarde como una cadena de texto si no que sea una consulta. <?php //conecto con la base de datos $conn = mysql_connect("localhost","root"); //selecciono la BBDD mysql_select_db("elementaryschool",$conn) OR die ("No hay conexion con base de datos"); //Sentencia SQL para buscar un usuario con esos datos //Ejecuto la sentencia $rs = mysql_query("SELECT * FROM teachers WHERE usuario = '$usuario' and contrasena = '$contrasena'",$conn); //vemos si el usuario y contraseña es váildo //si la ejecución de la sentencia SQL nos da algún resultado //es que si que existe esa conbinación usuario/contraseña if (mysql_num_rows($rs)!=0){ //usuario y contraseña válidos //defino una sesion y guardo datos //session_start(); //session_register("autentificado"); //$autentificado = "SI"; echo "Congratulations you are in this page. OK "; header ("Location: Aprobado.php"); } else { header('Location: Aprobado.php'); exit; //si no existe le mando otra vez a la portada echo "No puedes tener acceso a esta pagina!!!!"; } mysql_free_result($rs); mysql_close($conn); ?> Otra cosa la funcion header a la hr de correrlo me manda un error: Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\elementaryschool\control.php:8) in C:\wamp\www\elementaryschool\control.php on line 29 |
| josemaria.at |
Publicado: Jun 7 2008, 11:24 PM
|
|
Nanobit ![]() Grupo: Miembros Mensajes: 16 Miembro nº: 41.543 Registrado: 6-June 08 |
Hola, no has especificado que versión de PHP estas usando, pero creo que el problema que me comentas se debe a que no estas usando el $_GET o el $_POST para recuperar la variable que te envía le formulario.
En php5, por ejemplo, esto es obligatorio a no se que modifiques el PHP.INI y cambies la línea de "register_globals = Off". Si lo pones en ON se asignarán automáticamente las variables llegadas del formulario. Ponerlo en ON es altamente inseguro al igual que lo que haces de poner las variables directamente sobre la consulta del base de datos. Eso es potencialmente inseguro. Te dejo algunos enlaces relacionados. http://www.php.net/manual/es/ini.core.php#...egister-globals http://www.php.net/manual/es/reserved.variables.php Espero te sea de ayuda. Un saludo. ¿Quieres ganar dinero escribiendo sobre tus aficiones? - www.Redactores.es |
![]() |
![]() ![]() ![]() |
|
|
|
eurodipity - eurodipity - eurodipity - eurodipity - eurodipity - eurodipity - eurodipity - eurodipity - eurodipity - eurodipity |
|