Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problemas al definir una variable

Estas en el tema de problemas al definir una variable en el foro de PHP en Foros del Web. CODIGO <html> <head> <meta charset="UTF-8"> <title>Actualizar</title> </head> <body> <?php $conexion = mysqli_connect("localhost","odek","prueba","prueba 1"); if($conexion->connect_error){ die("Error en la conexion : ".$conexion->connect_errno."-".$conexion->connect_error); }; $fecha = $_GET['fecha']; $sentencia ...
  #1 (permalink)  
Antiguo 30/07/2014, 16:56
Avatar de odek  
Fecha de Ingreso: julio-2011
Ubicación: México
Mensajes: 55
Antigüedad: 12 años, 9 meses
Puntos: 1
problemas al definir una variable

CODIGO



<html>
<head>
<meta charset="UTF-8">
<title>Actualizar</title>
</head>
<body>
<?php


$conexion = mysqli_connect("localhost","odek","prueba","prueba 1"); if($conexion->connect_error){
die("Error en la conexion : ".$conexion->connect_errno."-".$conexion->connect_error);
};

$fecha = $_GET['fecha'];

$sentencia = "SELECT * FROM MOSTRAR WHERE fecha='".$fecha."'";

$resultado = mysqli_query($conexion,$sentencia);
echo '<pre>';
print_r(mysqli_fetch_array($resultado));
?>
</body>
</html>



RESULTADO:


Notice: Undefined index: fecha in /Applications/XAMPP/xamppfiles/htdocs/acceso/enunsitio/act.php on line 15


porque no reconoce la variable fecha?????
__________________
Mi life in pixel -_-
  #2 (permalink)  
Antiguo 30/07/2014, 17:32
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problemas al definir una variable

Muéstranos el resultado de lo siguiente:

Código PHP:
Ver original
  1. var_dump($_GET);

Así sabremos si el valor de 'fecha' está llegando.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 30/07/2014, 17:50
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: problemas al definir una variable

Yo diria que estas escapando mal la query , por favor usa highlight para que se lea y entieda mejor el código:
Código PHP:
$sentencia "SELECT * FROM MOSTRAR WHERE fecha '$fecha' " 
Otra cosa , como mínimo deberías sanear todo lo que recibes por GET/POST para evitar inyecciones de sql ...

Código PHP:
mysql_escape_string() 
Saludos!
  #4 (permalink)  
Antiguo 30/07/2014, 17:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problemas al definir una variable

Cita:
Iniciado por Djoaq Ver Mensaje
Yo diria que estas escapando mal la query...
Hacerlo de cualquiera de las siguientes formas, dará el mismo resultado:

Código PHP:
Ver original
  1. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '$fecha'";
  2. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '".$fecha."'"; //Es la que él tiene
  3. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '{$fecha}'";

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 30/07/2014, 17:59
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: problemas al definir una variable

Cita:
Iniciado por Alexis88 Ver Mensaje
Hacerlo de cualquiera de las siguientes formas, dará el mismo resultado:

Código PHP:
Ver original
  1. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '$fecha'";
  2. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '".$fecha."'"; //Es la que él tiene
  3. $sentencia = "SELECT * FROM MOSTRAR WHERE fecha '{$fecha}'";

Saludos
Gracias Alexis88 .

Ya lo sabía , pero es que se ve tan mal ...

Ademas me he fijado mejor y el error que esta dando es porque no esta recibiendo la fecha por get ... como has dicho , probablemente por los slashes .

Saludos!
  #6 (permalink)  
Antiguo 31/07/2014, 10:23
Avatar de odek  
Fecha de Ingreso: julio-2011
Ubicación: México
Mensajes: 55
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas al definir una variable

Cita:
Iniciado por Alexis88 Ver Mensaje
Muéstranos el resultado de lo siguiente:

Código PHP:
Ver original
  1. var_dump($_GET);

Así sabremos si el valor de 'fecha' está llegando.

Saludos

ESTE ES EL RESULTADO

array(0) { }

---------
Cambie esto y ya no aparece el error, sin embargo no arroja ningún resultado.

$fecha = $_GET['fecha'];

por esto:

if (isset($_GET['fecha'])) {
$fecha = $_GET['fecha'];
} else {
$fecha = "";
}
__________________
Mi life in pixel -_-

Última edición por odek; 31/07/2014 a las 10:29
  #7 (permalink)  
Antiguo 31/07/2014, 10:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: problemas al definir una variable

Entonces no estás recibiendo el dato mediante el método GET, probablemente sea por POST.

Inténtalo así:

Código PHP:
Ver original
  1. $fecha = $_POST['fecha'];

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 31/07/2014, 10:47
Avatar de odek  
Fecha de Ingreso: julio-2011
Ubicación: México
Mensajes: 55
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas al definir una variable

Cita:
Iniciado por Alexis88 Ver Mensaje
Entonces no estás recibiendo el dato mediante el método GET, probablemente sea por POST.

Inténtalo así:

Código PHP:
Ver original
  1. $fecha = $_POST['fecha'];

Saludos


Tampoco funciono, probe con actualizar php y apache y curiosamente ya funciona como get y como post. No entiendo que habrá pasado pero gracias.

Lo que quiero realizar es que esta variable se muestre en una tabla para ser modificada

$resultado = mysqli_query($conexion,$sentencia);
while ($fila = mysqli_fetch_array($resultado)){
echo '
<td><input type="text" name="fecha" value='.$fila['fecha'].'></td>
';
}

pero no otorga resultado.
__________________
Mi life in pixel -_-

Etiquetas: definir, fecha, html, mysql, select, sql, variable
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:25.