Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2017, 00:59
bienpiyao
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Espacio extra al final usando textarea y explode

Buenas,

Tengo un textarea en la cual se introducen una serie de colores a elegir por el usuario. Se tienen que meter uno por línea.


Código HTML:
<form id="insertarColores" name="insertarColores" method="post" action="insertaColores.php" onsubmit="validar()">
<textarea name="colores" id="colores" rows="5" cols="40"></textarea>
</form> 
Un formulario muy simple. Validar() simplemente valida que el textarea no esté vacío.

insertaColores tiene:

Código PHP:
/*Conectamos con la base de datos*/
        
$conexion bd ();
    
/*Recogemos los datos del formulario*/
        
$colores$_POST["colores"];
$a explode("\n"$colores);

foreach ( 
$a as $color=> $valor)
{
                    
    
$sql "INSERT INTO colores (color)
               VALUES ('"
.$valor."')";
                        
    
$res mysql_query($sql);
                

Este código funciona bien con una sola salvedad. Me mete un espacio extra al final de cada color menos del último de la lista.

Ejemplo:

Meto en el textarea:

rojo
azul
amarillo
verde

En la base de datos me mete una fila por color (bien) pero para los tres primeros mete un espacio extra al final y para el último (verde) no. Entiendo que al haber un salto de línea, lo interpreta como un espacio y como en el último elemento no lo hay, pues no lo mete.

Cómo podría evitar que me metiera ese espacio extra?

Gracias por anticipado!