Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/06/2010, 01:32
Avatar de dengaku
dengaku
 
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problemas con $_POST['...']

Todo dato que quieras insertar en otro php metelo en un form, luego en el otro php recoge el form con todos los datos que estén dentro de él, por ejemplo yo tengo un insertar usuarios, no se si te valdrá, inserto usuarios en una base de datos. Este lleva sesiones no le hagas caso a esa parte, bajo al consulta que hay en el body tengo un form donde recojo varios campos, los envio a la misma página, y entonces (en al parte superior del documento) compruebo los errores, y tras esto, si e enviado registro y no hay errores lo inserta en la base de datos. Después de insertar hago un header y cargo otra página o la misma, si quieres mostrar datos haz el header a al página donde tengas los select. Comprueba también que los datos que estás metiendo son válidos para tu base de datos, char integer o si son not null.
Código PHP:
<?php
    
//Iniciar sesión
   
session_start();

// Sesión iniciada
   
if (isset($_SESSION["usuario_valido"]))
   {
        include(
"libreria.php");
        
//$conexion=conecta();
        
$uv=$_SESSION["usuario_valido"]; 



        if (isset(
$_REQUEST['registro'])){
        

    
$errores false;
    
$nombre $_REQUEST['nombre_usuario'];
    
$nick $_REQUEST['nick'];
    
$mail $_REQUEST['mail'];
    
$pass $_REQUEST['pass'];
    
$cuotadisco $_REQUEST['cuota_disco'];
    
$patron2 "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
    if (
$nombre=="") { 
       
$error[1]='  Completa el nombre'
       
$errores=true;}
    if (
$nick=="") { 
       
$error[2]='  Complete el nick'
       
$errores=true;}
    if (! 
eregi($patron2,$mail)){ 
       
$error[3]=' Completa el mail'
       
$errores=true;}
    if (
$pass=="") { 
       
$error[4]='  Complete la contraseña'
       
$errores=true;}
    if (
$cuotadisco=="") { 
       
$error[5]='  Inserta la cuota de disco'
       
$errores=true;}
    
}

        if (isset(
$_REQUEST['registro']) && ! $errores)
   {
// Escribir aquí el nombre y la clave del usuario que se desea crear
    
    
$errores false;
    
$nombre $_REQUEST['nombre_usuario'];
    
$nick $_REQUEST['nick'];
    
$mail $_REQUEST['mail'];
    
$pass $_REQUEST['pass'];
    
$cuotadisco $_REQUEST['cuota_disco'];

   
$conexion=conecta();                
   
$salt substr ($nick02);
   
$clave_crypt crypt ($pass$salt);
   
$instruccion "insert into usuarios (nombre_usuario,mail,nick,pass,cuota_disco,administrador) values ('$nombre','$mail','$nick', '$clave_crypt','$cuotadisco','0')";
   
$consulta mysql_query ($instruccion$conexion)
      or die (
"Fallo en la inserción");
   
mysql_close($conexion);

        
$pagina1="adminusu.php";
        
header("Location:$pagina1");
   }

?>
<!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=iso-8859-1" />
<title>Insertar Usuarios</title>
<link href="stilo.css" rel="stylesheet" type="text/css" />
</head>

<body class="stilo2">


<div id="Layer12" align="center">
<table class="ttable" border="1"><tr><td align="left">
<img src="logos\logo01 copy.jpg" width="116" height="97" /></div>
</td>
<td align="left">
        <p class='stilo1'>Gestor de contenidos PAMAI</p></td></tr>
<?php
        $conexion
=conecta();
        
$sq3="select cod_usuario from usuarios where nick = '$uv'";
        
$regist=mysql_query($sq3,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
$aa=mysql_fetch_array($regist);
        
$cu=$aa['cod_usuario'];
        
mysql_close($conexion);
        print 
"<tr><td colspan='2' align=left>Bienvenido: ".$uv."</td>";
?>

        <tr><td colspan='2' align=center>
 <h align=center>Inserta un usuario:</h>

  <form id="form1" name="form1" method="post" action="genera_clave.php">
      <p align=center>
   <table  border='2' cellspacing='0' class="table">
     <tr>
       <td class="td2">Nombre</td>
       <td class="td1"><?php print"<input type='text' name='nombre_usuario' value='".$nombre."' />";?><?php print $error[1]; ?> </td>
     </tr>
     <tr>
       <td class="td2">Mail</td>
       <td class="td1"><?php print"<input type='text' name='mail' value='".$mail."' />";?><?php print $error[3]; ?> </td>
     </tr>
     <tr>
       <td class="td2">Nick</td>
       <td class="td1"><?php print"<input type='text' name='nick' value='".$nick."' />";?><?php print $error[2]; ?></td>
     </tr>
     <tr>
       <td class="td2">Cuota de disco</td>
       <td class="td1"><?php print"<input type='text' name='cuota_disco' value='".$cuotadisco."' />";?><?php print $error[5]; ?></td>
     </tr>
     <tr>
       <td class="td2">Contraseña</td>
       <td class="td1"><input type='password' name='pass'/>
           <?php print $error[4]; ?></td>
     </tr>
     <tr>
       <td class="td3"><input type="submit" name="registro" value="Registro" />
       </td>
       <td class="td3"><input type="reset" name="Submit2" value="borrar" />
       </td>
     </tr>
   </table>
   </p>


 </form>
 
</div>


<div id='Layer5'><a href='formulario.php'>Subir
    </a></div>

<div id="Layer6"><a href="admindescarga.php">Administrar
    </a></div>


<div id="Layer7">
    <a href="genera_clave.php">Insertar usuarios    </a></div>

<div id="Layer8">
    <a href="adminusu.php">Actualizar usuarios    </a></div>

<div id="Layer9">
    <a href="admdescarga.php".php">Modificar archivos </a></div>

<?php
}
?>
</body>
</html>
No se si te vale de algo o se puede adaptar al tuyo, la parte que hay al final del formulario no le hagas caso tampoco, pero respeta el <?php } ?>

Tambien debes imprimir $rut y $nombre, si no te devuelve nada es que algo pasa.
Asegurate que te metes bien a la base de datos:
Código PHP:
Ver original
  1. <?PHP
  2. function conecta()
  3. {
  4. $conexion=mysql_connect("root","e1sa","") or
  5.   die("Problemas en la conexion");
  6. mysql_select_db("e1sa",$conexion) or
  7.   die("Problemas en la selección de la base de datos subearchivos.com");
  8. return $conexion;
  9. }
  10. ?>
En este último me conecto a mi base de datos, luego lo llamo con include("libreria.php"); asegúrate que no es por eso, y mira la base de datos si se modifica cuando insertas algo. Si en la base de datos se insertan el problema es tu código

Última edición por dengaku; 04/06/2010 a las 01:52