Foros del Web » Programando para Internet » PHP »

Consulta

Estas en el tema de Consulta en el foro de PHP en Foros del Web. Hola buenas trengo un codigo en php, que de lo que se tarta es que si meto unos datos ( usuario y contraseña) em los ...
  #1 (permalink)  
Antiguo 11/11/2007, 13:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 4 meses
Puntos: 0
Consulta

Hola buenas trengo un codigo en php, que de lo que se tarta es que si meto unos datos ( usuario y contraseña) em los compare con los datos de un db, si son correctos me haga una cosa sino me haga otra.

Este es el codigo:

<? session_start(); ?>
<HTML>
<HEAD>
<TITLE>Listado de peliculas de Javivi</TITLE><style type="text/css">
<!--
body {
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center center;
}
-->
</STYLE>
</HEAD>
<BODY background="fondo_index.jpg" bgcolor="0000000">
</BODY>
<?
$_SESSION["usuario"] = $_POST["nombre"];
$_SESSION["password"] = $_POST["pass"];
$i = $_SESSION["usuario"];
$j = $_SESSION["password"];
@mysql_connect("localhost","root","mewtwo") or die('Error conectando a la base de datos'.mysql_error());;
@mysql_select_db("password") or die('Error seleccionando la base de datos' .mysql_error());
$result=@mysql_query("select id from pass where usuario LIKE '$i' AND password LIKE '$j'") or die('Error'.mysql_error());
while($row = @mysql_fetch_array($result)) {
if (isset($_POST["enviar"])) {
if (($_POST["nombre"] == "$i") && ($_POST["pass"] == "$j")) {
$_SESSION["usuario"] = $_POST["nombre"];
$_SESSION["password"] = $_POST["pass"];
//header("Location: admin.php");
echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=admin.php'>";
} else {
?>
<script language=javascript>

// Capturamos las dimensiones de la pantalla para centrar el popup
altoPantalla = parseInt(screen.availHeight);
anchoPantalla = parseInt(screen.availWidth);

// Calculamos el centro de la pantalla
centroAncho = parseInt((anchoPantalla/2))
centroAlto = parseInt((altoPantalla/2))

// dimensiones del popup
anchoPopup = 400;
altoPopup = 100;

// Calculamos las coordenadas de colocación del Popup
laXPopup = centroAncho - parseInt((anchoPopup/2))
laYPopup = centroAlto - parseInt((altoPopup/2))

// Definimos que página vamos a ver
pagina = "pop.php";

popup = window.open(pagina,"Imagenes","scrollbars=yes,stat us=no,width=" + anchoPopup + ", height=" + altoPopup + ",left = " + laXPopup + ",top = " + laYPopup);

</script>
<?
//echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=index.php'>";
}
}
}
?>

Si meto los datos correcto perfecto, pero sino se mequeda la pagina en blanco no me habre el pop-up.

Alguien ve algo raro??

P.D: Estoy usando sesiones y queria que si alguien mete en el browser directamente una pagina, sin pasar por la que te pide user and pass, que me vaya a esa (a la que me lo pide), como se podria hacer??

Muchas gracias
  #2 (permalink)  
Antiguo 12/11/2007, 05:46
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Consulta

Nadie sabe porque podria ser??

Gracias
  #3 (permalink)  
Antiguo 12/11/2007, 06:26
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Consulta

Código PHP:
while($row = @mysql_fetch_array($result)) { 
No entiendo muy bien el objetivo de este while, que pretendes exactamente

P.D: El poner las etiquetas php ayuda bastante a leer el código (al menos a mi...)
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #4 (permalink)  
Antiguo 12/11/2007, 07:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Consulta

De lo que se trata es de hacer qu cuado yo meta el usuario y pass, compare esos datos con los que hay en una db, si existen haga una cosa, sino otra (que me habra un pop-up diciendome que no es correcto).

Si no meto la select y pongo:

if (($_POST["nombre"] == "xxxx") && ($_POST["pass"] == "yyy")) {

Siendo xxxxxx e yyyy el usuario y `pass, me lo hace todo bien, pero en cuanto meto la select ya no.

Si quito el while, siempre me hacepta cualquier usuario y pass que meta.

Veis algo raro??
  #5 (permalink)  
Antiguo 12/11/2007, 13:12
Avatar de Txane  
Fecha de Ingreso: febrero-2004
Ubicación: Morelia Michoacan
Mensajes: 272
Antigüedad: 20 años, 1 mes
Puntos: 2
Re: Consulta

No seria mas facil

$result=@mysql_query("select id from pass where usuario = '$i' AND password = '$j'") or die('Error'.mysql_error());

y en vez del while
if(mysql_num_rows($result)>0){

Creo que eso es mas adecuado.
  #6 (permalink)  
Antiguo 12/11/2007, 13:33
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Consulta

espero que esto te de una idea
Código PHP:
$link=@mysql_connect("localhost","root","mewtwo") or die('Error conectando a la base de datos'.mysql_error());;
@
mysql_select_db("password") or die('Error seleccionando la base de datos' .mysql_error());
$result=@mysql_query('select id from pass where usuario = "'.$_POST["nombre"].'" AND password = "'.$_POST["pass"].'"',$link) or die('Error'.mysql_error());
if(
mysql_num_rows($result)>0){
//aquí el código cuando existe el usuario
}
else{
//aqui el código cuando no existe el usuario

Saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 12/11/2007, 13:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Consulta

Prefes muchas garcias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:49.