• Domingo 22 de Diciembre de 2024, 19:05

Autor Tema:  Re: Procesar Un Formulario Sin Perderlo  (Leído 997 veces)

lllll

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Procesar Un Formulario Sin Perderlo
« en: Viernes 8 de Junio de 2007, 18:08 »
0
La situación es la siguiente:

Este es el formulario en HTML

Código: Text
  1.  <FORM action="Colecciones_Data_Alta.php" method="post">
  2.    <table>
  3.        <tr><td align="right">Codigo:</td>         <td> <INPUT type="text" name="txtCodigo" maxlength="10" size="12" class="txtBox"></td></tr>
  4.        <tr><td align="right">Descripción:</td>    <td> <INPUT type="text" name="txtDescripcion" maxlength="30" size="32" class="txtBox"><b></b></td></tr>
  5.        <tr><td align="right">Año:</td>            <td> <SELECT size="1" name="txtAnio">
  6.                                                          <OPTION>2007</OPTION>
  7.                                                          <OPTION>2008</OPTION>
  8.                                                          <OPTION>2009</OPTION>
  9.                                                       </SELECT></td></tr>
  10.        <tr><td align="right">Temporada:</td>      <td> <SELECT size="1" name="txtTemporada">
  11.                                                          <OPTION>1</OPTION>
  12.                                                          <OPTION>2</OPTION>
  13.                                                          <OPTION>3</OPTION>
  14.                                                          <OPTION>4</OPTION>
  15.                                                       </SELECT></td></tr></td></tr>
  16.    </table>
  17.    <p>
  18.    <INPUT type="submit" value="Guardar Colección"> <INPUT type="reset" value="Limpiar">
  19.    <br>
  20.    <br>
  21.  </FORM>
  22.  



Este es el script PHP

Código: Text
  1. <?php
  2.  
  3.    $txtCodigo = $_POST[txtCodigo];
  4.    $txtDescripcion = $_POST[txtDescripcion];
  5.    $txtAnio = $_POST[txtAnio];
  6.    $txtTemporada = $_POST[txtTemporada];
  7.  
  8.    if (empty($txtCodigo))
  9.       {
  10.       echo "Tiene que digitar un código que identifique la colección.";
  11.       }
  12.    elseif (empty($txtDescripcion))
  13.       {
  14.       echo "Ingrese una descripción para la colección.";
  15.       }
  16.    else
  17.       {
  18.          require("conectar.inc.php"); //archivo que contiene la coneccion
  19.  
  20.          $consulta = "select * from coleccion where codigo = '$txtCodigo'";
  21.          $resultado = mysql_query($consulta,$conexion);
  22.          $registros = mysql_num_rows($resultado);
  23.  
  24.          if ($registros==0)
  25.             {
  26.             $insertar = "insert into coleccion values ('$txtCodigo','$txtDescripcion','$txtAnio','$txtTemporada',now())";
  27.             $resultadoInsertar = mysql_query($insertar,$conexion);
  28.             echo "
  29.                <h3 style='background-color: #CCFFCC'>La siguiente colección ha sido ingresado a la base de datos:</h3>
  30.  
  31.                <center>
  32.                <table border='1' bordercolor='#CCFFCC' cellspacing='0' style='font-family: arial; font-size: 13px;'>
  33.                <tr><td bgcolor='#CCFFCC' width='40%' align='center'><b>Campo</b></td>  <td bgcolor='#CCFFCC' width='40%' align='center'><b>Dato</b></td></tr>
  34.                <tr><td align='right'>Codigo:</td>        <td>$txtCodigo</td></tr>
  35.                <tr><td align='right'>Descripción:</td>   <td>$txtDescripcion</td></tr>
  36.                <tr><td align='right'>Año:</td>           <td>$txtAnio</td></tr>
  37.                <tr><td align='right'>Temporada:</td>     <td>$txtTemporada</td></tr>
  38.                </table>
  39.                </center>
  40.                ";
  41.             }
  42.          else
  43.             {
  44.             $registro = mysql_fetch_array($resultado);
  45.             echo "
  46.  
  47.                <h3 style='background-color: red; color: white;'>Ya existe este código en el sistema con la siguiente informacion:</h3>
  48.  
  49.                <center>
  50.                <table border='1' bordercolor='red' cellspacing='0' style='font-family: arial; font-size: 13px;'>
  51.                <tr align='center'><td bgcolor='red' width='40%'><b>Campo</b></td>  <td bgcolor='red'  width='40%'><b>Dato</b></td></tr>
  52.                <tr><td align='right'>Codigo:</td>        <td>".$registro["codigo"]."</td></tr>
  53.                <tr><td align='right'>Descripción:</td>   <td>".$registro["descripcion"]."</td></tr>
  54.                <tr><td align='right'>Año:</td>           <td>".$registro["anio"]."</td></tr>
  55.                <tr><td align='right'>Temporada:</td>     <td>".$registro["temporada"]."</td></tr>
  56.                </table>
  57.  
  58.                <h2 style='background-color: red; color: white;'><br><br><br>Rectifique que la información que intenta ingresar esté correcta.<br><br><br><br></h2>
  59.  
  60.                </center>
  61.                ";
  62.             }
  63.       }
  64. ?>
  65.  


Lo que quiero saber es que si hay alguna forma de que se verifique si existe la información que se va a ingresar sin salir del formulario y sacar un ALERT() de javascript informando que ya existe el dato en la base de datos en caso de que exista.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Procesar Un Formulario Sin Perderlo
« Respuesta #1 en: Viernes 8 de Junio de 2007, 18:43 »
0
Haz el script PHP dentro del formulario, en el campo action puedes colocar:
action="<? $_SERVER['PHP_SELF']; ?>"

Y al final colocas tu script, guiandote por el nombre que le des al boton submit:

if ($submit)
{
  //EL SCRIPT QUE DESCRIBES ABAJO
}
El pasado son solo recuerdos, el futuro son solo sueños

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Procesar Un Formulario Sin Perderlo
« Respuesta #2 en: Sábado 9 de Junio de 2007, 00:12 »
0
Utilizando AJAX
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.