Foros del Web » Programando para Internet » PHP »

recuperar valor variable

Estas en el tema de recuperar valor variable en el foro de PHP en Foros del Web. Hola a tod@s, tengo un problemilla, haber si entre todos podemos solucionarlo, yo le he dado 1000 vueltas y no veo el fallo. Tengo una ...
  #1 (permalink)  
Antiguo 21/06/2010, 06:59
Avatar de Cristy_blk  
Fecha de Ingreso: abril-2010
Ubicación: Granada
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
recuperar valor variable

Hola a tod@s, tengo un problemilla, haber si entre todos podemos solucionarlo, yo le he dado 1000 vueltas y no veo el fallo.

Tengo una base de datos donde almaceno unos datos, después los visualizo en un fichero; hasta ahí todo bien pero en ese fichero tengo dos botones, en uno llamo al fichero modificar.php y en el otro a eliminar.php.
Estos ficheros me sirven para borrar datos de la tabla o para modificarlos.
El problema es que no me coge el valor de las cajas de texto por lo que siempre al modificar me lo modifica vacio etc...

Les dejo los ficheros haber si ven el fallo, gracias!.

Archivo mireserva.php
Código HTML:
...
<body>
<?php
//Realizaremos algunas de las mismas operaciones que en los otros ficheros php, hacemos la conexion y la guardamos en una variable.
$conexion=mysql_connect("localhost","root","");

//seleccionamos la base de datos y el mensaje de error en caso de que no pueda conectar.
mysql_select_db("hotel",$conexion)or die ("*****Conexion a base de datos no realizada*****");

//en esta variable recuperamos el valor de dni para poder utilizarlo.
$dni=$_REQUEST['dni'];
echo $dni;

//realizamos un consulta a la base de datos, donde nos muestra todos los datos dondo el dni sea igual al contenido de nuestra variable dni.
$resul=mysql_query("SELECT * FROM reservas WHERE dni='$dni'",$conexion);

//guardamos los resultados en un array.
$fila=mysql_fetch_array($resul);

//esta entencia nos sirve para comprobar si existe el dni, si al realizar la consulta el resultado es 0 (lo que quiere decir que no está en la tabla), nos abre un archivo html que nos informa de que el dni que hemos introducido no es válido (no existe dentro de nuestra tabla).
if (mysql_num_rows($resul)==0)
{
Header("Location: nodni.html");
}

?>

<form action="" method="post" name="form4" class="form_row" id="form4">
        <div class="form_row">
          <label>Llegada:</label>
          <label>
          <input type="text" name="llegada"  value="<?php echo $fila[llegada];?>"/>
          </label>
        </div>
            <div class="form_row">
              <label>Salida:</label>
              <input type="text" name="salida"  value="<?php echo $fila[salida];?>"/>
            </div>
            <div align="center" class="form_row">
              <p>Habitaciones:              
                 <input name="habitaciones" type="text" size="5"  value="<?php echo $fila[habitaciones];?>" />
              </p>
              <div align="justify">
                  <div></div>
              </div>
              <div align="left">
                <p>Personas:              
                  <input name="personas" type="text" size="5"  value="<?php echo $fila[personas];?>"/>
                </p>
              </div>
              <div align="justify">
                <div>
                  <div align="justify">DNI:
                    
                 <input name="dni" type="text" size="15" value="<?php echo $fila[dni];?>" method="get"/>
                  </div>
                  <label> </label>
                
                  <label></label>
                </div>
              </div>
            </div>
          </form>
          <div class="cleaner">
            <p>&nbsp;</p>
          </div>
        </div>
        <p>
        <label>
<div align="center">
          <div align="center">
          <!-- NOTAS: En estos dos botones llamamos a los ficheros php eliminar o modificar según el boton que pulsemos -->
            <form id="form1" name="form1" method="post" action="">
              <label>
                <input type="submit" name="Submit" value="Eliminar" onClick="this.form.action='eliminar.php'"/>
              </label>
              <label>
              <input type="submit" name="Submit2" value="Modificar"  onClick="this.form.action='modificar.php'"/>
              </label>
            </form>
...
<body> 
fichero eliminar.php

Código PHP:
<?php
//Este archivo nos permite eliminar datos en nuestra base de datos, a continuación lo veremos detalladamente.

//Despues de abrir la etiqueta PHP, nos creamos una variable que contendrá la conexión a nuestra base de datos, deberemos configurar el nombre del servidor, el usuario y la contraseña según lo hallamos hecho al instalar mysql.
$conexion=mysql_connect("localhost","root","");

//Seleccionamos la base de datos que vamos a utilizar, y escribimos la información que queremos que nos muestre cuando no pueda conectarse.
mysql_select_db("hotel",$conexion) or die ("***** Conexión a base de datos no realizada*****");
//en esta variable recuperamos el valor de dni para poder utilizarlo.
$dni=$_REQUEST['dni'];

echo 
$dni ;
                    
echo 
"DELETE FROM reservas WHERE dni='$dni'";
//Ahora borramos los datos segun el dni de nuestra tabla, esta acción la guardamos dentro de la variable resul.
$resul=mysql_query("DELETE FROM reservas WHERE dni='$dni'",$conexion); 

//comprobamos si se ha borrado o no.
if (mysql_errno ($conexion)==0){
//Si todo a ido correctamente se nos mostrarán estas dos frasea, que nos indica que la reserva se ha borrado y un vinculo para             volver a la página principal.
    
echo "<center><b class='Estilo1 Estilo2'>Reserva Borrada</b></center>";
    echo 
"<center><b class='Estilo1 Estilo2'><a href='index.html'>Volver</a></b></center>";
    }
    
else{
//Si ha ocurrido algún error en el proceso, nos aparecerán estos dos mensajes, diciendonos que la reserva no se ha borrado y el vinculo para volver a la página principal.
    
echo "<center><b>Error al borrar reserva</b></center>";    
    echo 
"<center><b class='Estilo1 Estilo2'><a href='index.html'>Volver</a></b></center>";    
    }
    
//Por último cerramos la conexion y la etiqueta.    
$conexion=mysql_close($conexion);
?>
fichero modificar.php

Código PHP:
<?php
//Este archivo nos permite realizar modificaciones en nuestra base de datos.

//Despues de abrir la etiqueta PHP, nos creamos una variable que contendrá la conexión a nuestra base de datos, deberemos configurar el nombre del servidor, el usuario y la contraseña según lo hallamos hecho al instalar mysql.
$conexion=mysql_connect("localhost","root","");
$llegada=$_REQUEST['llegada'];
//Seleccionamos la base de datos que vamos a utilizar, y escribimos la información que queremos que nos muestre cuando no pueda conectarse.
mysql_select_db("hotel",$conexion) or die ("***** Conexión a base de datos no realizada*****");    

echo 
"UPDATE reservas SET llegada='$llegada', salida='$salida', habitaciones='$habitaciones', personas='$personas', dni='$dni'";                    

//Ahora realizamos la actualizacion de los datos en nuestra tabla, esta acción la guardamos dentro de la variable resul.
$resul=mysql_query("UPDATE reservas SET llegada='$llegada', salida='$salida', habitaciones='$habitaciones', personas='$personas', dni='$dni'",$conexion); 

//comprobamos si se ha modificado o no.
if (mysql_errno ($conexion)==0){
//Si todo a ido correctamente se nos mostrarán estas dos frasea, que nos indica que la reserva se ha modificado y un vinculo para             volver a la página principal.
    
echo "<center><b class='Estilo1 Estilo2'>Reserva modificada</b></center>";
    echo 
"<center><b class='Estilo1 Estilo2'><a href='index.html'>Volver</a></b></center>";
    }
    
else{
//Si ha ocurrido algún error en el proceso, nos aparecerán estos dos mensajes, diciendonos que la reserva no se ha actualizado y el vinculo para volver a la página principal.
    
echo "<center><b>Error al modificar la reserva</b></center>";    
    echo 
"<center><b class='Estilo1 Estilo2'><a href='index.html'>Volver</a></b></center>";
    }    
//Por último cerramos la conexion y la etiqueta.
$conexion=mysql_close($conexion);
?>
  #2 (permalink)  
Antiguo 21/06/2010, 07:46
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: recuperar valor variable

el action del form está vacio
__________________
no quiero ser un árbol y caminar
Jacinto Piedra
  #3 (permalink)  
Antiguo 21/06/2010, 09:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recuperar valor variable

Cristy_blk, prueba depurando tus variables al inicio del script:
Código PHP:
var_dump($_POST); 
así, antes de ejecutar tus consultas verificas los valores... ;)

Cita:
Iniciado por CdG Ver Mensaje
el action del form está vacio
eso ni importa... al final, si el action viene vacío siempre se envía hacía la misma pagina...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 21/06/2010, 09:34
Avatar de Cristy_blk  
Fecha de Ingreso: abril-2010
Ubicación: Granada
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Respuesta: recuperar valor variable

cual el form1 o el form4?? es que como tengo dos botones no sabia cual tenia que poner...
pero he probado a poner en el action los archivos y ni aun asi me lo coge...
:(
  #5 (permalink)  
Antiguo 21/06/2010, 09:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recuperar valor variable

Cita:
Iniciado por Cristy_blk Ver Mensaje
cual el form1 o el form4?? es que como tengo dos botones no sabia cual tenia que poner...
pero he probado a poner en el action los archivos y ni aun asi me lo coge...
:(
ese es precisamente tu problema, los formularios son entidades individuales...

y los campos de los datos los tienes en el primer formulario, ¿porque has creado otro??

eso es todo, por favor... elimina el segundo formulario e integra los botones dentro del primero... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 21/06/2010, 10:18
Avatar de Cristy_blk  
Fecha de Ingreso: abril-2010
Ubicación: Granada
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Respuesta: recuperar valor variable

ok, ya lo e hecho y ya me funciona el fichero borrar, pero sigue sin modificar.

en modificar tengo esto:

Cita:
echo "UPDATE reservas SET llegada='$llegada', salida='$salida', habitaciones='$habitaciones', personas='$personas', dni='$dni'";
de forma que puedo ver si coge el valor o no. Si los coge pero no lo modifica, por que puede ser???

gracias x todo!
  #7 (permalink)  
Antiguo 21/06/2010, 10:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recuperar valor variable

te sugiero depurar tus consultas...
Código PHP:
mysql_query(/* tu consulta */) or die(mysql_error()); 
además, para una sentencia UPDATE debe usarse un WHERE también... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 21/06/2010, 10:30
Avatar de Cristy_blk  
Fecha de Ingreso: abril-2010
Ubicación: Granada
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Respuesta: recuperar valor variable

Ya lo solucione!!! mil gracias!!
  #9 (permalink)  
Antiguo 21/06/2010, 14:11
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: recuperar valor variable

Me parecio no ver un loop while.


Código PHP:

//deberias recorrer tu resultado mas o menos  asi:

?>
<form action="" method="post" name="form4" class="form_row" id="form4">
<?php

while($fila=mysql_fetch_array($resul)){

<
input type="text" name="llegada"  value="<?php echo $fila[llegada];?>"/>

//etc.... 

}

?>

</form>
<?php
  #10 (permalink)  
Antiguo 21/06/2010, 14:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 52
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: recuperar valor variable

seria bueno mostrar la solucion!!
quede con la duda!

Etiquetas: recuperar, variables
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:36.