Foros del Web » Programando para Internet » PHP »

Trabas de un principiante

Estas en el tema de Trabas de un principiante en el foro de PHP en Foros del Web. Tengo este codigo. Código PHP: //SELECIONAR EL USUARIO A ELIMINAR SU ACCESO. $conexion = mysql_connect("$dbhost", "$dbuser", "$dbpass");                  mysql_select_db($db);     //Realiza la consulta         $sql="select pass from usuarios where usuario='Alumno'";     //ejecuto los comandos mysql con mysql_query, ejecuta $sql y lo guarda en la variable $res                    $res = mysql_query($sql);              if(mysql_num_rows($res)>0)         {             $fila=mysql_fetch_row($res);             $borrar_usuario['0']=$fila[0];             print 'PASS:'.$fila[0].'<br>';                      }      ?>              ...
  #1 (permalink)  
Antiguo 15/05/2006, 03:59
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
Pregunta Ayuda pliss Trabas de un principiante

Tengo este codigo.

Código PHP:
//SELECIONAR EL USUARIO A ELIMINAR SU ACCESO.

$conexion = mysql_connect("$dbhost", "$dbuser", "$dbpass");
        
        mysql_select_db($db);
    //Realiza la consulta
        $sql="select pass from usuarios where usuario='Alumno'";
    //ejecuto los comandos mysql con mysql_query, ejecuta $sql y lo guarda en la variable $res
         
         $res = mysql_query($sql);
        
    if(mysql_num_rows($res)>0)
        {
            $fila=mysql_fetch_row($res);
            $borrar_usuario['0']=$fila[0];
            print 'PASS:'.$fila[0].'<br>';
            
        }
    

?>        
    
<form action="borrado.php" method="POST" name="frmLogin">
<input type="hidden" name="Borrado_Correcto" value="1">
<table border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td colspan="2" bgcolor="#B2C79E">
            <font align="center" color="#015294">Borrado de Usuarios</font>
        </td>
      </tr>
    
    <tr>
        <td align="center">Seleccione Alumno a Restringir Acceso</td>
        <td align="center">
        <select width="100" align="center" name="usuario" value="<?=$borrar_usuario['0']?>">
            <option><?=$borrar_usuario['0']?></option>
            <option><?=?></option>
            <option><?=?></option>
            <option><?=?></option>
            <option><?=?></option>
        </select>
        </td>
    </tr>
    
<tr>
    <td colspan="2" align="center" bgcolor="#B2C79E">
        <input type="submit" name="cmdEnviar" value="Enviar">
         
    </td>
</tr>
</table>
</form>

<?

La finalizad es poder mostrar los resultados de una columna en una lista desplegable para seleccionar el usuario por su password y despues el seleccionado poder borrarlo.

PD: Si lo de lo que pido consejo es dificil o no se entiende basicamente quiero
quitar a los usuarios el poder aceder a la pagina desde la propia web(sin tocar directamente en la base de datos solo por la web).

Última edición por grimorth; 18/05/2006 a las 03:02
  #2 (permalink)  
Antiguo 15/05/2006, 05:33
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 17 años, 11 meses
Puntos: 2
Pero, si querés borrar un usuario (o restringir su acceso), ¿no deberias tener una lista con los nombres de los usuarios en lugar de sus contraseñas?
Te dejo un link a una FAQ que explica como generar un combo box desde una consulta a una base de datos:

http://www.forosdelweb.com/showpost....&postcount=152

Saludos.
  #3 (permalink)  
Antiguo 15/05/2006, 08:28
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
Si eso mismo quiero eso q postee es un ejemplo de lo que puede ser pero no se realizar el script para sacar una columna en vez de una fila.
  #4 (permalink)  
Antiguo 15/05/2006, 08:48
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 17 años, 11 meses
Puntos: 2
Para mostrar los resultados de una "columna" como vos decís, tenes que recorrer la consulta fila por fila y por cada una de estas extraer los datos que queres mostrar del campo (o columna) que te interese. Tendría que ser algo así:

Código PHP:
<?
$conexion 
mysql_connect("$dbhost""$dbuser""$dbpass"); 
         
mysql_select_db($db); 
//Realiza la consulta 
$sql="select pass from usuarios where usuario='Alumno'"
//ejecuto los comandos mysql con mysql_query, ejecuta $sql y lo guarda en la variable $res 
$res mysql_query($sql); 
?>
<form action="borrado.php" method="POST" name="frmLogin"> 
<input type="hidden" name="Borrado_Correcto" value="1"> 
<table border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
        <td colspan="2" bgcolor="#B2C79E"> 
            <font align="center" color="#015294">Borrado de Usuarios</font> 
        </td> 
      </tr> 
     
    <tr> 
        <td align="center">Seleccione Alumno a Restringir Acceso</td> 
        <td align="center"> 
        <select width="100" align="center" name="usuario">
<?
while ($fila mysql_fetch_row($res)) {
     
$usuario $fila[0];
     echo 
"<option value=\"$usuario\">$usuario</option>";
}
?> 
</select> 
        </td> 
    </tr> 
     
<tr> 
    <td colspan="2" align="center" bgcolor="#B2C79E"> 
        <input type="submit" name="cmdEnviar" value="Enviar"> 
          
    </td> 
</tr> 
</table> 
</form>
Saludos.
  #5 (permalink)  
Antiguo 16/05/2006, 01:25
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
GRACIAS !!!!

Funciono de verdad muchas gracias y perdona por la torpeza.
  #6 (permalink)  
Antiguo 16/05/2006, 01:53
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
Ahora el problema que me surge es que al enviar el formulario la variable oculta hidden solo me da el valor 1


Como recibo la eleccion echa en el option??

Siento ser tan pesado.
  #7 (permalink)  
Antiguo 16/05/2006, 04:53
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 17 años, 11 meses
Puntos: 2
Los valores ingresados en el formulario se recuperan mediante la matriz superglobal $_POST si los datos fueron enviados por post (como en este caso) o $_GET si fueron enviados por get. Tenés que utilizar como índice el nombre que le diste al campo del formulario para recuperar su valor. En el caso del select el valor que vas a recuperar va a ser el valor de la opción que ha sido seleccionada. En tu caso, para recuperar este valor tendrías que hacer algo así:

borrado.php:
Código PHP:
<?
$valor 
$_POST['usuario'];
?>
Saludos.
  #8 (permalink)  
Antiguo 17/05/2006, 02:01
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
no me funciona no recibo nada.

puse esto:
Código PHP:
$opcion =$_POST['usuario'];

 
            
    echo 
$opcion
No debiria de imprimirme en pantalla el valor de la variable $opcion ???

Que estoy haciendo mal???


Gracias por la ayuda.
  #9 (permalink)  
Antiguo 17/05/2006, 05:13
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 17 años, 11 meses
Puntos: 2
Te recomiendo que hagas un "print_r($_POST)" para saber si los datos del formulario estan llegando correctamente. Probá hacer eso y despues nos comentás:

borrado.php
Código PHP:
<?
print_r
($_POST);
?>
Saludos.
  #10 (permalink)  
Antiguo 18/05/2006, 01:51
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
me responde esto.


Código PHP:
Array ( [Borrado_Correcto] => [b_usuario] => usuario [cmdEnviar] => Enviar 
  #11 (permalink)  
Antiguo 18/05/2006, 04:27
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 17 años, 11 meses
Puntos: 2
Al parecer, el nombre que le colocaste al select del formulario es "b_usuario", no "usuario" (si te fijas en la salida del print_r($_POST) te vas a dar cuenta).
Probá de esta forma:

Código PHP:
<?
$opcion 
$_POST['b_usuario']; 
echo 
$opcion
?>
Saludos.
  #12 (permalink)  
Antiguo 19/05/2006, 01:11
 
Fecha de Ingreso: marzo-2006
Ubicación: En mi oscura y humeda madriguera
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
muchas gracias funciono!!

Siento ser tan torpe gracias por todo.


UN SALUDO
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 09:56.