Foros del Web » Programando para Internet » PHP »

Problemas Formulario PHP

Estas en el tema de Problemas Formulario PHP en el foro de PHP en Foros del Web. Estimados, Tengo un problema con un código PHP. He intentado de todas formas tomar los datos de un formulario para hacer un SELECT en Mysql ...
  #1 (permalink)  
Antiguo 26/11/2012, 15:22
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Problemas Formulario PHP

Estimados,

Tengo un problema con un código PHP. He intentado de todas formas tomar los datos de un formulario para hacer un SELECT en Mysql y luego un UPDATE. El tema es que no me toma las variables de ninguna manera, ni con Session ni solamente con POST. Rehice la página, haciendo todo el formulario de nuevo, pero no hay caso.

El código del Index es el siguente:

Código HTML:
Ver original
  1. <form action="validar.php" method="post" id="validar">
  2. <div id="header">
  3.     <div class="logo1">&nbsp;</div>
  4.     <div class="texto1">Datos de Contacto</div>
  5.     <div class="logo2">&nbsp;</div>
  6.     <hr />
  7. </div>
  8. <div id="rut">
  9.     <div class="mensaje">
  10.         <center>Ingrese su <strong>RUT</strong>  para corroborar su datos y haga click en el botón <strong>Buscar</strong>.</center>
  11.     </div>
  12.     <div class="consulta">
  13.     <small><strong>Ejemplo: </strong>RUT: (12345678-9)</small><br />
  14.     <input name="rut_alumno" id="inputRUT"  type="text" class="inputLabel" value="<?php echo $rut_alumno; ?>"/>
  15.     <input name="act" type="submit" value="Validar" class="inputButton"/>
  16.     <br />
  17.     </div>

Esa es la primera parte, que recoge el rut, luego en el PHP coloco lo siguiente:

Código PHP:
Ver original
  1. $rut_alumno = $_POST["rut_alumno"];
  2.        conectar_mysql();
  3.       $sql="select * from form where rut_alumno='$rut_alumno'";
  4.       $result=mysql_query($sql);  
  5.           $registros=mysql_fetch_array($result);
  6.        
  7.        //echo ($registros["total"]);
  8.  
  9.  
  10.        if ($registros["total"]==0)
  11.        {
  12.         conectar_mysql();
  13.         echo "Usuario no existe";      
  14.         echo "<br>";
  15.         echo "<a href='index.php'>Volver atras</a>";  
  16.         }
  17.      
  18.       if ($registros["total"]==1)
  19.         {   conectar_mysql();
  20.              $sql="UPDATE form SET nombre_alumno='$nombre_Alumno',cod_movil='$cod_movil',movil='$movil',cod_particular='$cod_particular',particular='$particular',direccion='$direccion',numero='$numero',departamento='$departamento',block='$block',comuna='$comuna',rut_aceptante='$rut_aceptante',nombre_aceptante='$nombre_aceptante',direccion_aceptante='$direccion_aceptante',comuna_aceptante='$comuna_aceptante',cod_area='$cod_area',particular_aceptante='$particular_aceptante',comercial_aceptante='$comercial_aceptante',cod_movil_acep='$cod_movil_acep',movil_aceptante='$movil_aceptante' WHERE rut_alumno='$rut_Alumno'";
  21.              $result=mysql_query($sql);  
  22.              echo "Usuario existe, actualizar";
  23.              echo "<br>";
  24.              echo "<a href='index.php'>Ver datos</a>";

No hay manera que pueda tomar los datos, me sale siempre usuario no existe, siendo que en la tabla de la DB está el dato. Si defino la variable $rut_alumno directamente, fuera del form, me funciona sin problemas.
  #2 (permalink)  
Antiguo 26/11/2012, 15:58
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 8 meses
Puntos: 130
Respuesta: Problemas Formulario PHP

Creo que te falta un valor, haz esto:
Añade esto despues de la linea 5:

$totalregistros=mysql_num_rows($result);

y el if de la linea 10:

if ($totalregistros==0)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #3 (permalink)  
Antiguo 26/11/2012, 16:17
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas Formulario PHP

Buenisimo, muchas gracias. Funciono!

Me falta otra cosa que tampoco funciona bien. Cuando encuentra el rut, y rescata los datos, luego de presionar el echo "<a href='index.php'>Ver datos</a>"; no me imprime los datos rescatados de la DB.
  #4 (permalink)  
Antiguo 26/11/2012, 17:09
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 8 meses
Puntos: 130
Respuesta: Problemas Formulario PHP

No entendí muy bien lo que dices, pero si te refieres a pasar los valores a otra pagina, si vas a usar el href puedes pasar los valores por get:

echo "<a href='index.php?valor1=".$valor1."&valor2=".$valor 2."'>Ver datos</a>";

No se si eso es a lo que te refieres, sino explícame un poco mejor
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #5 (permalink)  
Antiguo 26/11/2012, 17:14
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas Formulario PHP

Por ejemplo:

Código HTML:
Ver original
  1. <input name="rut_alumno" id="inputRUT"  type="text" class="inputLabel" value="<?php echo $rut_alumno; ?>"/>

Ese codigo lo tengo en un input text que está al inicio, cuando busco los datos en la db, no me permite devolverlas al formulario anterior.

Ingreso el rut, y en el validar.php busco los datos según el rut, pero luego quiero volver al formulario anterior con los datos ingresados en cada campo, para que el usuario pueda modificarlos y validar nuevamente.
  #6 (permalink)  
Antiguo 26/11/2012, 17:21
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 8 meses
Puntos: 130
Respuesta: Problemas Formulario PHP

Has probado a hacerlo con get?, en el enlace para ver los datos, envia el valor por get y luego en el formulario lo recoges, creo que asi te podria valer
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #7 (permalink)  
Antiguo 26/11/2012, 17:50
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas Formulario PHP

No, no funciona..

Código PHP:
Ver original
  1. <?php
  2. echo "<html>";
  3. echo "<body>";
  4.  
  5. require("conexion.php");
  6.  
  7. conectar_mysql();
  8.     $rut_alumno = $_POST["rut_alumno"];
  9.     $nombre_alumno = $_GET["nombre_alumno"];
  10.     $cod_movil = $_GET["cod_movil"];
  11.     $movil = $_GET["movil"];
  12.     $cod_particular = $_GET["cod_particular"];
  13.     $particular = $_GET["particular"];
  14.     $direccion = $_GET["direccion"];
  15.     $numero = $_GET["numero"];
  16.     $departamento = $_GET["departamento"];
  17.     $block = $_GET["block"];
  18.     $comuna = $_GET["comuna"];
  19.     $rut_aceptante = $_GET["rut_aceptante"];
  20.     $nombre_aceptante = $_GET["nombre_aceptante"];
  21.     $direccion_aceptante = $_GET["direccion_aceptante"];
  22.     $comuna_aceptante = $_GET["comuna_aceptante"];
  23.     $cod_area = $_GET["cod_area"];
  24.     $particular_aceptante = $_GET["particular_aceptante"];
  25.     $comercial_aceptante = $_GET["comercial_aceptante"];
  26.     $cod_movil_acep = $_GET["cod_movil_acep"];
  27.     $movil_aceptante = $_GET["movil_aceptante"];
  28.    
  29.    
  30.  
  31. conectar_mysql();
  32.       $sql=("select * from form where rut_alumno ='$rut_alumno'");
  33.       $result=mysql_query($sql);  
  34.       $registros=mysql_fetch_array($result);
  35.       $totalregistros=mysql_num_rows($result);
  36.  
  37.     if ($totalregistros==1)
  38.         {
  39.         echo "Usuario existe, actualizar";
  40.         echo "<br>";
  41.         echo "<a href='index.php'>Ver datos</a>";
  42.  
  43.         //$fecha="insert into form('fechab') VALUES (now())";
  44.         //$rfecha=mysql_query($fecha);
  45.         }
  46.        
  47.     else
  48.         {
  49.         echo "Usuario no existe";  
  50.         echo "<br>";
  51.         echo "<a href='index.php'>Volver atras</a>";
  52.         }
  53.    
  54. ?>


Con eso selecciono, pero no toma los datos de la db para mostrarlos despues en el formulario.
  #8 (permalink)  
Antiguo 26/11/2012, 18:00
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 8 meses
Puntos: 130
Respuesta: Problemas Formulario PHP

No no, haber, te has liado, esa pagina dejala como antes, quitale esta ultima modificacion donde añades las variables dandole el valor get, creo que lo bueno seria que volvieses a enviar el valor $rut_alumno de vuelta..

Pon asi el href:

echo "<a href='index.php?rut_alumno=".$rut_alumno."'>Ver datos</a>";

ahora en index.php recoge el valor de nuevo asi:

$rut_alumno=$_GET["rut_alumno"];

Aquí ahora podrias hacer una nueva consulta y darle al input el valor pero ya de la base de datos, has comprendido ahora?
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #9 (permalink)  
Antiguo 26/11/2012, 18:35
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas Formulario PHP

Ok, volvi todo atrás. Pero lo que me dices no funciona.

Obtengo el rut, me reconoce si existe o no. Necesito tomar los datos de la fila del rut, y mostrarlos en el form que tengo hecho en html.

Está arriba la página, es www.apoyoadministrativo.cl

Cuando le doy buscar con el único rut que existe en la db (17109700-2) Me dice que lo encuentra, pero cuando hago clic en volver atrás, deberia imprimirme los datos de la fila de la DB al rut asociado en los campos del formulario. Se entiende? :)
  #10 (permalink)  
Antiguo 26/11/2012, 19:16
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas Formulario PHP

Código PHP:
Ver original
  1. <?php
  2. echo "<html>";
  3. echo "<body>";
  4.  
  5. require("conexion.php");
  6.  
  7. conectar_mysql();
  8.     $rut_alumno = $_POST["rut_alumno"];
  9.  
  10. conectar_mysql();
  11.       $sql=("select * from form where rut_alumno ='$rut_alumno'");
  12.       $result=mysql_query($sql);  
  13.       //$registros=mysql_fetch_array($result);
  14.       $totalregistros=mysql_num_rows($result);
  15.  
  16.     if ($totalregistros==1)
  17.         {
  18.         echo "Usuario existe, actualizar";
  19.         echo "<br>";
  20.             while ($row =mysql_fetch_assoc($result))
  21.             {
  22.             echo "Nombre Alumno : ";
  23.             echo $row['nombre_alumno']."<br>";
  24.             echo "Codigo Movil : ";
  25.             echo $row['cod_movil']."<br>";
  26.             echo "Movil : ";
  27.             echo $row['movil']."<br>";
  28.             echo "Codigo Particular : ";
  29.             echo $row['cod_particular']."<br>";
  30.             echo "Particular : ";
  31.             echo $row['particular']."<br>";
  32.             echo "Direccion : ";
  33.             echo $row['direccion']."<br>";
  34.             echo "Numero : ";
  35.             echo $row['numero']."<br>";
  36.             echo "Departamento : ";
  37.             echo $row['departamento']."<br>";
  38.             echo "Block : ";
  39.             echo $row['block']."<br>";
  40.             echo "Comuna : ";
  41.             echo $row['comuna']."<br>";
  42.             echo "Rut Aceptante : ";
  43.             echo $row['rut_aceptante']."<br>";
  44.             echo "Nombre Aceptante : ";
  45.             echo $row['nombre_aceptante']."<br>";
  46.             echo "Direccion Aceptante : ";
  47.             echo $row['direccion_aceptante']."<br>";
  48.             echo "Comuna Aceptante : ";
  49.             echo $row['comuna_aceptante']."<br>";
  50.             echo "Codigo Area Aceptante : ";
  51.             echo $row['cod_area']."<br>";
  52.             echo "Comercial Aceptante : ";
  53.             echo $row['comercial_aceptante']."<br>";
  54.             echo "Codigo Movil Aceptante : ";
  55.             echo $row['cod_movil_acep']."<br>";
  56.             echo "Movil Aceptante : ";
  57.             echo $row['movil_aceptante']."<br>";
  58.             }
  59.         echo "<a href='index.php?rut_alumno=".$rut_alumno."'>Modificar Datos</a><br>";
  60.         //$fecha="insert into form('fechab') VALUES (now())";
  61.         //$rfecha=mysql_query($fecha);
  62.         }
  63.        
  64.     else
  65.         {
  66.         echo "Usuario no existe";  
  67.         echo "<br>";
  68.         echo "<a href='index.php'>Volver atras</a>";
  69.         }
  70.  
  71. ?>


Lo ultimo que hice fue esto, con lo que pude sacar cada dato de la tabla en mysql. Necesito imprimir esos mismos datos:
$row['movil_aceptante'].
$row['nombre_alumno'].
etc..

En el formulario que tengo anteriormente en HTML, y que esto funcione con el link

Código HTML:
Ver original
  1. echo "<a href='index.php?rut_alumno=".$rut_alumno."'>Modificar Datos</a><br>";

Etiquetas: formulario, mysql, registro, sql, tabla, variables, usuarios
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:34.