Foros del Web » Programando para Internet » PHP »

Problemas con $_POST['...']

Estas en el tema de Problemas con $_POST['...'] en el foro de PHP en Foros del Web. Hola, estoy haciendo un proyecto, por primera vez en PHP y MYSQL, y he leído muchos de sus foros, los que me han sido de ...
  #1 (permalink)  
Antiguo 03/06/2010, 18:27
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Problemas con $_POST['...']

Hola, estoy haciendo un proyecto, por primera vez en PHP y MYSQL, y he leído muchos de sus foros, los que me han sido de mucha ayuda. Pero hace algunos días tengo dos problemas que ya me tiene seca frente al pc.

Resulta que estoy tratando de ingresar un usuario el que con datos "directos" funciona totalmente.

Ej.: $rut= "2.222.222-2";
$nombre= "Juan Perez;

Pero cuando intento ingresar datos desde la página no me los recibe, he intentado con $_POST["rut"], $_POST['rut'], $_GET["rut"] y $_GET['rut'].

Ej.: $rut = $_POST['rut']

y no me recibe nadaaaaa,

El segundo problema es que cuando le doy F5 para refrescar la página, ésta me ingresa los datos de usuario de nuevo, por lo tanto me dice "usuario ya existe". No sé si será el mismo problema o son dos distintos, por mi parte ya no se me ocurre nada por hacer, espero me puedan ayudar, les agradecería mucho.

Les dejo un poco el código HTML que hice:
...
<tr>
<td bgcolor="#F0D97B"><span class="style2">Rut:</span></td>
<td colspan="3" bgcolor="#F0D97B"><label>
<input type="text" name="rut_ingreso" id="rut_ingreso" />
</label></td>
</tr>
<tr>
<td bgcolor="#F0D97B"><span class="style2">Nombres:</span></td>
<td colspan="3" bgcolor="#F0D97B"><label>
<input type="text" name="nombre" id="nombre" value=""/>
</label> <span class="style2"></span></td>
</tr>
...

y tengo dos botones...

BUSCAR:
<td><form id="form2" name="form2" method="post" action="ingresar_usuario_administrador.php">
<label>
<input type="submit" name="buscar" id="buscar" value="Buscar" />
</label>
</form></td>


INGRESAR:
<tr>
<td colspan="4"><div align="center"><span class="style2"></span><span class="style2"></span>
<form id="form3" name="form3" method="post" action="ingresar_usuario_administrador.php">
<label>
<input type="submit" name="ingresar_usuario" id="ingresar_usuario" value="Ingresar Usuario" />
</label>
</form>
</div></td>


Además les dejo un trozo del código ingresar usuario en php:
if($_POST['ingresar_usuario']){
$rut= $_POST['rut_ingreso'];
$nombre= $_POST['nombre'];

$config= new config();
$config->conexion();
$sql= "SELECT * FROM usuario WHERE usuario.rutUs='$rut'";
$result= mysql_query($sql) or die (mysql_error());
$row_sql = mysql_fetch_array($result, MYSQL_NUM);

if($row_sql){

echo "El Usuario ya existe";
}else{

$config_i= new config();
$config_i->conexion();

$query= "INSERT INTO usuario VALUES('$rut', '$nombre')";
mysql_query($query) or die (mysql_error());

if(mysql_affected_rows()){
echo "Usuario introducido correctamente";
} else {
echo "Error introduciendo el usuario";

}
mysql_close();
}
}

Les agradecería miiiiiiiiiiiiiiiillllllllllllllllllllll

Saludos.
  #2 (permalink)  
Antiguo 03/06/2010, 18:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con $_POST['...']

Los campos que quieras que se envien por POST deben estar todos entre <form ....> y </form>, actualmente solo tienes el boton de envio "ingresar usuario".
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 03/06/2010, 19:20
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problemas con $_POST['...']

Hola... ya lo intenté, le puse un <form> al inicio después del <body> y otro </form> antes del </body> ... y no me resultó :0(

gracias mil
Saludos.
  #4 (permalink)  
Antiguo 03/06/2010, 19:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas con $_POST['...']

Haz un var_dump a la variable $_POST para que veas sus valores una vez hayas pulsado el botón de submit.
Código PHP:
Ver original
  1. var_dump($_POST);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 03/06/2010, 19:29
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problemas con $_POST['...']

Hola... lo siento, primero, hice el tema de nuevo, porque por alguna extraña razón ¬¬ , no me salía en la lista del foro ...

pero hice lo dijiste, el instalé un <form> después del <body> y otro </form> antes del </body> y no pasó nada, siguió todo igual :0(

gracias mil
Saludos.
  #6 (permalink)  
Antiguo 03/06/2010, 19:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas con $_POST['...']

Yo creo que no haz entendido bien el concepto. Te recomiendo que leas este manual para que puedas desenvolverte.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 03/06/2010, 19:36
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Problemas con $_POST['...']

opino lo mismo q abimaelrc, primero verifica q tiene la variable antes de hacer la consulta

Código PHP:
Ver original
  1. var_dump($_POST);

o si kieres solo imprime lo q hay en $rut

Código PHP:
Ver original
  1. echo $rut;
  #8 (permalink)  
Antiguo 03/06/2010, 23:52
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problemas con $_POST['...']

Ya lo intenté, hice un echo "$rut", y no me rescata nadaa....
Ahora estaba haciendo lo mismo con un "modificar usuario", el que antes si me resultaba, pasa que ahora lo inserté en una tabla y sucede lo mismo que el ingresar, no me rescata nada :0s
  #9 (permalink)  
Antiguo 04/06/2010, 01:09
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con $_POST['...']

Oh my dog!!! Estas batallando para hacer funcionar un script y te pones a modificar otro sin haber solucionado el primero???

Supongo que tienes respaldos para volver a como estabas antes.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 04/06/2010, 01:32
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 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

Etiquetas: post
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 02:11.