Ocultar datos de la url( no es GET o POST) con javascr

Te pregunto debido a que no sé como avanzar en este proyecto.
Bien, el problema surge porque yo tengo que comprobar en un principio si los datos recogidos en un formulario de PHP son correctos ( sacados de una tabla de MYSQL).
Más tarde lo que hace es comprobar si hay registros de ese día :
Si los hay debe de editarlos para abrir o cerrar( es un programa para fichar)
Si no los hay debe de crearlo
Para esto utilizo un script en Javascript, el problema es que he de visualizar el contenido para poder pasarlo.
Te adjunto el código

<HTML>
    <HEAD>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link REL="SHORTCUT ICON" HREF="favicon.ico">
<TITLE>Fichador</TITLE>
    </HEAD>
<BODY>
<div align="center">
<h1>Fichar</h1>
<br>
<!--
//PETICION DE DATOS AL EMPLEADO
-->
      <FORM NAME="CAPTURA" ACTION="" METHOD="POST" >
      Usuario<br>
        <INPUT TYPE="TEXT" NAME="usuario"><br>
        Contraseña<br>
        <INPUT TYPE="password" NAME="contra"><br>
        <br>Observaciones<br>
        <INPUT TYPE="TEXT" NAME="obser"><br>
        <INPUT TYPE="SUBMIT" value="Iniciar Sesión">
      </FORM>
    <?php
    //CONEXION CON EL SERVIDOR PARA COMPROBAR CONTRASEÑA
    $con = mysql_connect("xxxx","xxxx","xxxx");
    mysql_select_db("tablaa",$con);
    $usuario=$_POST['usuario'];
    $contra=$_POST['contra'];
    $obser=$_POST['obser'];
    $fecha=date("d/n/Y");
    $hora=date("H:i:s");
        //COMPROBACION DE USUARIO Y CONTRASEÑA
    $ssql = "SELECT * FROM usuarios WHERE usuario='$usuario' and contra='$contra'";
    $rs = mysql_query($ssql,$con);    
    if ( mysql_num_rows($rs)!= 0 )
       {
    //SI NO DA FALLOS ENTRA EN EL RECORRIDO DEL PHP
          $sqlfec= "SELECT * FROM prueba WHERE usuario='$usuario' and contra='$contra' and fecha='$fecha'" or die ("Error en la consulta");
          $rsfec = mysql_query($sqlfec,$con);
          $consulta = mysql_query("SELECT * FROM prueba WHERE usuario='$usuario' and contra='$contra' and fecha='$fecha'")or die ("Error en la consulta");
          $fila= mysql_fetch_array($consulta);
          $fin_manana = $fila['fin_manana'];
          $tarde = $fila['tarde'];    
          $fin_tarde = $fila['fin_tarde'];          
            if ( mysql_num_rows($rsfec)!= 0 )
            {
                //SI ENTRA AQUI ES PORQUE HAY REGISTRO DE HOY
                if($fin_manana=="")
                        {
                        //CIERRA DE MAÑANA
                        ?>
                      
<script language='JavaScript'>

                        <?php echo "window.self.location='actualizar_tarde.php?usuario=$usuario&contra=$contra&obser3=$obser'" ?>
                        </script>

                        <?php
                        }                    
                elseif($tarde=="")                        {
                        //COMIENZO TARDE
                        ?>
                        
<script language='JavaScript'>
                        <?php echo "window.self.location='actualizar_tarde.php?usuario=$usuario&contra=$contra&obser3=$obser'" ?>
                        </script>

                        <?php
                        }            
                elseif($fin_tarde=="")
                        {
                        //CIERRA DE TARDE
                        ?>
                        
<script language='JavaScript'>
                        <?php echo...

1 Respuesta

Respuesta
1
Lo primero que debes hacer es separar tu código en dos. Por una parte el formulario de introducción de datos del usuario, que puede ser una página html:
<HTML> 
<HEAD> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link REL="SHORTCUT ICON" HREF="favicon.ico">
<TITLE>Fichador</TITLE> 
    </HEAD> 
<BODY>
<div align="center">
<h1>Fichar</h1>
<br> 
<!-- 
//PETICION DE DATOS AL EMPLEADO 
--> 
      <FORM NAME="CAPTURA" ACTION="proceso.php" METHOD="POST" > 
      Usuario<br> 
        <INPUT TYPE="TEXT" NAME="usuario"><br> 
        Contrase&ntilde;a<br> 
        <INPUT TYPE="password" NAME="contra"><br> 
        <br>Observaciones<br> 
        <INPUT TYPE="TEXT" NAME="obser"><br> 
        <INPUT TYPE="SUBMIT" value="Iniciar Sesi&oacute;n"> 
      </FORM>
</div>
</BODY>
</HTML>
Por otra parte, tienes que crearte "proceso.php" con el código que resta, que va a ser el que consulte en base de datos, recogiendo los datos del formulario anterior. Dependiendo del resultado de la query, parece que llama a una php u a otra (eso ya es cosa del código que has puesto).
Bueno, espero que al menos te haya orientado un poco. Si tienes más dudas, ya sabes. 1 Saludo:
Carlos.
Gracias por aceptar la pregunta:
Pero me parece que no me has comprendido.
Lo que yo busco es que los datos enviados ahora por el archivo proceso.php a por ejemplo insertar_tarde ( que acaba de crearme un registro ahora al no tener uno) no sean visibles en la url!
http://xxxxx/insertar_tarde.php?usuario=a&contra=a&obser3=prueba
Esto es debido a lo que te puse en negrita, que he de realizar echo, ya que sin el echo no me funciona, ¿conoces alguna función similar para pasarle los datos?
Gracias y un saludo
Puedes crearte un formulario en una capa oculta, y hacer un post. También podrías guardar los datos en sesión y recuperarlos en la siguiente php desde la sesión, y no por parámetro. Yo de PHP no tengo ni idea, por lo que no se cómo se guardan y recuperan datos en la sesión http.
Si quieres ayuda para cualquiera de las alternativas que te propongo, seguimos hablando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas