Foros del Web » Programando para Internet » PHP »

problema undefined offset

Estas en el tema de problema undefined offset en el foro de PHP en Foros del Web. Hola , junto con saludarlos me dirijo a uds con un problema que tengo , resulta que estoy desarrollando una aplicacion en la cual nesesito ...
  #1 (permalink)  
Antiguo 09/03/2011, 08:00
Avatar de xaskon23  
Fecha de Ingreso: febrero-2011
Mensajes: 61
Antigüedad: 13 años, 2 meses
Puntos: 0
problema undefined offset

Hola , junto con saludarlos me dirijo a uds con un problema que tengo , resulta que estoy desarrollando una aplicacion en la cual nesesito desde un mismo select guardar dos valores distintos , es decir poseeo un select el cual me carga los nombres de la base de datos y me guarda el codigo :




parte del codigo del mismo :

1) formulario en donde se encuentra el select y selecciona desde la base de datos

Código PHP:
  <tr>
            <td>&nbsp;</td>
            <td><strong>Recinto(*):</strong></td>
            <td colspan="2">
              <select id="rec" name="rec">
      
                <option value="<?php echo $row_recinto['Recinto_cod']."~".$row_recinto['Recinto_nombre']?>">
                  <?php if (!(strcmp(0$row_recinto['Recinto_nombre']))) {echo "selected=\"selected\"";} ?>
                  Seleccione Uno...</option>
              </select></td>
            <td>&nbsp;</td>
      </tr>
2)codigo en el cual recibe los valores y los procesa:

Código PHP:

<?php
include("scripts/clases/conexion2.php"); 
$link=Conectarse(); 
$area=$_POST['pais']; 
$subfamilia=$_POST['estado']; 

//************* en donde se captura el valor del select ****
$valor=explode("~",$_POST["rec"]);
$recinto=$valor[0];
$actual=$valor[1];
//*********************fin captura select ******************

$clase=$_POST['ciudad'];
$codigo=$_POST['codigo'];
$codigo2=$_POST['codigo_interno'];
$folio=$_POST['folio']; 
$marca=$_POST['marca']; 
$modelo=$_POST['modelo']; 
$serie=$_POST['serie']; 
$uso=$_POST['Cab_Uso']; 
$estado=$_POST['Cab_estado']; 
$comp=$_POST['Cab_compatibilidad']; 
$obs=$_POST['observacion']; 
$cant=$_POST['cantidad']; 
$carr=$_POST['carrera']; 
$dia=$_POST['dia'];
$mes=$_POST['mes'];
$año=$_POST['año'];
$fecha2="$dia/$mes/$año";

            
//ingresa un dato nuevo a la base de datos

mysql_query("REPLACE into movimiento (Cab_cod_inter,Cab_folio,Cab_Marca,Cab_Modelo,Cab_Serie,Cab_Uso,Cab_estado,Cab_compatibilidad,Cab_Observacion,Cab_fecha,Cab_cant,Recinto_cod_FK,Car_cod_FK,Clase_cod_FK,SubFam_cod,codigo,Actual) 
            values($codigo,$folio,'$marca','$modelo','$serie','$uso','$estado','$comp','$obs','$fecha2',$cant,$recinto,$carr,$clase,$subfamilia,$codigo2,'$actual')"
,$link)or die(mysql_error());


include(
"ingresos.php");

echo 
"<script type=''>
    alert('Los datos fueron ingresados correctamente');
    window.location='ingresos.php';
</script>"
;
?>
el problema es que genera un error y por ende no me guarda el valor del nombre en la base de datos ... el error que me aparece es : undefined offset 1 en la linea 10 que corresponderia al valor de :

Código PHP:
$actual=$valor[1]; 
una imagen de la lineas :




en resumen a que se debe esto , a que puede deberse y que se puede hacer para solucionarlo???

o si no que se puede hacer para obtener este mismo resultado haciendolo de una forma diferente ???

de antemano , muchas gracias por el tiempo y por la respuestas ... graciasss..
  #2 (permalink)  
Antiguo 10/03/2011, 09:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: problema undefined offset

Seguramente haya un problema de codificacion. Estas usando un caracter "raro", y deberías codificar a utf-8 para recibirlo. O usar un caracter no raro:

proba esto a ver que caracteres aparecen en pantalla:
die($valor);

Luego, si el problema es de codificacion, busca sobre utf8_encode() y utf8_decode()

  #3 (permalink)  
Antiguo 10/03/2011, 13:15
Avatar de xaskon23  
Fecha de Ingreso: febrero-2011
Mensajes: 61
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: problema undefined offset

Cita:
Iniciado por mayid Ver Mensaje
Seguramente haya un problema de codificacion. Estas usando un caracter "raro", y deberías codificar a utf-8 para recibirlo. O usar un caracter no raro:

proba esto a ver que caracteres aparecen en pantalla:
die($valor);

Luego, si el problema es de codificacion, busca sobre utf8_encode() y utf8_decode()

gracias por la ayuda , se agrede las respuesta ... al final de tanto buscar la solucion a dicho problema opte por buscar a otra metodo para obtener el mismo resultado!! ... con una solucion un poco mas compleja pero que al final de todo resulto ser mas eficiente !! ... se agradece enormemente tu tiempo y tu ayuda graciasssss......
__________________
" "Seamos realistas y hagamos lo imposible." "
  #4 (permalink)  
Antiguo 10/03/2011, 13:19
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: problema undefined offset

y en ves de separar los valores con ~ .. porque no usas otro caracter ?...

value="dato1:::dato2"
  #5 (permalink)  
Antiguo 10/03/2011, 16:03
Avatar de xaskon23  
Fecha de Ingreso: febrero-2011
Mensajes: 61
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: problema undefined offset

Cita:
Iniciado por Hidek1 Ver Mensaje
y en ves de separar los valores con ~ .. porque no usas otro caracter ?...

value="dato1:::dato2"
En realidad por diversos motivos me vi en la nesesidad de utilizar otro forma para lograr dicho resultado , por temas mas relacionados con el tiempo , k kon la paciencia , ya que me encontraba en una situacion de apuro.. finalmente consegui obtener dicho resultado pero utilizando otra forma , GRACIAS de todas formas .. se agrdece el tiempo y la ayuda!! ... GRACIAS.....
__________________
" "Seamos realistas y hagamos lo imposible." "

Etiquetas: offset, undefined
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 17:03.