Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2004, 18:55
Avatar de Rosamunda
Rosamunda
 
Fecha de Ingreso: diciembre-2001
Ubicación: Buenos Aires
Mensajes: 792
Antigüedad: 22 años, 3 meses
Puntos: 1
Mensaje Script para página de Usuarios Registrados con MYSQL

Hola a todos!

Previo a todo adelanto que esta pregunta la posteé en el foro Bases de Datos, pero me sugirieron que sería más adecuado postearlo acá por la índole de la pregunta (se trata básicamente de un script PHP), por lo que -como creo que la sugerencia es correcta-, heme aquí .

Tengo un problemilla con una página para usuarios registrados que estoy armando. Pretendo que sea multiusuario usando mysql.
Ahora bien, mi problema es que nunca usé mysql, por lo que la ayuda que necesito parte de temas tal vez, muy básicos.
Previo a todo, agrego el texto de las páginas que estoy armando:

Tengo una página de inicio llamada login.php
<html>
<head>
<title>Autentificación PHP</title>
</head>
<body>
<h1>Autentificación PHP</h1>
<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="clave" size="8" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>
</body>
</html>

control.php

<?
//conecto con la base de datos
$conn = mysql_connect("127.0.0.1","victoria","");
//selecciono la BBDD
mysql_select_db("alumnos",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$usuario' and clave_usuario='$clave'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$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";
header ("Location: alumnos.php");
}else
{
//si no existe le mando otra vez a la portada
header("Location: login.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>

seguridad.php

<?
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: login.php");
//ademas salgo de este script
exit();
}
?>


alumnos.php

<?
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI")
{
}
else
{

//si no existe, envio a la página de autentificacion
header("Location: login.php");
//ademas salgo de este script
exit();
}
?>
<html>
<head>
<title>Aplicación segura</title>
</head>
<body>
<h1>Si estás aquí es que te has autentificado</h1>
<br>
----
<br>
Aplicación segura
<br>
----
<br>
</body>
</html>


Ahora bien, mis dramas son:

1. cuando creé la tabla “alumnos” en phpmyadmin, la guardó en la base de datos “central_user_db” (que es una carpeta), con tres archivos:
alumnos.frm
alumnos.MYI
alumnos.MYD
Cuál es la base? Son los tres? Si subo por FTP la base lo hago con la carpeta y todo? Cuando agrego el nombre pongo alumnos o central_user_db?

2. Además, y para colmo de males, el script no funciona, ya que cuando intento usarlo (en localhost), me tira tres errores:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\phpdev5\www\usuarios-escuela\alumnos3\control.php on line 16

==LINEA 16: if (mysql_num_rows($rs)!=0){

Warning: Cannot add header information - headers already sent by (output started at c:\phpdev5\www\usuarios-escuela\alumnos3\control.php:16) in c:\phpdev5\www\usuarios-escuela\alumnos3\control.php on line 26

==LINEA 26: header("Location: login.php?errorusuario=si");

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\phpdev5\www\usuarios-escuela\alumnos3\control.php on line 28

==LINEA 28: mysql_free_result($rs);


Les súper agradezco el tiempo y la voluntad de ayudarme!!!!!

Rosamunda