Foros del Web » Programando para Internet » PHP »

se borra lo ingresado al validar y conflico con validar y $POST

Estas en el tema de se borra lo ingresado al validar y conflico con validar y $POST en el foro de PHP en Foros del Web. Busque y busque hice pruebas pero no pude hacerlo, por eso solicito la ayuda de ustedes... estoy creando un test... posee 6 text (nombre, apellido ...
  #1 (permalink)  
Antiguo 27/09/2012, 21:41
 
Fecha de Ingreso: enero-2004
Mensajes: 72
Antigüedad: 20 años, 3 meses
Puntos: 1
se borra lo ingresado al validar y conflico con validar y $POST

Busque y busque hice pruebas pero no pude hacerlo, por eso solicito la ayuda de ustedes...

estoy creando un test... posee 6 text (nombre, apellido ciudad, rut...etc)

el problema es que mi php al validar y encontrar alguna vacia me manda el mensaje pero me borra el contenido de todas las celdas..

como lo puedo hacer ..porfa cualquier ayuda


codigo
Código PHP:
<?php 
session_start
(); 
include_once 
"conexion.php"
?> 
<?php 
if(isset($_POST['enviar']))
{
    if(
$_POST['nombre'] == '' or $_POST['apellido'] == ''or $_POST['rut'] == '' or $_POST['ciudad'] == '')
    {
        echo 
'Por favor llene todos los campos.';
    }
        else
    {
        
$sql 'SELECT * FROM testm';
        
$rec mysql_query($sql);
         
                
$rut $_POST['rut'];
                
$codt $_POST['codt'];
                
$nombre $_POST['nombre'];
                
$apellido $_POST['apellido'];
                
$codigof $_POST['codigof'];
                
$ciudad $_POST['ciudad'];
                
$fecha $_POST['fecha'];
                
$sql "INSERT INTO testm (rut,codt,nombre,apellido,codigof,ciudad,fecha) VALUES ('$rut','$codt','$nombre','$apellido','$codigof','$ciudad','$fecha')";
                
mysql_query($sql);
 
                echo 
'su respuesta ha sido recibida';
            }
           }
?>
<!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>Test razonamientos matematicos elementales</title>
<style type="text/css">
body p strong {
    font-family: Arial, Helvetica, sans-serif;
}
body {
    font-family: Arial, Helvetica, sans-serif;
}
</style>
</head>


<body>
<p><img src="portada1.jpg" alt="" width="1100" height="200" align="top" /></p>
<p align="center"><strong>TEST DE APTITUDES BASICAS</strong></p>
<p align="center"><strong>RAZONAMIENTOS MATEMATICOS ELEMENTALES</strong></p>
<p align="center">FORMA A</p>
<p><strong>IDENTIFICACIÓN</strong></p>
<form id="form2" name="form2" method="post" action="">
<p>&nbsp;</p>
  <table width="744" border="0">
    <tr>
      <td width="77">Nombres</td>
      <td width="158" height="48"><input name="nombre" type="text" id="nombre" value="" /></td>
      <td width="81">Apellidos</td>
      <td width="158"><p>
        <input name="apellido" type="text" id="apellido" value="" />
      </p></td>
      <td width="74">Rut</td>
      <td width="170"><label for="fecha"></label>        <input name="rut" type="text" id="rut" value="" /></td>
    </tr>
    <tr>
      <td>Fecha/hora</td>
      <td height="54"><input name="fecha" type="text" id="fecha" value="<?php
echo date("d-m-Y");
?>" /></td>
      <td>Ciudad</td>
      <td><input name="ciudad" type="text" id="ciudad" value="" /></td>
      <td>Codigo</td>
      <td><p>
        <input name="codigof" type="text" id="codigo" value="MFA" readonly="readonly" />
      </p>
    <p>
      <input name="codt" type="text" id="codt" value="codt" readonly="readonly" />
    </p></td></tr></table>

Lo otro es que tengo un php que tiene un textbox que entrega lo ingresado a otra php... hasta ahi todo bien .. pero necesito que lo deje dentro de otra casilla de texto y además valide si está en una BD mysql antes de enviar .. lo tengo asi ..Pero no me funciona

ingresar , validar y enviar

Código PHP:
<?php 
     session_start
();
    include_once 
"conexion.php";
?> 
<?php
   
    
function verificar_testm($rut,&$result)
    {
        
$sql "SELECT * FROM testm WHERE rut = '$rut'";
        
$rec mysql_query($sql);
        
$count 0;
        while(
$row mysql_fetch_object($rec))
        {
            
$count++;
            
$result $row;
        }
        if(
$count == 1)
        {
            return 
1;
        }
        else
        {
            return 
0;
        }
    }
    
    {
        if(isset(
$_POST['rut']))
        {
            if(
verificar_testm($_POST['rut'],$result) == 1)
            {
             echo 
'<div class="error">ya la hizo</div>';
            }
            else
            {
                
header("location:a_mf1.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>Documento sin título</title>

</head>

<body>
<form action="recibir.php" method="post"> 
Escribe tu rut: <input type="text" name="rut" size="10"> 
<input type="submit" value="Entrar"> 
</form>
 
</body>
</html>
donde recibe y necesito que la guarde en un textbox
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>Documento sin título</title>
</head>
<?php 
$rut 
$_POST["rut"]; 
echo 
"Tu rut: $rut<p>"


      echo 
"Bienvenido"
 
?>
<body>
<form id="form1" name="form1" method="post" action="">
  <input type="text" name="rut" id="rut" />
</form>
</body>
</html>
muchas gracias por la ayuda
  #2 (permalink)  
Antiguo 27/09/2012, 21:56
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

En cuánto al primer caso, deberías ponerle algún valor a los input, en el value están vacíos, luego al enviarlo puedes imprimir $_POST['nombre_del_campo'] en cada input. <input type="text" value="<?php echo $_POST['nombre']; ?>">.

Con lo que entendí supongo que esa es la respuesta.

Con la segunda veo que envías datos a un formulario y si la información es correcta redireccionas a otra página. Al hacer esta redirección estás perdiendo el valor del $_POST, si quieres puedes enviarlas vía $_GET en la url que redireccionas. Además el campo tampoco tiene un value.

PD: creo que sería más práctico validar usando ajax o jquery ajax, se hace más fácil para tu caso.

Saludos
__________________
La educación y la cortesía abren todas las puertas.
  #3 (permalink)  
Antiguo 28/09/2012, 05:05
 
Fecha de Ingreso: enero-2004
Mensajes: 72
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

gracias por tu respuesta...

sobre lo primero lo veo altiro para ver si me funciona..


lo segundo ....

sucede que al enviar deja de validar y envia es decir este o no este pasa a la segunda paguina entregando la varible sin problema


Cita:
Iniciado por arepavieja Ver Mensaje
En cuánto al primer caso, deberías ponerle algún valor a los input, en el value están vacíos, luego al enviarlo puedes imprimir $_POST['nombre_del_campo'] en cada input. <input type="text" value="<?php echo $_POST['nombre']; ?>">.

Con lo que entendí supongo que esa es la respuesta.

Con la segunda veo que envías datos a un formulario y si la información es correcta redireccionas a otra página. Al hacer esta redirección estás perdiendo el valor del $_POST, si quieres puedes enviarlas vía $_GET en la url que redireccionas. Además el campo tampoco tiene un value.

PD: creo que sería más práctico validar usando ajax o jquery ajax, se hace más fácil para tu caso.

Saludos
  #4 (permalink)  
Antiguo 28/09/2012, 08:04
 
Fecha de Ingreso: enero-2004
Mensajes: 72
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

el primer caso .. me funciono... gracias...

solo me queda elproblema de poder pasar la variable y validar

ayuda !!!

gracias por su tiempo
  #5 (permalink)  
Antiguo 28/09/2012, 08:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

Cita:
Iniciado por arepavieja Ver Mensaje

Con la segunda veo que envías datos a un formulario y si la información es correcta redireccionas a otra página. Al hacer esta redirección estás perdiendo el valor del $_POST, si quieres puedes enviarlas vía $_GET en la url que redireccionas. Además el campo tampoco tiene un value.


Saludos
Ya te estan dando la respuesta como rediriges a otra pagina pierdes esos valores.
puedes enviar el valor por la url

header("location:a_mf1.php?rut=123)");

o utilizar sesiones y en ambos casos debes investigar para que no se te complique mas.
  #6 (permalink)  
Antiguo 28/09/2012, 09:41
 
Fecha de Ingreso: enero-2004
Mensajes: 72
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

lo voy a ver... enseguida aver si me funciona me eh pasado varias horas tratando que funcione....

vuel a explicar un poco el problema... por que la verdad es que no pierdo la variable cuando la envio .. la recibo y la muestro sin problemas...

por ejemplo sin post

entro a rut.php -> ingreso el rut -> valido -> si existe en la bd -> paso a otra web "recibir.php" // si no existe en la bd me manda un mensaje que no existe , y me quedo en rut.php

hasta ahi me funciona bien.... "sin recibir ningun dato

cuando en el form action le coloco
<form action="recibir.php" method="post".....

entro a rut.php-> ingreso el rut -> valido -> si existe en la bd -> paso a otra web "recibir.php" y me muestra lo enviado por POST sin problema .... el tema es que al ingresar un rut que no existe de igual manera pasa a recibir.php y tambien me muestra lo recibido por POST " en este caso el RUT malo"

estoy en esto ahora debo sacarlo en la tarde .. estare atento y muchas gracias

Última edición por KAKOROSAS; 28/09/2012 a las 09:48
  #7 (permalink)  
Antiguo 28/09/2012, 09:51
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

pues mira la logica q estas usando para comparar

Esta funcion siempre te esta retornando 1
Código PHP:
Ver original
  1. function verificar_testm($rut,&$result)
  2.     {
  3.         $sql = "SELECT * FROM testm WHERE rut = '$rut'";
  4.         $rec = mysql_query($sql);
  5.         $count = 0;
  6.         while($row = mysql_fetch_object($rec))
  7.         {
  8.             $count++;
  9.             $result = $row;
  10.         }
  11.         if($count == 1)
  12.         {
  13.             return 1;
  14.         }
  15.         else
  16.         {
  17.             return 0;
  18.         }
  19.     }
Debes de comparar el valor del rut con los valores que vas obteniendo si en algun caso es igual retornar un 1 y de lo contrario retornar 0

Edit:Miento esta entrando por lo menos una ves aunq no encuentre el rut.

Última edición por maxpower2008; 28/09/2012 a las 09:58
  #8 (permalink)  
Antiguo 28/09/2012, 11:34
 
Fecha de Ingreso: enero-2004
Mensajes: 72
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: se borra lo ingresado al validar y conflico con validar y $POST

lo solucione gracias a ustedes.. muchas gracias.....

haber con que otra cosa me pillo

Cita:
Iniciado por maxpower2008 Ver Mensaje
pues mira la logica q estas usando para comparar

Esta funcion siempre te esta retornando 1
Código PHP:
Ver original
  1. function verificar_testm($rut,&$result)
  2.     {
  3.         $sql = "SELECT * FROM testm WHERE rut = '$rut'";
  4.         $rec = mysql_query($sql);
  5.         $count = 0;
  6.         while($row = mysql_fetch_object($rec))
  7.         {
  8.             $count++;
  9.             $result = $row;
  10.         }
  11.         if($count == 1)
  12.         {
  13.             return 1;
  14.         }
  15.         else
  16.         {
  17.             return 0;
  18.         }
  19.     }
Debes de comparar el valor del rut con los valores que vas obteniendo si en algun caso es igual retornar un 1 y de lo contrario retornar 0

Edit:Miento esta entrando por lo menos una ves aunq no encuentre el rut.

Etiquetas: borra, html, mysql, post, sql
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 17:19.