Foros del Web » Programando para Internet » PHP »

error procesar formulario en la misma pagina

Estas en el tema de error procesar formulario en la misma pagina en el foro de PHP en Foros del Web. Buenas genios!! Quiero que al llenar los campos de un formulario de expediente, busque antes en la base prueba, tabla pasajes, columna expediente si ya ...
  #1 (permalink)  
Antiguo 03/07/2012, 09:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
error procesar formulario en la misma pagina

Buenas genios!! Quiero que al llenar los campos de un formulario de expediente, busque antes en la base prueba, tabla pasajes, columna expediente si ya existe antes. para hacerlo concateno el contenido de los 4 campos de texto, lo convierto a caracter y lo guardo en $f y pregunto si la busqueda es igual a los campos concatenados entonces es porque ya esxiste y quiero sacar un mensaje de alerta en la misma pagina diciendo que ya esta cargado sino lo esta entonces que inserte el expediente en la tabla ahhh y quisiera que desp de eso que pase el foco al siguiente campo, pero el problema es que no hace nada al apretar el boton "carga", y antes de que agregue la linea if(isset($_POST['Carga'])) me daba error cuando cargaba la pagina de mysql_fetch_array() expects parameter 1 to be resource, boolean given in que me estoy equivocando??????
  #2 (permalink)  
Antiguo 03/07/2012, 09:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

jajaj, me olvide de poner el codigo!!!

<!--Aca va el expediente-->
<div align="center">
<form action="pasajes.preliminar.carga.php" method="post">
Expediente
<input class="col_1" onkeypress="return handleEnter(this, event)" name="caract" type="text">
-<input class="col_1" onkeypress="return handleEnter(this, event)" name="num" type="text">
/ <input class="col_1" onkeypress="return handleEnter(this, event)" name="anio" type="text">
-<input class="col_1" onkeypress="return handleEnter(this, event)" name="alc" type="text">
<input class="small green" value="Carga" type="submit">
</form>
</div>
<!--/Aca va el expediente-->

<!--Aca va la busqueda del expediente-->
<?php

$cone=mysql_connect("localhost","charly163","charl y") or die("mal la conexion");
mysql_select_db("prueba",$cone) or die("mal la base");

if(isset($_POST['Carga']))
{

$caract=isset($_POST['caract']);
$num=isset($_POST['num']);
$anio=isset($_POST['anio']);
$alc=isset($_POST['alc']);
$f=$caract.$num.$anio.$alc;
settype($f,"string");



$busqueda=mysql_query("select expediente from pasajes",$cone) or die(mysql_error());
if($busqueda=$f)
{
echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE YA ESTA CARGADO</div>".$busqueda['expediente'];
}
else
{
mysql_query("insert into pasajes(expediente) values ($f)");
}
//echo $res['expediente'];
/*
if ($res=mysql_fetch_array($busqueda))
{
echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE YA ESTA CARGADO</div>".$busqueda['expediente'];
//aca tengo que ver la forma de que salga el mensaje de error de la pagina anterior
}
else
{
mysql_query("insert into pasajes(expediente) values ($f)");
}
*/
}
?>
<!--/Aca va la busqueda del expediente-->
  #3 (permalink)  
Antiguo 03/07/2012, 12:22
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: error procesar formulario en la misma pagina

Bueno primero por ser nuevo me imagino que no sabes, pero uno debe usar los Highlight para que los codigos que coloquemos se observen de una manera correcta

Código PHP:
Ver original
  1. <!--Aca va el expediente-->
  2. <div align="center">
  3. <form action="pasajes.preliminar.carga.php" method="post">
  4. Expediente
  5. <input class="col_1" onkeypress="return handleEnter(this, event)" name="caract" type="text">
  6. -<input class="col_1" onkeypress="return handleEnter(this, event)" name="num" type="text">
  7. / <input class="col_1" onkeypress="return handleEnter(this, event)" name="anio" type="text">
  8. -<input class="col_1" onkeypress="return handleEnter(this, event)" name="alc" type="text">
  9. <input class="small green" value="Carga" type="submit">
  10. </form>
  11. </div>
  12. <!--/Aca va el expediente-->
  13.  
  14. <!--Aca va la busqueda del expediente-->
  15. <?php
  16.  
  17. $cone=mysql_connect("localhost","charly163","charl y") or die("mal la conexion");
  18. mysql_select_db("prueba",$cone) or die("mal la base");
  19.  
  20. if(isset($_POST['Carga']))
  21. {
  22.  
  23. $caract=isset($_POST['caract']);
  24. $num=isset($_POST['num']);
  25. $anio=isset($_POST['anio']);
  26. $alc=isset($_POST['alc']);
  27. $f=$caract.$num.$anio.$alc;
  28. settype($f,"string");
  29.  
  30.  
  31.  
  32. $busqueda=mysql_query("select expediente from pasajes",$cone) or die(mysql_error());
  33. $array = mysql_fetch_array($busqueda);
  34. if($array['expediente']==$f)
  35. {
  36. echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE YA ESTA CARGADO</div>".$f;
  37. }
  38. else
  39. {
  40. mysql_query("insert into pasajes(expediente) values ($f)");
  41. }
  42. //echo $res['expediente'];
  43. /*
  44. if ($res=mysql_fetch_array($busqueda))
  45. {
  46. echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE YA ESTA CARGADO</div>".$busqueda['expediente'];
  47. //aca tengo que ver la forma de que salga el mensaje de error de la pagina anterior
  48. }
  49. else
  50. {
  51. mysql_query("insert into pasajes(expediente) values ($f)");
  52. }
  53. */
  54. }
  55. ?>
  56. <!--/Aca va la busqueda del expediente-->

alli te coloque unas lineas, pero yo veo en forma general que le falta pulir ese codigo
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #4 (permalink)  
Antiguo 03/07/2012, 12:28
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: error procesar formulario en la misma pagina

Hola mucho gusto yo también soy nuevo y pues veo que es interesante este foro mira con la parte de que no carga el submit pues creo que le tienes que poner name
espero yo no este equivocado también jeje Saludos
  #5 (permalink)  
Antiguo 03/07/2012, 15:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

ah perdon, soy nuevo en el foro y en php!! me podrias decir que es lo q tengo pulir?? mira qbhasta llegue, y tambien agrego que le puse nombre al form, pero sigue sin funcionar!!!
  #6 (permalink)  
Antiguo 03/07/2012, 19:34
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: error procesar formulario en la misma pagina

Si mira agrega mi email y te puedo ayudar mejor creo que se encuentra en mi perfil y no era nombre al formulario es que mira cuando ocupas
Código PHP:
if(isset($_POST['Carga'])) 
estas refiriéndote al submit del form cuando dices Carga a esa sección le falta name al botón
Código PHP:
<input class="small green" value="Carga" type="submit" name="Carga"

Algo así con eso te cargara y probaras los errores.


Saludos
  #7 (permalink)  
Antiguo 03/07/2012, 20:36
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

tu mail no aparece, gracias de todas formas, mañana lo pruebo, eso de ponerle el nombre, la verdad son unos capos y reponden muy rapido, excelente foro
  #8 (permalink)  
Antiguo 04/07/2012, 05:07
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: error procesar formulario en la misma pagina

Hola SouljAk es muy bueno que quieras prestarle tu ayuda al amigo charly163, pero es preferible hacerlo por el mismo foro, ya que asi cualquier otra persona que tenga un problema parecido podra resolverlo te voy a hacer un codigo mas o menos de lo que quieres guiandome del tuyo


guarda este como
cone.php
en este ira unicamente la conexion a la BD es mejor asi
Código PHP:
Ver original
  1. <?php
  2. function Conectate()
  3. {
  4.        $link=mysql_connect("localhost","charly163","charly");
  5.  
  6.         mysql_select_db("prueba",$link);
  7.         return $link;
  8. }
  9. ?>

y el tuyo debe estar en este caso en la misma carpeta de cone.php para que funcione este codigo
Código PHP:
Ver original
  1. <!--Aca va la busqueda del expediente-->
  2. <?php
  3. $form=0;
  4.  
  5. ## aqui te agregue un poco de codigo para que no guarde en blanco
  6. if(isset($_GET['Carga']) && !empty($_GET['caract']) && !empty($_GET['num'])) {
  7.  
  8. if(isset($_GET['caract'])) { $caract=$_GET['caract']; }
  9. if(isset($_GET['num'])) { $num=$_GET['num']; }
  10. if (isset($_GET['anio'])) { $anio=$_GET['anio']; }
  11. if (isset($_GET['alc'])) { $alc=$_GET['alc']; }
  12. $f=$caract.$num.$anio.$alc;
  13. settype($f,"string");
  14. *
  15. *
  16. //esto crea la conexion a la base de datos
  17. include_once('cone.php');
  18. Conectate();
  19. ## fin de codigo conexion BD ##
  20.  
  21. *
  22. $busqueda=mysql_query("select expediente from pasajes") or die(mysql_error());
  23. $array = mysql_fetch_array($busqueda);
  24. if($array['expediente']==$f)
  25. {
  26. echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE YA ESTA CARGADO</div>".$f;
  27. $form=0;
  28. }
  29. else
  30. {
  31. mysql_query("insert into pasajes(expediente) values ($f)") or die (mysql_error());
  32. echo "<div style='text-align: center;'>GUARDADO CON EXITO</div>".$f;
  33. $form=0;
  34. }
  35.  
  36. } else {
  37. $form=1;
  38. }
  39. ?>
  40. <!--/Aca va la busqueda del expediente-->
  41. <?php
  42. if ($form==0) {
  43. ?>
  44. <div align="center">
  45. <form action="" method="get">
  46. Expediente
  47. <input class="col_1" onkeypress="return handleEnter(this, event)" name="caract" type="text">
  48. -<input class="col_1" onkeypress="return handleEnter(this, event)" name="num" type="text">
  49. / <input class="col_1" onkeypress="return handleEnter(this, event)" name="anio" type="text">
  50. -<input class="col_1" onkeypress="return handleEnter(this, event)" name="alc" type="text">
  51. <input class="small green" name="Carga" value="Carga" type="submit">
  52. </form>
  53. </div>
  54. <?php } else { ?>
  55. <div align="center">
  56. <form action="" method="get">
  57. Expediente
  58. <input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $caract; ?>" name="caract" type="text">
  59. -<input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $num; ?>" name="num" type="text">
  60. / <input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $anio; ?>" name="anio" type="text">
  61. -<input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $alc; ?>" name="alc" type="text">
  62. <input class="small green" name="Carga" value="Carga" type="submit">
  63. </form>
  64. </div>
  65.         <script type='text/javascript' language='javascript'>
  66.         alert('FALTAN DATOS POR INGRESAR')  
  67.         </script>
  68.  
  69. <?php } ?>

la verdad no lo probe, asi que haz las pruebas y me avisas


otra cosa, lo hice con GET para que veas en la barra de direcciones que te esta enviando, y te guies por alli, luego puedes pasarlo a POST sin problemas
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Última edición por johhan16; 04/07/2012 a las 05:27
  #9 (permalink)  
Antiguo 04/07/2012, 08:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

lo estoy revisando ahora, pero lo primero que veo es que alcargar la pagina, ya me sale el script que dice "FALTAN DATOS POR INGRESAR".
2) carga expedientes ya ingresados, es decir duplica en la bd los exped, a veces hace eso y otras veces me sale el cartel bien que ya esta ingresados.
3) si lo carga al exped me sale el cartel "guardado con exito", pero no me rellena con lo ingresado los campos del expediente
4) no entiendo que hace la variable $form??
  #10 (permalink)  
Antiguo 04/07/2012, 08:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

y otra pregunta: si en otro lado de la pagina tengo que hacer un select o algo con la base, tengo que llamar a la funcion Conectate(); o con haberla llamado mas arriba ya esta?? GRACIASSSSS
  #11 (permalink)  
Antiguo 04/07/2012, 10:11
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: error procesar formulario en la misma pagina

ok lo primero es raro que al cargar la pagina te muestre que falten datos, ya que al principio deberia cargar $form=0 entonces no deberia mostrar el mensaje


2.- si duplica los expedientes fijate que los duplique al 100% o de pronto hay un espacio de mas y hace que no sean iguales

3.- no entiendo esta parte

4.- la variable form es para saber al final cual formulario se mostrara, el vacio o el que le faltan campos


y la funcion conectate(); en este caso solo funciona cuando pasa el primer if, pero normalmente debes llamarla en cada pagina.php que tengas que usar BD de esta forma


Código PHP:
Ver original
  1. <?php
  2. include_once('cone.php');
  3. Conectate();
  4. ?>
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Última edición por johhan16; 04/07/2012 a las 10:17
  #12 (permalink)  
Antiguo 05/07/2012, 05:33
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

sI, si recargo la pagina me sale el mensaje javascript.
tambien duplica los expediente, y son exactamente iguales no tienen ninguna diferencia.
3-lo que quiero es que si el expediente "no esta" entonces al apretar el boton queden los campos del expediente, llenos con los datos que puso el usuario para que continue con otra cosa, no se si me explico, que sean readonly pero q se lean los datos que puso.
  #13 (permalink)  
Antiguo 05/07/2012, 06:08
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: error procesar formulario en la misma pagina

2 cosas: pongo de nuevo el codigo que fue modificando de lo que uds me cambiaron x si yo le estoy errando, pero sigue haciendo lo q puse anteriormente y pido perdon pero no se como numerar las lineas del codigo.



Código:
<?php
$form=0;
## aqui te agregue un poco de codigo para que no guarde en blanco

if(isset($_POST['Carga']) && !empty($_POST['caract']) && !empty($_POST['num']) && !empty($_POST['anio'])) 
{
    if(isset($_POST['caract'])) 
     { 
        $caract=$_POST['caract']; 
     }

    if(isset($_POST['num'])) 
    { 
        $num=$_POST['num']; 
    }

    if (isset($_POST['anio'])) 
    { 
        $anio=$_POST['anio']; 
    }

    if (isset($_POST['alc']))
    { 
        $alc=$_POST['alc']; 
    }

 $f=$caract.$num.$anio.$alc;

 settype($f,"string");


//conexion a la base de datos
include_once('cone.php');
Conectate();
//conexion a la base de datos


 $busqueda=mysql_query("select expediente from pasajes") or die(mysql_error());
 $array = mysql_fetch_array($busqueda);
 if($array['expediente']==$f)
 {
  echo "<div style='text-align: center;' class='notice error'>EL EXPEDIENTE $caract-$num-$anio-$alc YA ESTA CARGADO</div>";
  $form=0;
 }
 else
 {
    mysql_query("insert into pasajes(expediente) values ($f)") or die (mysql_error());
  ?>  
   <div class='notice success'>GUARDADO CON EXITO</div>
    
  <?php  
    
   // echo "<div class='notice success'>GUARDADO CON EXITO</div>"; 
    $form=0;
 }

} 
else 
 {

 $form=1;

 }
?>
<!--/Aca va la busqueda del expediente-->

<?php 

if ($form==0) 
{

?>
<!--Aca va el expediente-->
<div align="center">
<form action="pasajes.preliminar.carga.php" method="post">
Expediente 
<input class="col_1" onkeypress="return handleEnter(this, event)" name="caract" type="text">
-<input class="col_1" onkeypress="return handleEnter(this, event)" name="num" type="text">
/ <input class="col_1" onkeypress="return handleEnter(this, event)" name="anio" type="text">
-<input class="col_1" onkeypress="return handleEnter(this, event)" name="alc" type="text">
<input class="small green" value="Carga"  name="Carga" type="submit">
</form>
</div>
<!--/Aca va el expediente-->
<?php 
} 
else 
{ 
?>

<div align="center">

<form action="pasajes.preliminar.carga.php" method="post">

Expediente 

<input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $caract; ?>" name="caract" type="text">

-<input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $num; ?>" name="num" type="text">

/ <input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $anio; ?>" name="anio" type="text">

-<input class="col_1" onkeypress="return handleEnter(this, event)" value="<?php $alc; ?>" name="alc" type="text">

<input class="small green" name="Carga" value="Carga" type="submit">

</form>

</div>

        <script type='text/javascript' language='javascript'>

        alert('FALTAN DATOS POR INGRESAR');

        </script>

 

<?php 
} 
?>

Etiquetas: formulario, mysql, procesar, tabla
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 15:20.