Foros del Web » Programando para Internet » PHP »

Problema con variable vacia

Estas en el tema de Problema con variable vacia en el foro de PHP en Foros del Web. A ver tengo el siguiente codigo y no paro de darle vueltas al porque me devuelve la variable $value vacia, podrían revisarlo? Muchas veces te ...
  #1 (permalink)  
Antiguo 04/12/2011, 16:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 43
Antigüedad: 14 años, 11 meses
Puntos: 2
Problema con variable vacia

A ver tengo el siguiente codigo y no paro de darle vueltas al porque me devuelve la variable $value vacia, podrían revisarlo? Muchas veces te ofuscas en algo y tu mismo te invalidas para obtener la respuesta, gracias.

Código PHP:
<body>

<?php
include ('funciones.php');
if (
verificar_correop()){
include (
'cabecera.php');
$conexion mysql_connect('*''*''*'); // se conecta con el servidor

mysql_select_db('campuslista'$conexion); // selecciona la base de datos
$result mysql_query("SELECT * FROM SITIOS"$conexion) or die(mysql_error());
$num_fields mysql_num_fields($result);
for(
$i=1;$i<$num_fields;$i++){

$tabla mysql_query("SELECT * FROM SITIOS") or die(mysql_error());
while (
$registro mysql_fetch_array($tabla)) {
$alpha=$registro['EVENTO'.$i];
$pieces explode(","$alpha);
if (
$pieces[0] != "")
{
echo 
"<table border='1' width='530' height='210'>
  <tr>
    <td height='257' width='23' rowspan='3'>&nbsp;</td>
    <td height='28' width='131'>&nbsp;</td>
    <td height='28' width='354' colspan='2'>$pieces[0]</td>
  </tr>
  <tr>
    <td height='191' width='131'><a href='$pieces[3]' title='click para ampliar' target='_blank'><img src='$pieces[3]' style='noBigImages() padding:10px; width:100; height:100; background-color: #CB292C;' class='centrarimagen'></a></td>
    <td height='191' width='354' colspan='2'>$pieces[2]</td>
  </tr>
  <tr>
    
<td height='25' width='131'>&nbsp;</td>
    <td height='25' width='112'><form method='POST' action='inicio.php'>
      Apúntame en lista!
<input type='checkbox' style='background-color:#CB292C' name='$pieces[0]' onclick='this.form.submit();' value='$pieces[0]'></form></td>
    <td height='25' width='114'>
    <p align='right'>Entrada: $pieces[1]</td>
  </tr>
</table><br></body>"
;
  if(isset(
$_POST[$pieces[0]]))
  {
  
$value .=$pieces[0].",";
  echo 
$value;
  }
}
}
}


mysql_free_result($tabla); // libera los registros de la tabla

mysql_close($conexion); // cierra la conexion con la base de datos
}
  else {
  
//si el correop no es verificado volvera al formulario de ingreso
  
header('Location:index.php');
}
?>
  #2 (permalink)  
Antiguo 04/12/2011, 17:58
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Problema con variable vacia

será porque la estás imprimiendo en pantalla fuera del body????

</body>";
if(isset($_POST[$pieces[0]]))
{
$value .=$pieces[0].",";
echo $value;
}
}
}
}
__________________
la la la
  #3 (permalink)  
Antiguo 05/12/2011, 14:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 43
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Problema con variable vacia

No creo que se trate de eso, el tema es que no carga el valor del form en la variable, pero lo revisaré
  #4 (permalink)  
Antiguo 05/12/2011, 17:26
 
Fecha de Ingreso: diciembre-2011
Ubicación: Buenos Aires
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema con variable vacia

Es que metiste en el medio POST y no hay ningun envio de POST

Código PHP:
Ver original
  1. if(isset($_POST[$pieces[0]]))
  2.   {
  3.   $value .=$pieces[0].",";

Probalo asi :

Código PHP:
Ver original
  1. if($pieces[0] != "")
  2.   {
  3.   $value .=$pieces[0].",";
  4.   echo $value;
  5.   }

En este momento no tengo el xampp sino lo probaba, pero testealo y me decis y lo vemos.

Saludos
  #5 (permalink)  
Antiguo 05/12/2011, 20:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 43
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Problema con variable vacia

Eso lo tenia en mente y así funciona pero necesito que se asignen los valores a la variable cuando está seleccionado el checkbox y de esa manera figuran siempre...
  #6 (permalink)  
Antiguo 06/12/2011, 10:20
 
Fecha de Ingreso: diciembre-2011
Ubicación: Buenos Aires
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema con variable vacia

Entonces primero creas una sentencia if que verifique el envió del CheckBox y si es así que asigne los valores.
Asi nomas hago el code, no lo probé pero mas o menos se me ocurre así.

Código PHP:
Ver original
  1. if($pieces[0] != "" && isset($_POST['nombre_del_checkbox']))
  2.   {
  3.   $value .=$pieces[0].",";
  4.   echo $value;
  5.   }

Coméntame cual es la idea, lo que quieres hacer, tal vez haya otra manera de hacerlo.

Saludos
  #7 (permalink)  
Antiguo 06/12/2011, 11:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 43
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Problema con variable vacia

El nombre del checkbox es pieces[0] obtiene el valor de un campo de la base de datos que mediante un explode convierte en un array, concretamente lo que quiero es que al marcar el checkbox añada ese valor a la variable para luego incorporarlo a otro campo de la base de datos, voy a describir mi codigo:

Código PHP:
<?php
include ('funciones.php');
if (
verificar_correop()){
include (
'cabecera.php');
$conexion mysql_connect('*''*''*'); // se conecta con el servidor

mysql_select_db('campuslista'$conexion); // selecciona la base de datos
$result mysql_query("SELECT * FROM SITIOS"$conexion) or die(mysql_error());
$num_fields mysql_num_fields($result); // cuenta los numero  de columnas para ejecutar la segunda query en funcion de los que encuentre
for($i=1;$i<$num_fields;$i++){

$tabla mysql_query("SELECT * FROM SITIOS") or die(mysql_error());
while (
$registro mysql_fetch_array($tabla)) { // por cada una de las columnas teniendo en cuenta que el formato es EVENTO+num toma los valores los separa por la coma y lo convierte en array
$alpha=$registro['EVENTO'.$i];
$pieces explode(","$alpha);
if (
$pieces[0] != "")
// crea la tabla con los valores obtenidos cuando $pieces[0] no esta vacia
echo "<table border='1' width='530' height='210'>
  <tr>
    <td height='257' width='23' rowspan='3'>&nbsp;</td>
    <td height='28' width='131'>&nbsp;</td>
    <td height='28' width='354' colspan='2'>$pieces[0]</td>
  </tr>
  <tr>
    <td height='191' width='131'><a href='$pieces[3]' title='click para ampliar' target='_blank'><img src='$pieces[3]' style='noBigImages() padding:10px; width:100; height:100; background-color: #CB292C;' class='centrarimagen'></a></td>
    <td height='191' width='354' colspan='2'>$pieces[2]</td>
  </tr>
  <tr>
    
<td height='25' width='131'>&nbsp;</td>
    <td height='25' width='112'><form method='POST' action='inicio.php'>
      Apúntame en lista!
<input type='checkbox' style='background-color:#CB292C' name='$pieces[0]' onclick='this.form.submit();' value='$pieces[0]'></form></td> // el valor y nombre del check box son los mismos que la primera parte del campo y los reconoce echando un vistazo al codigo fuente
    <td height='25' width='114'>
    <p align='right'>Entrada: $pieces[1]</td>
  </tr>
</table><br></body>"
;
  if(isset(
$_POST[$pieces[0]])) // lo que quiero que haga y no hace es que introduzca esos valores en la variable
  
{
  
$value .=$pieces[0].",";
  echo 
$value;
  }
}
}
}


mysql_free_result($tabla); // libera los registros de la tabla

mysql_close($conexion); // cierra la conexion con la base de datos
}
  else {
  
//si el correop no es verificado volvera al formulario de ingreso
  
header('Location:index.php');
}
?>

Etiquetas: formulario, mysql, registro, sql, tabla, variables, vacias
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 08:20.