Foros del Web » Programando para Internet » PHP »

que hago mal???

Estas en el tema de que hago mal??? en el foro de PHP en Foros del Web. hola, tengo este codigo y no me funciona correctamente alguien le puede dar una mirada y ayudarme con mi dilma... lo que deberia hacer es ...
  #1 (permalink)  
Antiguo 19/08/2009, 15:05
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
que hago mal???

hola, tengo este codigo y no me funciona correctamente alguien le puede dar una mirada y ayudarme con mi dilma... lo que deberia hacer es que al presionar el primer boton "Codifica", muestre un div con un contenido determinado, y ahi hay otro boton "btn_update", este deberia actualizar un registro en la bd, pero no hace nada de eso, solo muestra el div con el contenido.

gracias.


Código PHP:
<?
                
if (isset($_POST['Codifica']))
                {
                
?> 
                    <div>
                        <?
                          $PassNEW 
md5($HTTP_POST_VARS['CriptedPASS']);
                          
                          
conectar(1);
                          
$consulta_usuarios mysql_query("SELECT id, nombre, apellido FROM usuarios ORDER BY id ASC");
                          
                          echo 
"<form action=" .$_SERVER['PHP_SELF']. " method='post' name='formulario'>";    
                          echo 
"<br>"
                          echo 
"Seleccione al Usuario a Modificar Contraseña."
                          echo 
"<br>"
                          echo 
"<br>"
                          
                          echo 
"<select name='ID_Combo'>";
                            while (
$muestra_usuarios mysql_fetch_array($consulta_usuarios))
                            {
                                echo  
"<option value=".$muestra_usuarios['id'].">" .$muestra_usuarios['nombre']. " " .$muestra_usuarios['apellido']. "</option>";
                            }
                                echo 
"</select>";
                                echo 
"<input type='submit' name='btn_update' value='Cambiar Contraseña' />";
                                echo 
"</form>";
                        
?>
                    </div>
            
                <?
                  
}
                            if (isset(
$_POST['btn_update'])) 
                                {
                                    
mysql_query("UPDATE usuarios SET pass = 'xe1233x' WHERE ID ='4'");
                                }
                
?>
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 19/08/2009, 15:31
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: que hago mal???

primero que todo deberias ponerle php a cada <?
osea <?php, esta es la manera correcta de hacerlo, hay quienes no tienen activado el comando corto en php.ini

y segundo... no entendi bien si no te hace nada o si solo hace el primer paso que es mostrar la informacion, quiero decir que si lo que te falta es solo modificar o todo?

saludos
  #3 (permalink)  
Antiguo 19/08/2009, 16:58
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: que hago mal???

1.- esta la conexion a la base de datos? solo como consulta
2.- hay que ver lo que dice twonex pero no siempre <?php funciona, en el servidor de mi trabajo por ejemplo poner <?php no funciona solo funciona <? ojo con ello.

no se me ocurre nada mas esta todo como bien :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 19/08/2009, 17:41
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: que hago mal???

Prueba generando un input hidden

Cita:

echo "<input type='hidden' name='action' value='update'/><br/>";

echo "<input type='submit' name='btn_update' value='Cambiar Contraseña' />";

y en lugar de if (isset($_POST['btn_update']))

Cita:
if($_POST['action'] == 'update')
  #5 (permalink)  
Antiguo 20/08/2009, 16:35
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: que hago mal???

asi lo cambie:

Código PHP:
                          echo "<select name='ID_Combo'>";
                            while ($muestra_usuarios = mysql_fetch_array($consulta_usuarios))
                            {
                                echo  "<option value=".$muestra_usuarios['id'].">" .$muestra_usuarios['nombre']. " " .$muestra_usuarios['apellido']. "</option>";
                            }
                                echo "</select>";
                                
                                echo "<input type='hidden' name='action' value='update'/><br/>";
                                echo "<input type='submit' name='btn_update' value='Cambiar Contraseña' />";
                                echo "</form>";
                        ?>
                    </div>
            
                <?php
                  
}
                             if(
$_POST['action'] == 'update')
                                {
                                    
mysql_query("UPDATE usuarios SET pass = 'xe1233x' WHERE ID ='4'");
                                }
                
?>
y no actualiza el registro indicado..

me tiene loco esto....

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #6 (permalink)  
Antiguo 20/08/2009, 17:00
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: que hago mal???

Amigo:

para que pueda ejecutar algo en este script esta variable debe validarse
Cita:
if (isset($_POST['Codifica']))
Imagino que la estas enviando desde algun formulario.
Al no encontrar un valor pasa a verificar

Cita:
if (isset($_POST['btn_update']))
que tampoco ha sido validado por eso no ejecuta nada
  #7 (permalink)  
Antiguo 20/08/2009, 17:49
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: que hago mal???

@nonpublic, amigo tengo claro que ese es el proceso regular, pero no entiendo por que no envia la variable!!!!, adjunto el code completo....


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Contactanos.</title>
<link rel="stylesheet" type="text/css" href="../administrativo/view.css" media="all">
<script type="text/javascript" src="../administrativo/view.js"></script>

</head>
<body id="main_body" >
    
    <img id="top" src="../administrativo/top.png" alt="">
    <div id="form_container">
    
          <ul >
          
          <div id="informacion" class="informacion" align="right">
          <?php
            conectar
(1);
            
$consulta mysql_query("SELECT * FROM usuarios WHERE ID='".$_SESSION['usuario_id']."'");
            
$muestra mysql_fetch_array($consulta);
              echo 
"Bienvenido " .$muestra['nombre']. " " .$muestra['apellido'];
            
conectar(0);
          
?>
          </div>
          
          <li class="form_description">Encriptación Irreversible </li>
          
          <div id="contacto-soporte" class="contacto-soporte" align="">
            
            <div id="back-admin" class="soporte">
            <?php
            
if ($_SESSION['usuario_nivel'] == '1')
            {
                echo 
"<a href='../administrativo/seleccion-plataforma.php'><img src='../img/administrativo/back.png' />";
            }    
            
?>
            </div>
            
              <div id="reporte-fallo" class="soporte">
                  <img src="../img/empresas/correo-mini.png" width="24" height="24" />                </div>
                
              <div id="logouto" class="soporte">
                <a href="../aut_logout.php"><img src="../img/empresas/logout.png" width="24" height="24" border="0" /></a> </div>
            </div>
        

            <div> 
              <form id="form1" name="form1" method="post" action="<? $_SERVER['PHP_SELF'?>">
                <label>
                Ingrese Palabra a Encriptar:
                  <input type="text" name="CriptedPASS" />
                </label>
                <label>
                <input name="Codifica" type="submit" id="Codifica" value="Encriptar" />
                </label>
                
                
              </form>
            </div>
                <?php
                
if (isset($_POST['Codifica']))
                {
                
?> 
                    <div>
                        <?php
                          $PassNEW 
md5($HTTP_POST_VARS['CriptedPASS']);
                          echo 
$PassNEW;
                          
conectar(1);
                          
$consulta_usuarios mysql_query("SELECT id, nombre, apellido FROM usuarios ORDER BY id ASC");
                          
                          echo 
"<form action=" .$_SERVER['PHP_SELF']. " method='post' name='formulario'>";    
                          echo 
"<br>"
                          echo 
"Seleccione al Usuario a Modificar Contraseña."
                          echo 
"<br>"
                          echo 
"<br>"
                          
                          echo 
"<select name='ID_Combo'>";
                            while (
$muestra_usuarios mysql_fetch_array($consulta_usuarios))
                            {
                                echo  
"<option value=".$muestra_usuarios['id'].">" .$muestra_usuarios['nombre']. " " .$muestra_usuarios['apellido']. "</option>";
                            }
                                echo 
"</select>";
                                
                                echo 
"<input type='hidden' name='action' value='update'/><br/>";
                                echo 
"<input type='submit' name='btn_update' value='Cambiar Contraseña' />";
                                echo 
"</form>";
                                
                             if(
$_POST['action'] == 'update')
                                {
                                    
mysql_query("UPDATE usuarios SET pass = 'xe1233x' WHERE ID ='4'");
                                }

                                
                        
?>
                    </div>
            
                <?php
                  
}
                
?>
                
          <li class="buttons">    </li>
          </ul>
    </div>
    <img id="bottom" src="../administrativo/bottom.png" alt="">
</body>
</html>
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #8 (permalink)  
Antiguo 20/08/2009, 18:23
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: que hago mal???

Adapta este codigo. Debe funcionar

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

            <div> 
              <form id="form1" name="form1" method="post" action="
              <?php $_SERVER['PHP_SELF']; ?>
              ">
                <label>
                Ingrese Palabra a Encriptar:
                  <input type="text" name="CriptedPASS" />
                </label>
                <label>
                <input name="Codifica" type="submit" id="Codifica" value="Encriptar" />
                </label>
                
                
              </form>
            </div>
                <?php
                
                
if (isset($_POST['Codifica']))
                {
                
?> 
                    <div>
                    <?php
                    $PassNEW 
md5($HTTP_POST_VARS['CriptedPASS']);
                    echo 
$PassNEW;
                    
conectar(1); 
        
$consulta_usuarios mysql_query("SELECT id, nombre, apellido FROM usuarios ORDER BY id ASC");
                          
                    echo 
"<form action=" .$_SERVER['PHP_SELF']. " method='post' name='formulario'>";    
                    echo 
"<br>"
                    echo 
"Seleccione al Usuario a Modificar Contraseña."
                    echo 
"<br>"
                    echo 
"<br>"
                        
                    echo 
"<select name='ID_Combo'>";
                          while (
$muestra_usuarios mysql_fetch_object($consulta_usuarios))
                          {
                                echo  
"<option value=".$muestra_usuarios->id.">" .$muestra_usuarios->nombre" " .$muestra_usuarios->apellido"</option>";
                          }
                     echo 
"</select>";
                               
                     echo 
"<input type='hidden' name='action' value='update'/><br/>";
                     echo 
"<input type='submit' name='btn_update' value='Cambiar Contraseña' />";
                     echo 
"</form>";
                     }else if(
$_POST['action'] == 'update')
                          {
                             echo 
"estoy aqui";
                             
mysql_query("UPDATE usuarios SET pass = 'xe1233x' WHERE ID ='4'");
                          }
                        
?>
                    </div>
              
</html>
  #9 (permalink)  
Antiguo 20/08/2009, 19:10
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: que hago mal???

para evitarme mas dolores de cabeza, he eliminado el segundo btn, y ahora hago todo con el primer boton.. y adios problemas.

gracias a todos por su tiempo y ayuda.

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
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 12:48.