Foros del Web » Programando para Internet » PHP »

ayuda con un pequeño script

Estas en el tema de ayuda con un pequeño script en el foro de PHP en Foros del Web. estoy haciendo un sistema donde solo hay un administrador y tengo un boton que me lleva a un script que tiene que hacer una consulta ...
  #1 (permalink)  
Antiguo 28/08/2006, 10:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 17 años, 8 meses
Puntos: 0
ayuda con un pequeño script

estoy haciendo un sistema donde solo hay un administrador y tengo un boton que me lleva a un script que tiene que hacer una consulta a la base de datos y checar si ya hay un administrador en un campo llamado nivel donde los unicos valores son "Administrador" y "Usuario" y si ya existe redirigirme a una pagina de registro donde el nivel que se introduce nada mas es Usuario y si no existe redirigirme a otra donde puedes elegir el nivel de administrador.


ya lo intente de muchas formas pero no logro que me funcione el script tengo una falla pero no se cual, este es el script

Cita:
<?php
$query = mysql_query( "SELECT usuarios WHERE nivel Like 'Administrador'");
$result = mysql_query($query);

if(!$result)
{
header("Location: registro.php");
}
else {
header("Location: registro2.php");
}

?>
  #2 (permalink)  
Antiguo 28/08/2006, 10:07
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 8 meses
Puntos: 0
Hay varios fallos en ese script, con estos ejemplos seguro que solucionas el problema
  #3 (permalink)  
Antiguo 28/08/2006, 11:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por Belero Ver Mensaje
Hay varios fallos en ese script, con estos ejemplos seguro que solucionas el problema
Como que fallos serían?

yo alcanzo a ver:

0) De lógica ..
Si dices tener un "usuario" donde defines cierto "nivel" .. el usuario por lo menos sea quien sea se debe "autentificar" en tu sistema .. No sé como gestionas ese tema .. pero debería ser como más abajo te expongo.

2) No puedes ver si un resultado de una consulta SQL arroja un sólo registro (o más) viendo sólo lo que devuelve "mysql_query()" .. Esa función al "ejecutarse" devuelve un "true" .. pero no si arrojó resultados o no .. Para eso tienes la función mysql_num_rows() para hacer esas necesarias validaciones.

3) Lo ideal es usar mysql_query() junto con mysql_error() para ver si te arrojó algún error la consulta (no de resultados).

Quedaría algo tipo:

Código PHP:
<?
// Concecta a tu BBDD .. selecciona la BBDD a usar
$query mysql_query"SELECT usuarios WHERE nivel='Administrador' AND usuario='".mysql_real_escape_string($_POST['usuario'])."'");
// Asumo que el usuario (variable) llega de un formulario (en POST) minimo .. o será una variable de sesion o cookie.

// Se ejecuta la consulta SQL
$result mysql_query($query) or die (mysql_error());

// Se verifica que obtengo un sólo resultado que es lo que busco: que para ese usuario su "nivel" sea el que necesito.
if (mysql_num_rows($result) == 1){
   
header("Location: registro.php");  
   exit;
} else {
   
header("Location: registro2.php");
   exit;
}

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 06/09/2006, 14:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 15
Antigüedad: 17 años, 8 meses
Puntos: 0
muschas gracias por todo ya lo solucione asi es el codigo
Código PHP:
<?php
$host 
"localhost";
     
$username "root";
     
$contrasena="";
     
$dbname"siteecuvalles";
     
/// identificación de la conexión
     
$connection = @mysql_connect($host,$username,$contrasena)
                    or die(
mysql_error());
     
/// selección de la base de datos
     
$db = @mysql_select_db($dbname$connection) or die(mysql_error());

$query "SELECT * FROM usuarios WHERE nivel='Administrador'";
$result mysql_query($query);
if(
mysql_fetch_array($result) == 0)
    {
        
?> 
<SCRIPT LANGUAGE="javascript"> 
location.href = "registro.php"; 
</SCRIPT> 
    <? 
        
    
}else 
    
?> 
        <SCRIPT LANGUAGE="javascript"> 
        location.href = "registro2.php"; 
        </SCRIPT> 
<? 
?>
  #5 (permalink)  
Antiguo 06/09/2006, 14:23
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 18 años
Puntos: 3
Hola

Y para trabajar de una forma un poquito mas ordenada por si tienes que usar la configuracion o conexion la bd de mysql

por que no pones un
config.php
Código PHP:
$host "localhost"
     
$username "root"
     
$contrasena=""
     
$dbname"siteecuvalles"
     
/// identificación de la conexión 
     
$connection = @mysql_connect($host,$username,$contrasena
                    or die(
mysql_error()); 
     
/// selección de la base de datos 
     
$db = @mysql_select_db($dbname$connection) or die(mysql_error()); 
y a ese script que pusiste le agregar un
Código PHP:
include ("config.php"); // ruta donde se encuentra el config.php 
digo esto por si en furuto tengas que usar ese config para otra cosita y solo agregas el include y no haces voluminoso el script

es una sugerencia que te doy
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
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 21:57.