Foros del Web » Programando para Internet » PHP »

mensaje Undefined offset al introducir variable en argumento de funcion

Estas en el tema de mensaje Undefined offset al introducir variable en argumento de funcion en el foro de PHP en Foros del Web. Hola a todos Tengo este codigo, basicamente lo que hace o deberia hacer es, una vez que establezco un numero de dias y los asigno ...
  #1 (permalink)  
Antiguo 23/07/2009, 05:27
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
mensaje Undefined offset al introducir variable en argumento de funcion

Hola a todos

Tengo este codigo, basicamente lo que hace o deberia hacer es, una vez que establezco un numero de dias y los asigno a la variable $dias_diferencia deberia hacer un update del campo habitaciones para una serie de fechas, en este caso 5 dias a partir de una fecha que he introducido al igual que habitaciones con un formulario
Hay una funcion que suma dias, si en esa funcion le pongo en el argumento fecha una fecha funciona pero si en lugar de la fecha pongo $fecha, variable que recoge el valor enviado con un post pues me sale el error:

Notice: Undefined offset: 2 in C:\wamp\www\interfazadmin\update.php on line 18

Notice: Undefined offset: 1 in C:\wamp\www\interfazadmin\update.php on line 18

Warning: mktime() expects parameter 6 to be long, string given in C:\wamp\www\interfazadmin\update.php on line 19


es la primera vez que me pasa, os agradeceria si me pudieseis decir algo si a alguien que lea este mensaje le ha pasado tambien; gracias y que vaya bien


<?php
include("funcionesMySQL.php");
$conexion=conectar("medidorg_kbank");
if(isset($_POST['habitaciones']) && isset($_POST['fecha'])){
$habitaciones=$_POST['habitaciones'];
$fecha=($_POST['fecha']);
$dias_diferencia=5;
function sumaDia($fecha,$i)
{ list($year,$mon,$day) = explode('-',$fecha);
return date('Y-m-d',mktime(0,0,0,$mon,$day+$i,$year));
}

for ($i=0;$i<=$dias_diferencia;$i++){
$diap=sumaDia('$fecha',$i);
$modificacion = "UPDATE ejemplo SET
habitaciones =$habitaciones
WHERE fecha = '$diap'";
consultar($modificacion);
}



}
  #2 (permalink)  
Antiguo 23/07/2009, 05:52
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: mensaje Undefined offset al introducir variable en argumento de funcion

1- Esto no es valido

Código PHP:
$diap=sumaDia('$fecha',$i); ## Linea 14.

/*

No estas mandando el valor de la variable fecha . 
las comillas simple no interpretan las variables.

*/ 
Esto deveria funcionar.

Código PHP:

<?php

function sumaDia($fecha,$i)
{    list(
$year,$mon,$day) = explode('-',$fecha);
return 
date('Y-m-d',mktime(0,0,0,$mon,$day+$i,$year));
}


$fecha "2009-03-21";

for(
$a=0;$a<10;$a++){
echo 
"<br>";
echo 
sumaDia($fecha,$a);
}
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 07:43.