Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Maquetación textarea

Estas en el tema de Maquetación textarea en el foro de PHP en Foros del Web. Buenas soy nuevo en el foro y necesito un poco de ayuda! Os explico , tengo una sección de noticias en mi web y tengo ...
  #1 (permalink)  
Antiguo 07/04/2015, 04:45
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Maquetación textarea

Buenas soy nuevo en el foro y necesito un poco de ayuda!

Os explico , tengo una sección de noticias en mi web y tengo un backend por el cual insertando una foto , un titulo y el contenido de la noticia , la crea y la inserta en la base de datos , de ahi la recupera y la muestra en la sección de noticias.

Con el titulo y la foto no tengo problema porque puedo modificarlos sin problemas pero con el texto que introduzco por el texarea, no consigo que me recoja saltos de linea y me sale todo el texto junto.

Os dejo el codigo que creo que es lo importante para esto a ver si alguno me puede ayudar.

Dentro del documento admin que es donde se accede con usuario y contraseña y desde donde los administradores insertan noticias u productos a la web etc , tengo este formulario.

Código:
<div id="addNoticia" class="formularios">
						<form action="admin" method="POST" enctype="multipart/form-data">
							<h2> Añadir Noticia</h2>
							<table>
								<tr>
									<td><label> Titulo: </label></td><td><input type="text" name="titulo" id="titulo"></td>
								</tr>
								<tr>
									<td><label> Contenido: </label></td><td><textarea name="contenidoNoticia" id="contenidoNoticia" cols="40" rows="5"></textarea></td>
								</tr>
								<tr>
									<td><label> Imagen: </label></td><td><input type="file" name="imagenNoticia" id="imagenNoticia"></td>
								</tr>
								<tr><td colspan="2"><input type="submit" name="añadirNot" value="Añadir" class="añadir"></input></td></tr>
							</table>
						</form>
					</div>
En el mismo archivo en la parte de PHP tengo:

Código:
if(isset($_POST['añadirNot'])){
					while($registro4 = $resultado4->fetch(PDO::FETCH_OBJ)){
						if($registro4->titulo == $_POST['titulo']){$existe_Not = true;}
					}
					if(!$existe_Not){
						$sqlInsert2 = "INSERT INTO noticias (titulo,contenido,fecha_entrada,imagen) VALUES (:titulo,:contenido,:fecha,:imagen)";
						
						$fecha = date('d/m/y');
						$imagenNoticia = $_FILES["imagenNoticia"]['name'];
						
						$consulta2 = $conectar->prepare($sqlInsert2);
						$consulta2 -> bindParam(':titulo',$_POST['titulo']);
						$consulta2 -> bindParam(':contenido',$_POST['contenidoNoticia']);
						$consulta2 -> bindParam(':fecha',$fecha);
						$consulta2 -> bindParam (':imagen',$_FILES["imagenNoticia"]['name']);
						$consulta2 -> execute();
						
						if ($imagenNoticia != "") {
							$destino = "img/noticias/".$imagenNoticia;
							if (copy($_FILES['imagenNoticia']['tmp_name'],$destino)) {
								$status = "Archivo subido: <b>".$_FILES["imagenNoticia"]['name']."</b>";
							}
						} 
					}
				}
Y luego en el archivo de la noticia individual que es donde quiero que se vea el texto separado tengo :

Código:
<div id="contenedor">
	<?php require_once("include/cabecera.php");
$sql = "SELECT * from noticias where titulo ='".$not."'";
$resultado = $conectar->query($sql);
$registro = $resultado->FETCH(PDO::FETCH_OBJ);
	?>
	<div id="contenido">
<?php
	echo '<h1 id="titulo">'.$registro->titulo.'</h1>';
	echo '<div id="textoNoticia">';
echo '<img src="img/noticias/'.$registro->imagen.'" id="noticiaInd" alt="'.$registro->titulo.'" title="'.$registro->titulo.'"/>';
echo '<p>'.$registro->contenido.'</p>';
	echo '</div>';	
?>
	</div>
	<?php require_once("include/piePagina.php");?>
</div>
No incluyo el codigo de el archivo noticias que es donde en vez de salir el texto entero salen solo los primeros 350 caracteres el titulo y la imagen en pequeño porque creo que no es necesario y es mucho rollo ya...

Si alguno me puede decir basicamente como en este caso hago para que el textarea me guarde saltos de linea y demas como yo lo escribo en el se lo agradeceria!

Gracias.
  #2 (permalink)  
Antiguo 07/04/2015, 06:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Maquetación textarea

Al momento de imprimir debes transformar los saltos de linea (\n) en sus correspondientes de HTML <br>, la función nl2br() es para eso, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/04/2015, 06:48
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Respuesta: Maquetación textarea

Muchas gracias!

Ya había encontrado por ahí la función pero no había conseguido que me funcionara y ya por fin salio.

Ahora desde la parte de admin puedo insertar mi noticia con su imagen,titulo y el contenido en el textarea respetando los saltos de linea.

Para el que le interese simplemente he tenido que hacer esto:

Código:
echo nl2br($registro->contenido);
  #4 (permalink)  
Antiguo 07/04/2015, 07:52
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Maquetación textarea

¿No compruebas el formato ni el peso del archivo subido?
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: fecha, formulario, registro, select, sql, textarea
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 11:13.