Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No recibe valores con espacio

Estas en el tema de No recibe valores con espacio en el foro de PHP en Foros del Web. Hola chicos, estoy haciendo una especia de CMS, y cuando quiero categorizar unos productos no me recibe las variables con espacios. Una parte del codigo ...
  #1 (permalink)  
Antiguo 24/01/2014, 12:07
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
No recibe valores con espacio

Hola chicos, estoy haciendo una especia de CMS, y cuando quiero categorizar unos productos no me recibe las variables con espacios.


Una parte del codigo -->

Código PHP:
<?php 
$menuDOS
=mysql_query("SELECT nombreMenu FROM menudos WHERE raizMenu='RAÍZ' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($menuDOS)){
        
$nombreMenuDOS=$filas['nombreMenu'];

?>
    <li>
    <input name="<?php echo $nombreMenuDOS;?>" type="checkbox" class="box-bajo" />
    <?php echo $nombreMenuDOS;?>
    </li>
        <ul>
Pag. que recibe

Código PHP:
$lista=mysql_query("SELECT nombreMenu FROM menudos");
    while(
$filas=mysql_fetch_array($lista)){
        
$nombreMenu=$filas['nombreMenu'];

        if (isset(
$_POST[$nombreMenu])) {    
                 echo 
$nombreMenu."<br>";
        }

Supongamos que mi variable del checkbox es "DVR" al verificar el checkbox me muestra que tengo DVR seleccionado e imprime "DVR"...

En los casos que son palabras separadas por espacios...

En la base de datos tengo... Cámaras, DVR, Kit Seguridad, etc...

Ejemplo, "Kit Seguridad" no la muestra, cuando pregunta en el checkbox

Cual es el error ???
  #2 (permalink)  
Antiguo 24/01/2014, 12:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No recibe valores con espacio

¿Es decir que tu código produce algo así?
Código HTML:
Ver original
  1. <input name="Kit Seguridad" />

Eso de entrada está mal, estás violando el estándar de HTML, así que tu problema no tiene nada que ver con PHP.

En todo caso deberías hacerlo así:
Código HTML:
Ver original
  1. <input name="items[]" value="Kit Seguridad" />

O mejor aún, pasar el ID del registro y no un valor textual:
Código HTML:
Ver original
  1. <input name="items[]" value="99" />

Y al recibir los datos ya vienen agrupados en un array:
Código PHP:
print_r($_POST['items']); 
Por favor consulta una referencia de HTML.

Otro problema evidente es el código que "recibe" el formulario.

No hay necesidad de extraer todos los datos de la BD para ir comparando uno a uno lo recibido.

Imagina que tienes millones de registros en la BD y sólo quieres comparar 3 elementos que recibes, ¿te parece inteligente hacer lo que haces?

Piensa un poco y usa tu sentido común.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/01/2014, 13:08
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: No recibe valores con espacio

Al parecer no se tanto como tu, intento ocupar mis propias herramientas y aprender lo que mas pueda... aunque no me respondiste mi duda, porque no lee un carácter con espacio...

Con respuestas como estas ni ganas de postiar en el foro, gente como tu sabelotodo y agresivo...
  #4 (permalink)  
Antiguo 24/01/2014, 13:25
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: No recibe valores con espacio

Cita:
Iniciado por Lesan Ver Mensaje
Cual es el error ???
Cita:
Iniciado por pateketrueke Ver Mensaje
¿Es decir que tu código produce algo así?
Código HTML:
Ver original
  1. <input name="Kit Seguridad" />

Eso de entrada está mal, estás violando el estándar de HTML, así que tu problema no tiene nada que ver con PHP.

En todo caso deberías hacerlo así:
Código HTML:
Ver original
  1. <input name="items[]" value="Kit Seguridad" />

O mejor aún, pasar el ID del registro y no un valor textual:
Código HTML:
Ver original
  1. <input name="items[]" value="99" />

Y al recibir los datos ya vienen agrupados en un array:
Código PHP:
print_r($_POST['items']); 
Por favor consulta una referencia de HTML.

Otro problema evidente es el código que "recibe" el formulario.

No hay necesidad de extraer todos los datos de la BD para ir comparando uno a uno lo recibido.

Imagina que tienes millones de registros en la BD y sólo quieres comparar 3 elementos que recibes, ¿te parece inteligente hacer lo que haces?
Será que estoy leyendo mal o no tengo las gafas bien puestas

@pateketrueke te dijo cual es tu error, te dió posibles soluciones y te dió un "consejo extra"

Y no es que se la dé de sabelotodo, solo que muchas veces la solución a nuestros problemas siempre esta en un manual de referencia de el lenguaje que usemos. Si no me crees mira esto.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 24/01/2014, 13:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: No recibe valores con espacio

Cita:
Iniciado por jonni09lo Ver Mensaje
Será que estoy leyendo mal o no tengo las gafas bien puestas

@pateketrueke te dijo cual es tu error, te dió posibles soluciones y te dió un "consejo extra"

Y no es que se la dé de sabelotodo, solo que muchas veces la solución a nuestros problemas siempre esta en un manual de referencia de el lenguaje que usemos. Si no me crees [URL="http://librosweb.es/xhtml/capitulo_8/elementos_de_formulario.html"]mira esto[/URL].

Saludos
te parece muy agradable el ultimo comentario?

¿te parece inteligente hacer lo que haces?

Piensa un poco y usa tu sentido común.


Quizás tienes la misma mente que el...

En fin...
  #6 (permalink)  
Antiguo 24/01/2014, 13:52
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: No recibe valores con espacio

Cita:
Iniciado por Lesan Ver Mensaje
Quizás tienes la misma mente que el...
Te puedo asegurar que soy peor, solo que aprendí a ser más paciente.


No has dicho aún si lo que te han propuesto soluciona el problema

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 24/01/2014, 13:58
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: No recibe valores con espacio

Cita:
Iniciado por jonni09lo Ver Mensaje


Te puedo asegurar que soy peor, solo que aprendí a ser más paciente.


No has dicho aún si lo que te han propuesto soluciona el problema

Saludos
Soy sumamente paciente... pero intento evitar comentarios con segundas intenciones...

Cuando puse los "ECHO" fueron en modo de ejemplo, necesitaba evaluar en la base de datos que tipo de categorías estaban siendo seleccionadas y cuales tenia que registrar junto a que producto, al menos utilice la idea de USAR la ID en vez del nombre, con eso solucione el problema. Pero no utilice ni value ni name como me dijeron, porque no funciono.
  #8 (permalink)  
Antiguo 24/01/2014, 14:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: No recibe valores con espacio

Código PHP:
<ul>
<?php 
$menuDOS
=mysql_query("SELECT idMenu,nombreMenu FROM menudos WHERE raizMenu='RAÍZ' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($menuDOS)){
        
$idMenuDos=$filas['idMenu'];
        
$nombreMenuDOS=$filas['nombreMenu'];
?>
    <li>
    <input name="<?php echo $idMenuDos?>" type="checkbox" class="box-bajo"/>
    <?php echo $nombreMenuDOS;?>
    </li>
        <ul>
<?php
$sMenuDOS
=mysql_query("SELECT idMenu,nombreMenu FROM menudos WHERE raizMenu='$nombreMenuDOS' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($sMenuDOS)){
        
$idSMenuDos=$filas['idMenu'];
        
$nombreSMenuDOS=$filas['nombreMenu'];        
?>
    <li>
    <input name="<?php echo $idSMenuDos;?>" type="checkbox" class="box-bajo" />
    <?php echo $nombreSMenuDOS;?>
    </li>
        <ul>
<?php
$ssMenuDOS
=mysql_query("SELECT idMenu,nombreMenu FROM menudos WHERE raizMenu='$nombreSMenuDOS' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($ssMenuDOS)){
        
$idSSMenuDos=$filas['idMenu'];
        
$nombreSSMenuDOS=$filas['nombreMenu'];        
?>
    <li>
    <input name="<?php echo $idSSMenuDos;?>" type="checkbox" class="box-bajo" />
    <?php echo $nombreSSMenuDOS;?>
    </li>
        <ul>
<?php
$sssMenuDOS
=mysql_query("SELECT idMenu,nombreMenu FROM menudos WHERE raizMenu='$nombreSSMenuDOS' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($sssMenuDOS)){
        
$idSSSMenuDos=$filas['idMenu'];
        
$nombreSSSMenuDOS=$filas['nombreMenu'];
?>
    <li>
    <input name="<?php echo $idSSSMenuDos;?>" type="checkbox" class="box-bajo" />
    <?php echo $nombreSSSMenuDOS;?>
    </li>
        <ul>
<?php
$ssssMenuDOS
=mysql_query("SELECT idMenu,nombreMenu FROM menudos WHERE raizMenu='$nombreSSSMenuDOS' ORDER BY possMenu");
    while(
$filas=mysql_fetch_array($ssssMenuDOS)){
        
$idSSSSMenuDos=$filas['idMenu'];
        
$nombreSSSSMenuDOS=$filas['nombreMenu'];
?>
    <li>
    <input name="<?php echo $idSSSSMenuDos;?>" type="checkbox" class="box-bajo" />
    <?php echo $nombreSSSSMenuDOS;?>
    </li>

<?php ?>
                </ul>                        
<?php ?>
            </ul>                    
<?php }?>
        </ul>            
<?php ?>
    </ul>
<?php ?>    
</ul>
Código PHP:
<?php 
$productoModelo
=$_POST['productoModelo'];
$productoNombre=$_POST['productoNombre'];
$productoPInstalador=$_POST['productoPInstalador'];
$productoPDistribuidor=$_POST['productoPDistribuidor'];
$productoEstatus='SI';

$addProducto mysql_query("INSERT INTO productos 
(productoModelo,productoNombre,productoPInstalador,productoPDistribuidor,productoEstatus) 
VALUES 
('"
.$productoModelo."','".$productoNombre."','".$productoPInstalador."','".$productoPDistribuidor."','".$productoEstatus."')");
$resultadoProductos mysql_query($addProducto);

$consultaID=mysql_query("SELECT idProducto FROM productos WHERE productoModelo='$productoModelo'");
    while(
$filas=mysql_fetch_array($consultaID)){
        
$idProducto=$filas['idProducto'];
}

$lista=mysql_query("SELECT idMenu,nombreMenu FROM menudos");
    while(
$filas=mysql_fetch_array($lista)){
        
$idMenu=$filas['idMenu'];
        
$nombreMenuT=$filas['nombreMenu'];
        
            
        if (isset(
$_POST[$idMenu])) {    
$addCategorizar mysql_query("INSERT INTO categorizados (nombreCategoria,productoAsociado) 
VALUES('"
.$nombreMenuT."','".$idProducto."')");
            
$resultadoCategorizar mysql_query($addCategorizar);
        }
}

?>

Etiquetas: espacio, 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 18:35.