SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: lllll en Viernes 8 de Junio de 2007, 18:08

Título: Re: Procesar Un Formulario Sin Perderlo
Publicado por: lllll en Viernes 8 de Junio de 2007, 18:08
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.
Título: Re: Procesar Un Formulario Sin Perderlo
Publicado por: RadicalEd en Viernes 8 de Junio de 2007, 18:43
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
}
Título: Re: Procesar Un Formulario Sin Perderlo
Publicado por: Mollense en Sábado 9 de Junio de 2007, 00:12
Utilizando AJAX