Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2008, 04:29
Avatar de Simbelmyne
Simbelmyne
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 3 meses
Puntos: 0
Evitar perder datos, si algo no fue llenado correctamente en un formulario

Hola a todos, pues bien tengo un formulario donde en el caso de que algo no haya sido llenado correctamente o falté algún dato indispensable pues le muestra un mensaje al usuario. Para ello lo que hago es en el campo de value poner el nombre de la variable que recoge los datos del control. El problema es que hay un menulist con el que si me lo hace (menulist 'medico') y en otro no (menulist 'paciente'), pese a que estoy utilizando el mismo codigo para ambos.

Agradeceria en vdd pudieran ayudarme

A continuacion el codigo con el que pretendo recuperar los datos, y con el que lleno asimismo el menulist. Cabe mencionar que una vez que me marca un msj en el menulist de 'medico' me toma el valor que habia seleccionado, pero en el de 'paciente' no lo respeta

Código HTML:
 <td width="237" nowrap="nowrap" class="Estilo2">
                    <div align="right">Nombre del Paciente:                </div></td>
                  <td width="365">
                    <select name="paciente" >
                    	<?php do {?>
                        	<option value = "<?php echo $pacientes['cvepaciente']?>" <?php if ($pacientes['cvepaciente'] == $paciente){echo "selected";}?>>
                            				 <?php echo $pacientes['paciente']?></option>
                                             <?php } while ($pacientes = mysql_fetch_assoc($paciente)); ?>
                    </select> </td>
                </tr>
                <tr>
                  <td><div align="right" nowrap="nowrap" class="Estilo2">Doctor (a): </div></td>
                  <td>
                    <select name="medico" >
                    	<?php do {?>
                        	<option value = "<?php echo $docs['cveempleado']?>" <?php if ($docs['cveempleado'] == $medico){echo "selected";}?>>
											 <?php echo $docs['doctor']?></option>
                             				 <?php } while ($docs = mysql_fetch_assoc($doc)); ?>
                    </select>                  
                   </td> 
A continuación el codigo donde realizo la evaluacion del contenido de cada campo, auqneu pienso que no afecta mucho en realidad...

Código PHP:
        $query_CitasAdded "SELECT cvecita FROM citas where (cvepaciente = '" $_POST['paciente'] . "' OR cveempleado = '" $_POST['medico'] . "') AND fecha_cita = '" $_POST['fecha_cita'] . "' AND cvehora = " $_POST['horas'];
        
$citasadded mysql_query($query_CitasAdded$central) or die(mysql_error());;
        
$CitasRepetidas mysql_num_rows($citasadded);

        
//Verificamos que los campos obligatorios hayan sido llenados
        
if (($_POST['paciente'] == '') || ($_POST['medico'] == '') || ($_POST['fecha_cita'] == '')){
        
$Verifica "Verifique que los campos marcados, hayan sido llenados";
        }
//En el caso de que la cita sea programada con una fecha anterior a la de hoy no se podrá guardar
        
elseif ($_POST['fecha_cita'] < date("d-m-Y")){
        
$Verifica "No puede programar una cita con fecha anterior al día de hoy";
        }elseif (
$CitasRepetidas>0){
        
//En el caso de que exista una cita para ese día con el mismo doctor deberá de notificarse, para que no se duplique
        
$Verifica "Verifique que el paciente o el doctor no tengan una cita activa a la misma hora";
        }
        else{
        
//Tomamos los valores
        
$cvepaciente $_POST['paciente']; 
        
$cveempleado $_POST['medico'];
        
$fecha_cita $_POST['fecha_cita'];
        
$hora_cita $_POST['horas'];
        
$fecha_reg date("Y-m-d H:m:s");
        
$observaciones $_POST['observ'] ;
        
$cvecatprod "";
        
$cveuser $cveemp;
        
$cveestatus "1";

        
//insertamos en la BD
        
$query_insert sprintf("insert into citas(cvepaciente, cveempleado, fecha_cita, cvehora, fec_reg, observaciones, cveproducto, cveuser, cveestatus) values('$cvepaciente', '$cveempleado', '$fecha_cita', '$hora_cita', '$fecha_reg', '$observaciones', '$cveproducto', '$cveuser', '$cveestatus')",                                                                                    GetSQLValueString($_POST['cvepaciente'], "int"),                                                      
                               
GetSQLValueString($_POST['cveempleado'], "int"),                                                   
                               
GetSQLValueString($_POST['fecha_cita'] , "int"),
                               
GetSQLValueString($_POST['hora_cita'] , "date"),
                               
GetSQLValueString($_POST['fecha_reg'] , "date"),                       
                               
GetSQLValueString($_POST['observaciones'], "text"),
                               
GetSQLValueString(''"text"),
                               
GetSQLValueString($cveemp"int"),
                               
GetSQLValueString(1"int"));
                               
          
mysql_select_db($database_central$central);
          
$Result mysql_query($query_insert$central) or die(mysql_error());
          
          
//en el caso de la consulta se haya ejecutado correctamente regresamos a la página de citas 
          
$insertGoTo "citas.php";
          if (isset(
$_SERVER['QUERY_STRING'])) {
            
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
            
$insertGoTo .= $_SERVER['QUERY_STRING'];
          } 
            echo 
"<script>";
            echo 
"location.replace(\"citas.php?day=" date("d") . "&month=" date("m") . "&year=" date("Y") . "\"); ";
            echo 
"</script>";
        }